···1717 assertEquals(identify([1, 2, 3]), identify([1, 2, 3]));
1818});
19192020-Deno.test.ignore('arrays :: order is insignificant', () => {
2121- assertEquals(identify([3, 2, 1]), identify([1, 2, 3]));
2020+Deno.test('arrays :: order is significant', () => {
2121+ assertNotEquals(identify([3, 2, 1]), identify([1, 2, 3]));
2222});
23232424Deno.test('arrays :: nested', () => {
···8989 assertEquals(identify(a), identify(a));
9090});
91919292-// TODO: Right now they do match, because the o1 lookup is the same as o2
9393-// as the reference is still the same, so the weakmap is the same
9292+// Known limitation: cycle detection keys off object reference identity, so two
9393+// structurally-different cyclic shapes that share a referenced node can collapse
9494+// to the same identity. Left ignored until the circular-handling overhaul.
9495Deno.test.ignore('objects :: with samey circular should not match', () => {
9596 const o1: any = { a: 1, b: 2 };
9697 const o2: any = { a: 1, b: 2 };
···116117 assertEquals(identify({ a: 'b' }), identify(new Map([['a', 'b']])));
117118});
118119119119-Deno.test.ignore('sets :: order is insignificant', () => {
120120+Deno.test('sets :: order is significant', () => {
120121 assertNotEquals(
121122 identify(new Set([1, 2, 3])),
122123 identify(new Set([3, 2, 1])),
123124 );
124125});
125126126126-Deno.test.ignore('sets :: order is insignificant for object members', () => {
127127+Deno.test('sets :: order is significant for object members', () => {
127128 assertNotEquals(
128129 identify(new Set([{ a: 'a' }, { b: 'b' }])),
129130 identify(new Set([{ b: 'b' }, { a: 'a' }])),
···183184 t(123);
184185 t(null);
185186 t(undefined);
186186- // TODO: Solve for symbols
187187- // t(Symbol());
188188- // t(Symbol("test"));
189187});
190188191189Deno.test('values :: throws on unsupported builtins', () => {