diff --git a/.gitignore b/.gitignore index 216e4da7..59a2a028 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ node_modules npm-debug.log docs/ build/ +*.log diff --git a/test/operators/expression/set.test.ts b/test/operators/expression/set.test.ts index 552aea63..a2a01490 100644 --- a/test/operators/expression/set.test.ts +++ b/test/operators/expression/set.test.ts @@ -97,6 +97,16 @@ runTest("EdgeCases", { [1, 2] ], true + ], + // non-primitive: subset with extra elements (HashMap early termination) + [[[{ a: 1 }], [{ a: 1 }, { a: 2 }]], true], + // non-primitive: not a subset + [ + [ + [{ a: 1 }, { a: 3 }], + [{ a: 1 }, { a: 2 }] + ], + false ] ], $setEquals: [ @@ -123,7 +133,17 @@ runTest("EdgeCases", { [1, 2] ], true - ] + ], + // non-primitive: equal object arrays (HashMap path) + [ + [ + [{ a: 1 }, { b: 2 }], + [{ b: 2 }, { a: 1 }] + ], + true + ], + // non-primitive: different sizes (HashMap path) + [[[{ a: 1 }, { b: 2 }], [{ a: 1 }]], false] ] });