git.delta.rocks / jrsonnet / refs/commits / c420c56a5e63

difftreelog

test golden destruct

syszwlmvYaroslav Bolyukin2026-04-25parent: #864d125.patch.diff
in: master

11 files changed

addedtests/golden_destruct/mutual_recursive_cross.jsonnetdiffbeforeafterboth
--- /dev/null
+++ b/tests/golden_destruct/mutual_recursive_cross.jsonnet
@@ -0,0 +1,4 @@
+local
+  {a, b, c} = {a: y, b: c, c: x},
+  {x, y, z} = {x: a, y: 2, z: b};
+z == 2
addedtests/golden_destruct/mutual_recursive_fields.jsonnetdiffbeforeafterboth
--- /dev/null
+++ b/tests/golden_destruct/mutual_recursive_fields.jsonnet
@@ -0,0 +1 @@
+local {a, b, c} = {a: b+1, b:c+1,c:3}; a
addedtests/golden_destruct/mutual_recursive_locals.jsonnetdiffbeforeafterboth
--- /dev/null
+++ b/tests/golden_destruct/mutual_recursive_locals.jsonnet
@@ -0,0 +1 @@
+local {a= b+1, b = c+1, c = 3} = {}; a
addedtests/golden_destruct/omit.jsonnetdiffbeforeafterboth
--- /dev/null
+++ b/tests/golden_destruct/omit.jsonnet
@@ -0,0 +1,2 @@
+// ...rest works like removeField, but freezes the object core so it still can access the fields
+local {a, b, ...c} = {a: 1, b: 2, c: self.a, d: self.b}; c
addedtests/golden_destruct/params.jsonnetdiffbeforeafterboth
--- /dev/null
+++ b/tests/golden_destruct/params.jsonnet
@@ -0,0 +1,3 @@
+local myFun({a, b, c}) = a + b + c;
+
+myFun({a: 1, b: 2, c: 3})
modifiedtests/tests/golden.rsdiffbeforeafterboth
--- a/tests/tests/golden.rs
+++ b/tests/tests/golden.rs
@@ -55,3 +55,13 @@
 		assert_snapshot!(result);
 	});
 }
+
+#[test]
+#[cfg(feature = "exp-destruct")]
+fn golden_destruct() {
+	glob!("../", "golden_destruct/*.jsonnet", |path| {
+		let result = run(path);
+
+		assert_snapshot!(result);
+	});
+}
addedtests/tests/snapshots/golden__golden_destruct@mutual_recursive_cross.jsonnet.snapdiffbeforeafterboth
--- /dev/null
+++ b/tests/tests/snapshots/golden__golden_destruct@mutual_recursive_cross.jsonnet.snap
@@ -0,0 +1,6 @@
+---
+source: tests/tests/golden.rs
+expression: result
+input_file: tests/golden_destruct/mutual_recursive_cross.jsonnet
+---
+true
addedtests/tests/snapshots/golden__golden_destruct@mutual_recursive_fields.jsonnet.snapdiffbeforeafterboth

no changes

addedtests/tests/snapshots/golden__golden_destruct@mutual_recursive_locals.jsonnet.snapdiffbeforeafterboth
--- /dev/null
+++ b/tests/tests/snapshots/golden__golden_destruct@mutual_recursive_locals.jsonnet.snap
@@ -0,0 +1,6 @@
+---
+source: tests/tests/golden.rs
+expression: result
+input_file: tests/golden_destruct/mutual_recursive_locals.jsonnet
+---
+5
addedtests/tests/snapshots/golden__golden_destruct@omit.jsonnet.snapdiffbeforeafterboth
--- /dev/null
+++ b/tests/tests/snapshots/golden__golden_destruct@omit.jsonnet.snap
@@ -0,0 +1,9 @@
+---
+source: tests/tests/golden.rs
+expression: result
+input_file: tests/golden_destruct/omit.jsonnet
+---
+{
+    "c": 1,
+    "d": 2
+}
addedtests/tests/snapshots/golden__golden_destruct@params.jsonnet.snapdiffbeforeafterboth
--- /dev/null
+++ b/tests/tests/snapshots/golden__golden_destruct@params.jsonnet.snap
@@ -0,0 +1,6 @@
+---
+source: tests/tests/golden.rs
+expression: result
+input_file: tests/golden_destruct/params.jsonnet
+---
+6