difftreelog
test std-param-names should work with exp-preserve-order
in: master
4 files changed
crates/jrsonnet-evaluator/src/val.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/val.rs
+++ b/crates/jrsonnet-evaluator/src/val.rs
@@ -616,6 +616,11 @@
Self::Obj(value)
}
}
+impl From<bool> for Val {
+ fn from(value: bool) -> Self {
+ Self::Bool(value)
+ }
+}
const fn is_function_like(val: &Val) -> bool {
matches!(val, Val::Func(_))
tests/Cargo.tomldiffbeforeafterboth--- a/tests/Cargo.toml
+++ b/tests/Cargo.toml
@@ -6,10 +6,12 @@
[features]
default = ["ir-parser"]
+experimental = ["exp-destruct", "exp-null-coaelse", "exp-preserve-order"]
ir-parser = ["jrsonnet-evaluator/ir-parser"]
peg-parser = ["jrsonnet-evaluator/peg-parser"]
exp-destruct = ["jrsonnet-evaluator/exp-destruct"]
exp-null-coaelse = ["jrsonnet-evaluator/exp-null-coaelse"]
+exp-preserve-order = ["jrsonnet-stdlib/exp-preserve-order"]
[lints]
workspace = true
tests/suite/std_param_names.jsonnetdiffbeforeafterboth170 deg2rad: ['x'],170 deg2rad: ['x'],171 rad2deg: ['x'],171 rad2deg: ['x'],172 hypot: ['x', 'y'],172 hypot: ['x', 'y'],173};173} + (if test.expPreserveOrder then {174 manifestIni+: ['preserve_order'],175 manifestJson+: ['preserve_order'],176 manifestJsonEx+: ['preserve_order'],177 manifestJsonMinified+: ['preserve_order'],178 manifestPython+: ['preserve_order'],179 manifestPythonVars+: ['preserve_order'],180 manifestToml+: ['preserve_order'],181 manifestTomlEx+: ['preserve_order'],182 manifestYamlDoc+: ['preserve_order'],183 manifestYamlStream+: ['preserve_order'],184 objectFields+: ['preserve_order'],185 objectFieldsAll+: ['preserve_order'],186 objectFieldsEx+: ['preserve_order'],187 objectKeysValues+: ['preserve_order'],188 objectKeysValuesAll+: ['preserve_order'],189 objectValues+: ['preserve_order'],190 objectValuesAll+: ['preserve_order'],191 prune+: ['preserve_order'],192} else {});174193175std.all(std.map(function(key) assertNames(key, names[key]), std.objectFields(names)))194std.all(std.map(function(key) assertNames(key, names[key]), std.objectFields(names)))176&& std.all([195&& std.all([tests/tests/common.rsdiffbeforeafterboth--- a/tests/tests/common.rs
+++ b/tests/tests/common.rs
@@ -71,6 +71,8 @@
let mut bobj = ObjValueBuilder::new();
bobj.method("assertThrow", assert_throw {});
bobj.method("paramNames", param_names {});
+ bobj.field("expPreserveOrder")
+ .value(cfg!(feature = "exp-preserve-order"));
builder.bind("test", Thunk::evaluated(Val::Obj(bobj.build())));
}