refact: require_attrs_names -> require_attrs_names_unsorted
(cherry picked from commit 13a3adf4f17351bc6ba3d91567a642ec1ae704f6)
This commit is contained in:
parent
22d2b3e6f3
commit
237a2281c1
1 changed files with 7 additions and 7 deletions
|
|
@ -210,7 +210,7 @@ impl EvalState {
|
|||
}
|
||||
/// Evaluate, and require that the value is an attrset.
|
||||
/// Returns a list of the keys in the attrset.
|
||||
pub fn require_attrs_names(&mut self, v: &Value) -> Result<Vec<String>> {
|
||||
pub fn require_attrs_names_unsorted(&mut self, v: &Value) -> Result<Vec<String>> {
|
||||
let t = self.value_type(v)?;
|
||||
if t != ValueType::AttrSet {
|
||||
bail!("expected an attrset, but got a {:?}", t);
|
||||
|
|
@ -729,34 +729,34 @@ mod tests {
|
|||
es.force(&v).unwrap();
|
||||
let t = es.value_type_unforced(&v);
|
||||
assert!(t == Some(ValueType::AttrSet));
|
||||
let attrs = es.require_attrs_names(&v).unwrap();
|
||||
let attrs = es.require_attrs_names_unsorted(&v).unwrap();
|
||||
assert_eq!(attrs.len(), 0);
|
||||
})
|
||||
.unwrap()
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn eval_state_require_attrs_names_forces_thunk() {
|
||||
fn eval_state_require_attrs_names_unsorted_forces_thunk() {
|
||||
gc_registering_current_thread(|| {
|
||||
let store = Store::open("auto", HashMap::new()).unwrap();
|
||||
let mut es = EvalState::new(store, []).unwrap();
|
||||
let v = make_thunk(&mut es, "{ a = 1; b = 2; }");
|
||||
let t = es.value_type_unforced(&v);
|
||||
assert!(t == None);
|
||||
let attrs = es.require_attrs_names(&v).unwrap();
|
||||
let attrs = es.require_attrs_names_unsorted(&v).unwrap();
|
||||
assert_eq!(attrs.len(), 2);
|
||||
})
|
||||
.unwrap()
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn eval_state_require_attrs_names_bad_type() {
|
||||
fn eval_state_require_attrs_names_unsorted_bad_type() {
|
||||
gc_registering_current_thread(|| {
|
||||
let store = Store::open("auto", HashMap::new()).unwrap();
|
||||
let mut es = EvalState::new(store, []).unwrap();
|
||||
let v = es.eval_from_string("1", "<test>").unwrap();
|
||||
es.force(&v).unwrap();
|
||||
let r = es.require_attrs_names(&v);
|
||||
let r = es.require_attrs_names_unsorted(&v);
|
||||
assert!(r.is_err());
|
||||
assert_eq!(
|
||||
r.unwrap_err().to_string(),
|
||||
|
|
@ -773,7 +773,7 @@ mod tests {
|
|||
let mut es = EvalState::new(store, []).unwrap();
|
||||
let expr = r#"{ a = throw "nope a"; b = throw "nope b"; }"#;
|
||||
let v = es.eval_from_string(expr, "<test>").unwrap();
|
||||
let attrs = es.require_attrs_names(&v).unwrap();
|
||||
let attrs = es.require_attrs_names_unsorted(&v).unwrap();
|
||||
assert_eq!(attrs.len(), 2);
|
||||
assert_eq!(attrs[0], "a");
|
||||
assert_eq!(attrs[1], "b");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue