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

difftreelog

test extra removeKey oop test from sjsonnet

spmtlvzxYaroslav Bolyukin2026-02-08parent: #a87f41a.patch.diff
in: master

1 file changed

addedtests/suite/remove_key_oop.jsonnetdiffbeforeafterboth
after · tests/suite/remove_key_oop.jsonnet
1// objectRemoveKey should retain hidden fields as hidden fields.2std.assertEqual(std.objectRemoveKey({ foo: 1, bar: 2, baz:: 3 }, 'foo').baz, 3) &&3// objectRemoveKey doesn't break inheritance within the provided object.4std.assertEqual(std.objectRemoveKey({ a: 1 } + { b: super.a }, 'a'), { b: 1 }) &&5// objectRemoveKey works with inheritance outside of the object.6std.assertEqual({ a: 1 } + std.objectRemoveKey({ b: super.a }, 'a'), { a: 1, b: 1 }) &&7// Referential transparency still works.8std.assertEqual(local o1 = { b: super.a }; std.objectRemoveKey({ a: 1 } + o1, 'a'), { b: 1 }) &&9std.assertEqual(local o1 = { b: super.a }; { a: 1 } + std.objectRemoveKey(o1, 'a'), { a: 1, b: 1 }) &&10// Hidden fields still work.11std.assertEqual(std.objectRemoveKey({ a: 1 } + { b:: super.a }, 'a'), {}) &&12std.assertEqual(std.objectRemoveKey({ a: 1 } + { b:: super.a }, 'a').b, 1) &&13std.assertEqual(({ a: 1 } + std.objectRemoveKey({ b:: super.a }, 'a')), { a: 1 }) &&14std.assertEqual(({ a: 1 } + std.objectRemoveKey({ b:: super.a }, 'a')).b, 1) &&15true