diff --git a/src/util/util.ts b/src/util/util.ts index 1646107..e148e77 100644 --- a/src/util/util.ts +++ b/src/util/util.ts @@ -80,7 +80,7 @@ function arrayEquals(a: string[] = [], b: string[] = []): boolean { // array2DEquals determines whether two 2-dimensional string arrays are identical. function array2DEquals(a: string[][] = [], b: string[][] = []): boolean { const aLen = a.length; - const bLen = a.length; + const bLen = b.length; if (aLen !== bLen) { return false; } diff --git a/test/util.test.ts b/test/util.test.ts index d5b9509..a7bf769 100644 --- a/test/util.test.ts +++ b/test/util.test.ts @@ -372,3 +372,12 @@ test('test escapeAssertion', () => { ); expect(util.escapeAssertion(`r.obj == "a\\"/p.b" || p.obj == '/r.c'`)).toEqual(`r_obj == "a\\"/p.b" || p_obj == '/r.c'`); }); + +test('array2DEquals compares both outer lengths', () => { + expect(util.array2DEquals([], [['alice', 'data1', 'read']])).toBe(false); + expect(util.array2DEquals([['alice']], [['alice'], ['bob']])).toBe(false); + expect(util.array2DEquals([['alice'], ['bob']], [['alice']])).toBe(false); + expect(util.array2DEquals([[]], [])).toBe(false); + expect(util.array2DEquals([], [[]])).toBe(false); + expect(util.array2DEquals([['alice']], [['alice']])).toBe(true); +});