Test IndexedDB keys ordering and readback from cursors. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; indexedDB.deleteDatabase(dbname) indexedDB.open(dbname) db.createObjectStore('store') populating store... trans = db.transaction('store', 'readwrite') store = trans.objectStore('store'); store.put(0, -Infinity) store.put(1, -Number.MAX_VALUE) store.put(2, -1) store.put(3, -Number.MIN_VALUE) store.put(4, 0) store.put(5, Number.MIN_VALUE) store.put(6, 1) store.put(7, Number.MAX_VALUE) store.put(8, Infinity) store.put(9, new Date(0)) store.put(10, new Date(1000)) store.put(11, new Date(1317399931023)) store.put(12, '') store.put(13, '') store.put(14, 'a') store.put(15, 'aa') store.put(16, 'b') store.put(17, 'ba') store.put(18, '¢') store.put(19, '水') store.put(20, '𝄞') store.put(21, '�') store.put(22, []) store.put(23, [-Infinity]) store.put(24, [-Number.MAX_VALUE]) store.put(25, [-1]) store.put(26, [-Number.MIN_VALUE]) store.put(27, [0]) store.put(28, [Number.MIN_VALUE]) store.put(29, [1]) store.put(30, [Number.MAX_VALUE]) store.put(31, [Infinity]) store.put(32, [new Date(0)]) store.put(33, [new Date(1000)]) store.put(34, [new Date(1317399931023)]) store.put(35, ['']) store.put(36, ['']) store.put(37, ['a']) store.put(38, ['aa']) store.put(39, ['b']) store.put(40, ['ba']) store.put(41, ['¢']) store.put(42, ['水']) store.put(43, ['𝄞']) store.put(44, ['�']) store.put(45, [[]]) store.put(46, [[], []]) store.put(47, [[], [], []]) store.put(48, [[[]]]) store.put(49, [[[[]]]]) iterating cursor... trans = db.transaction('store', 'readonly') store = trans.objectStore('store'); count = 0 curreq = store.openCursor() cursor = curreq.result PASS compare(cursor.key, -Infinity) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, -Number.MAX_VALUE) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, -1) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, -Number.MIN_VALUE) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, 0) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, Number.MIN_VALUE) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, 1) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, Number.MAX_VALUE) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, Infinity) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, new Date(0)) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, new Date(1000)) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, new Date(1317399931023)) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, '') is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, '\0') is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, 'a') is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, 'aa') is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, 'b') is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, 'ba') is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, '¢') is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, '水') is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, '𝄞') is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, '�') is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, []) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [-Infinity]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [-Number.MAX_VALUE]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [-1]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [-Number.MIN_VALUE]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [0]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [Number.MIN_VALUE]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [1]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [Number.MAX_VALUE]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [Infinity]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [new Date(0)]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [new Date(1000)]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [new Date(1317399931023)]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, ['']) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, ['\0']) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, ['a']) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, ['aa']) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, ['b']) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, ['ba']) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, ['¢']) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, ['水']) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, ['𝄞']) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, ['�']) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [[]]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [[], []]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [[], [], []]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [[[]]]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ cursor = curreq.result PASS compare(cursor.key, [[[[]]]]) is true getreq = store.get(cursor.key) PASS getreq.result is count++ PASS count is keys.length validate compare function PASS compare(undefined, undefined) is true PASS compare(undefined, true) is false PASS compare(undefined, false) is false PASS compare(undefined, 0) is false PASS compare(undefined, -0) is false PASS compare(undefined, 123) is false PASS compare(undefined, Infinity) is false PASS compare(undefined, -Infinity) is false PASS compare(undefined, NaN) is false PASS compare(undefined, '') is false PASS compare(undefined, 'abc') is false PASS compare(undefined, 'xyz') is false PASS compare(undefined, new Date(0)) is false PASS compare(undefined, new Date(1e3)) is false PASS compare(undefined, new Date(1e9)) is false PASS compare(undefined, []) is false PASS compare(undefined, [123]) is false PASS compare(undefined, ['abc']) is false PASS compare(undefined, [123, 'abc']) is false PASS compare(undefined, ['abc', 123]) is false PASS compare(undefined, [[]]) is false PASS compare(undefined, [[123]]) is false PASS compare(undefined, [['abc']]) is false PASS compare(undefined, [[123], 'abc']) is false PASS compare(undefined, [[123], 123]) is false PASS compare(true, undefined) is false PASS compare(true, true) is true PASS compare(true, false) is false PASS compare(true, 0) is false PASS compare(true, -0) is false PASS compare(true, 123) is false PASS compare(true, Infinity) is false PASS compare(true, -Infinity) is false PASS compare(true, NaN) is false PASS compare(true, '') is false PASS compare(true, 'abc') is false PASS compare(true, 'xyz') is false PASS compare(true, new Date(0)) is false PASS compare(true, new Date(1e3)) is false PASS compare(true, new Date(1e9)) is false PASS compare(true, []) is false PASS compare(true, [123]) is false PASS compare(true, ['abc']) is false PASS compare(true, [123, 'abc']) is false PASS compare(true, ['abc', 123]) is false PASS compare(true, [[]]) is false PASS compare(true, [[123]]) is false PASS compare(true, [['abc']]) is false PASS compare(true, [[123], 'abc']) is false PASS compare(true, [[123], 123]) is false PASS compare(false, undefined) is false PASS compare(false, true) is false PASS compare(false, false) is true PASS compare(false, 0) is false PASS compare(false, -0) is false PASS compare(false, 123) is false PASS compare(false, Infinity) is false PASS compare(false, -Infinity) is false PASS compare(false, NaN) is false PASS compare(false, '') is false PASS compare(false, 'abc') is false PASS compare(false, 'xyz') is false PASS compare(false, new Date(0)) is false PASS compare(false, new Date(1e3)) is false PASS compare(false, new Date(1e9)) is false PASS compare(false, []) is false PASS compare(false, [123]) is false PASS compare(false, ['abc']) is false PASS compare(false, [123, 'abc']) is false PASS compare(false, ['abc', 123]) is false PASS compare(false, [[]]) is false PASS compare(false, [[123]]) is false PASS compare(false, [['abc']]) is false PASS compare(false, [[123], 'abc']) is false PASS compare(false, [[123], 123]) is false PASS compare(0, undefined) is false PASS compare(0, true) is false PASS compare(0, false) is false PASS compare(0, 0) is true PASS compare(0, -0) is false PASS compare(0, 123) is false PASS compare(0, Infinity) is false PASS compare(0, -Infinity) is false PASS compare(0, NaN) is false PASS compare(0, '') is false PASS compare(0, 'abc') is false PASS compare(0, 'xyz') is false PASS compare(0, new Date(0)) is false PASS compare(0, new Date(1e3)) is false PASS compare(0, new Date(1e9)) is false PASS compare(0, []) is false PASS compare(0, [123]) is false PASS compare(0, ['abc']) is false PASS compare(0, [123, 'abc']) is false PASS compare(0, ['abc', 123]) is false PASS compare(0, [[]]) is false PASS compare(0, [[123]]) is false PASS compare(0, [['abc']]) is false PASS compare(0, [[123], 'abc']) is false PASS compare(0, [[123], 123]) is false PASS compare(-0, undefined) is false PASS compare(-0, true) is false PASS compare(-0, false) is false PASS compare(-0, 0) is false PASS compare(-0, -0) is true PASS compare(-0, 123) is false PASS compare(-0, Infinity) is false PASS compare(-0, -Infinity) is false PASS compare(-0, NaN) is false PASS compare(-0, '') is false PASS compare(-0, 'abc') is false PASS compare(-0, 'xyz') is false PASS compare(-0, new Date(0)) is false PASS compare(-0, new Date(1e3)) is false PASS compare(-0, new Date(1e9)) is false PASS compare(-0, []) is false PASS compare(-0, [123]) is false PASS compare(-0, ['abc']) is false PASS compare(-0, [123, 'abc']) is false PASS compare(-0, ['abc', 123]) is false PASS compare(-0, [[]]) is false PASS compare(-0, [[123]]) is false PASS compare(-0, [['abc']]) is false PASS compare(-0, [[123], 'abc']) is false PASS compare(-0, [[123], 123]) is false PASS compare(123, undefined) is false PASS compare(123, true) is false PASS compare(123, false) is false PASS compare(123, 0) is false PASS compare(123, -0) is false PASS compare(123, 123) is true PASS compare(123, Infinity) is false PASS compare(123, -Infinity) is false PASS compare(123, NaN) is false PASS compare(123, '') is false PASS compare(123, 'abc') is false PASS compare(123, 'xyz') is false PASS compare(123, new Date(0)) is false PASS compare(123, new Date(1e3)) is false PASS compare(123, new Date(1e9)) is false PASS compare(123, []) is false PASS compare(123, [123]) is false PASS compare(123, ['abc']) is false PASS compare(123, [123, 'abc']) is false PASS compare(123, ['abc', 123]) is false PASS compare(123, [[]]) is false PASS compare(123, [[123]]) is false PASS compare(123, [['abc']]) is false PASS compare(123, [[123], 'abc']) is false PASS compare(123, [[123], 123]) is false PASS compare(Infinity, undefined) is false PASS compare(Infinity, true) is false PASS compare(Infinity, false) is false PASS compare(Infinity, 0) is false PASS compare(Infinity, -0) is false PASS compare(Infinity, 123) is false PASS compare(Infinity, Infinity) is true PASS compare(Infinity, -Infinity) is false PASS compare(Infinity, NaN) is false PASS compare(Infinity, '') is false PASS compare(Infinity, 'abc') is false PASS compare(Infinity, 'xyz') is false PASS compare(Infinity, new Date(0)) is false PASS compare(Infinity, new Date(1e3)) is false PASS compare(Infinity, new Date(1e9)) is false PASS compare(Infinity, []) is false PASS compare(Infinity, [123]) is false PASS compare(Infinity, ['abc']) is false PASS compare(Infinity, [123, 'abc']) is false PASS compare(Infinity, ['abc', 123]) is false PASS compare(Infinity, [[]]) is false PASS compare(Infinity, [[123]]) is false PASS compare(Infinity, [['abc']]) is false PASS compare(Infinity, [[123], 'abc']) is false PASS compare(Infinity, [[123], 123]) is false PASS compare(-Infinity, undefined) is false PASS compare(-Infinity, true) is false PASS compare(-Infinity, false) is false PASS compare(-Infinity, 0) is false PASS compare(-Infinity, -0) is false PASS compare(-Infinity, 123) is false PASS compare(-Infinity, Infinity) is false PASS compare(-Infinity, -Infinity) is true PASS compare(-Infinity, NaN) is false PASS compare(-Infinity, '') is false PASS compare(-Infinity, 'abc') is false PASS compare(-Infinity, 'xyz') is false PASS compare(-Infinity, new Date(0)) is false PASS compare(-Infinity, new Date(1e3)) is false PASS compare(-Infinity, new Date(1e9)) is false PASS compare(-Infinity, []) is false PASS compare(-Infinity, [123]) is false PASS compare(-Infinity, ['abc']) is false PASS compare(-Infinity, [123, 'abc']) is false PASS compare(-Infinity, ['abc', 123]) is false PASS compare(-Infinity, [[]]) is false PASS compare(-Infinity, [[123]]) is false PASS compare(-Infinity, [['abc']]) is false PASS compare(-Infinity, [[123], 'abc']) is false PASS compare(-Infinity, [[123], 123]) is false PASS compare(NaN, undefined) is false PASS compare(NaN, true) is false PASS compare(NaN, false) is false PASS compare(NaN, 0) is false PASS compare(NaN, -0) is false PASS compare(NaN, 123) is false PASS compare(NaN, Infinity) is false PASS compare(NaN, -Infinity) is false PASS compare(NaN, NaN) is true PASS compare(NaN, '') is false PASS compare(NaN, 'abc') is false PASS compare(NaN, 'xyz') is false PASS compare(NaN, new Date(0)) is false PASS compare(NaN, new Date(1e3)) is false PASS compare(NaN, new Date(1e9)) is false PASS compare(NaN, []) is false PASS compare(NaN, [123]) is false PASS compare(NaN, ['abc']) is false PASS compare(NaN, [123, 'abc']) is false PASS compare(NaN, ['abc', 123]) is false PASS compare(NaN, [[]]) is false PASS compare(NaN, [[123]]) is false PASS compare(NaN, [['abc']]) is false PASS compare(NaN, [[123], 'abc']) is false PASS compare(NaN, [[123], 123]) is false PASS compare('', undefined) is false PASS compare('', true) is false PASS compare('', false) is false PASS compare('', 0) is false PASS compare('', -0) is false PASS compare('', 123) is false PASS compare('', Infinity) is false PASS compare('', -Infinity) is false PASS compare('', NaN) is false PASS compare('', '') is true PASS compare('', 'abc') is false PASS compare('', 'xyz') is false PASS compare('', new Date(0)) is false PASS compare('', new Date(1e3)) is false PASS compare('', new Date(1e9)) is false PASS compare('', []) is false PASS compare('', [123]) is false PASS compare('', ['abc']) is false PASS compare('', [123, 'abc']) is false PASS compare('', ['abc', 123]) is false PASS compare('', [[]]) is false PASS compare('', [[123]]) is false PASS compare('', [['abc']]) is false PASS compare('', [[123], 'abc']) is false PASS compare('', [[123], 123]) is false PASS compare('abc', undefined) is false PASS compare('abc', true) is false PASS compare('abc', false) is false PASS compare('abc', 0) is false PASS compare('abc', -0) is false PASS compare('abc', 123) is false PASS compare('abc', Infinity) is false PASS compare('abc', -Infinity) is false PASS compare('abc', NaN) is false PASS compare('abc', '') is false PASS compare('abc', 'abc') is true PASS compare('abc', 'xyz') is false PASS compare('abc', new Date(0)) is false PASS compare('abc', new Date(1e3)) is false PASS compare('abc', new Date(1e9)) is false PASS compare('abc', []) is false PASS compare('abc', [123]) is false PASS compare('abc', ['abc']) is false PASS compare('abc', [123, 'abc']) is false PASS compare('abc', ['abc', 123]) is false PASS compare('abc', [[]]) is false PASS compare('abc', [[123]]) is false PASS compare('abc', [['abc']]) is false PASS compare('abc', [[123], 'abc']) is false PASS compare('abc', [[123], 123]) is false PASS compare('xyz', undefined) is false PASS compare('xyz', true) is false PASS compare('xyz', false) is false PASS compare('xyz', 0) is false PASS compare('xyz', -0) is false PASS compare('xyz', 123) is false PASS compare('xyz', Infinity) is false PASS compare('xyz', -Infinity) is false PASS compare('xyz', NaN) is false PASS compare('xyz', '') is false PASS compare('xyz', 'abc') is false PASS compare('xyz', 'xyz') is true PASS compare('xyz', new Date(0)) is false PASS compare('xyz', new Date(1e3)) is false PASS compare('xyz', new Date(1e9)) is false PASS compare('xyz', []) is false PASS compare('xyz', [123]) is false PASS compare('xyz', ['abc']) is false PASS compare('xyz', [123, 'abc']) is false PASS compare('xyz', ['abc', 123]) is false PASS compare('xyz', [[]]) is false PASS compare('xyz', [[123]]) is false PASS compare('xyz', [['abc']]) is false PASS compare('xyz', [[123], 'abc']) is false PASS compare('xyz', [[123], 123]) is false PASS compare(new Date(0), undefined) is false PASS compare(new Date(0), true) is false PASS compare(new Date(0), false) is false PASS compare(new Date(0), 0) is false PASS compare(new Date(0), -0) is false PASS compare(new Date(0), 123) is false PASS compare(new Date(0), Infinity) is false PASS compare(new Date(0), -Infinity) is false PASS compare(new Date(0), NaN) is false PASS compare(new Date(0), '') is false PASS compare(new Date(0), 'abc') is false PASS compare(new Date(0), 'xyz') is false PASS compare(new Date(0), new Date(0)) is true PASS compare(new Date(0), new Date(1e3)) is false PASS compare(new Date(0), new Date(1e9)) is false PASS compare(new Date(0), []) is false PASS compare(new Date(0), [123]) is false PASS compare(new Date(0), ['abc']) is false PASS compare(new Date(0), [123, 'abc']) is false PASS compare(new Date(0), ['abc', 123]) is false PASS compare(new Date(0), [[]]) is false PASS compare(new Date(0), [[123]]) is false PASS compare(new Date(0), [['abc']]) is false PASS compare(new Date(0), [[123], 'abc']) is false PASS compare(new Date(0), [[123], 123]) is false PASS compare(new Date(1e3), undefined) is false PASS compare(new Date(1e3), true) is false PASS compare(new Date(1e3), false) is false PASS compare(new Date(1e3), 0) is false PASS compare(new Date(1e3), -0) is false PASS compare(new Date(1e3), 123) is false PASS compare(new Date(1e3), Infinity) is false PASS compare(new Date(1e3), -Infinity) is false PASS compare(new Date(1e3), NaN) is false PASS compare(new Date(1e3), '') is false PASS compare(new Date(1e3), 'abc') is false PASS compare(new Date(1e3), 'xyz') is false PASS compare(new Date(1e3), new Date(0)) is false PASS compare(new Date(1e3), new Date(1e3)) is true PASS compare(new Date(1e3), new Date(1e9)) is false PASS compare(new Date(1e3), []) is false PASS compare(new Date(1e3), [123]) is false PASS compare(new Date(1e3), ['abc']) is false PASS compare(new Date(1e3), [123, 'abc']) is false PASS compare(new Date(1e3), ['abc', 123]) is false PASS compare(new Date(1e3), [[]]) is false PASS compare(new Date(1e3), [[123]]) is false PASS compare(new Date(1e3), [['abc']]) is false PASS compare(new Date(1e3), [[123], 'abc']) is false PASS compare(new Date(1e3), [[123], 123]) is false PASS compare(new Date(1e9), undefined) is false PASS compare(new Date(1e9), true) is false PASS compare(new Date(1e9), false) is false PASS compare(new Date(1e9), 0) is false PASS compare(new Date(1e9), -0) is false PASS compare(new Date(1e9), 123) is false PASS compare(new Date(1e9), Infinity) is false PASS compare(new Date(1e9), -Infinity) is false PASS compare(new Date(1e9), NaN) is false PASS compare(new Date(1e9), '') is false PASS compare(new Date(1e9), 'abc') is false PASS compare(new Date(1e9), 'xyz') is false PASS compare(new Date(1e9), new Date(0)) is false PASS compare(new Date(1e9), new Date(1e3)) is false PASS compare(new Date(1e9), new Date(1e9)) is true PASS compare(new Date(1e9), []) is false PASS compare(new Date(1e9), [123]) is false PASS compare(new Date(1e9), ['abc']) is false PASS compare(new Date(1e9), [123, 'abc']) is false PASS compare(new Date(1e9), ['abc', 123]) is false PASS compare(new Date(1e9), [[]]) is false PASS compare(new Date(1e9), [[123]]) is false PASS compare(new Date(1e9), [['abc']]) is false PASS compare(new Date(1e9), [[123], 'abc']) is false PASS compare(new Date(1e9), [[123], 123]) is false PASS compare([], undefined) is false PASS compare([], true) is false PASS compare([], false) is false PASS compare([], 0) is false PASS compare([], -0) is false PASS compare([], 123) is false PASS compare([], Infinity) is false PASS compare([], -Infinity) is false PASS compare([], NaN) is false PASS compare([], '') is false PASS compare([], 'abc') is false PASS compare([], 'xyz') is false PASS compare([], new Date(0)) is false PASS compare([], new Date(1e3)) is false PASS compare([], new Date(1e9)) is false PASS compare([], []) is true PASS compare([], [123]) is false PASS compare([], ['abc']) is false PASS compare([], [123, 'abc']) is false PASS compare([], ['abc', 123]) is false PASS compare([], [[]]) is false PASS compare([], [[123]]) is false PASS compare([], [['abc']]) is false PASS compare([], [[123], 'abc']) is false PASS compare([], [[123], 123]) is false PASS compare([123], undefined) is false PASS compare([123], true) is false PASS compare([123], false) is false PASS compare([123], 0) is false PASS compare([123], -0) is false PASS compare([123], 123) is false PASS compare([123], Infinity) is false PASS compare([123], -Infinity) is false PASS compare([123], NaN) is false PASS compare([123], '') is false PASS compare([123], 'abc') is false PASS compare([123], 'xyz') is false PASS compare([123], new Date(0)) is false PASS compare([123], new Date(1e3)) is false PASS compare([123], new Date(1e9)) is false PASS compare([123], []) is false PASS compare([123], [123]) is true PASS compare([123], ['abc']) is false PASS compare([123], [123, 'abc']) is false PASS compare([123], ['abc', 123]) is false PASS compare([123], [[]]) is false PASS compare([123], [[123]]) is false PASS compare([123], [['abc']]) is false PASS compare([123], [[123], 'abc']) is false PASS compare([123], [[123], 123]) is false PASS compare(['abc'], undefined) is false PASS compare(['abc'], true) is false PASS compare(['abc'], false) is false PASS compare(['abc'], 0) is false PASS compare(['abc'], -0) is false PASS compare(['abc'], 123) is false PASS compare(['abc'], Infinity) is false PASS compare(['abc'], -Infinity) is false PASS compare(['abc'], NaN) is false PASS compare(['abc'], '') is false PASS compare(['abc'], 'abc') is false PASS compare(['abc'], 'xyz') is false PASS compare(['abc'], new Date(0)) is false PASS compare(['abc'], new Date(1e3)) is false PASS compare(['abc'], new Date(1e9)) is false PASS compare(['abc'], []) is false PASS compare(['abc'], [123]) is false PASS compare(['abc'], ['abc']) is true PASS compare(['abc'], [123, 'abc']) is false PASS compare(['abc'], ['abc', 123]) is false PASS compare(['abc'], [[]]) is false PASS compare(['abc'], [[123]]) is false PASS compare(['abc'], [['abc']]) is false PASS compare(['abc'], [[123], 'abc']) is false PASS compare(['abc'], [[123], 123]) is false PASS compare([123, 'abc'], undefined) is false PASS compare([123, 'abc'], true) is false PASS compare([123, 'abc'], false) is false PASS compare([123, 'abc'], 0) is false PASS compare([123, 'abc'], -0) is false PASS compare([123, 'abc'], 123) is false PASS compare([123, 'abc'], Infinity) is false PASS compare([123, 'abc'], -Infinity) is false PASS compare([123, 'abc'], NaN) is false PASS compare([123, 'abc'], '') is false PASS compare([123, 'abc'], 'abc') is false PASS compare([123, 'abc'], 'xyz') is false PASS compare([123, 'abc'], new Date(0)) is false PASS compare([123, 'abc'], new Date(1e3)) is false PASS compare([123, 'abc'], new Date(1e9)) is false PASS compare([123, 'abc'], []) is false PASS compare([123, 'abc'], [123]) is false PASS compare([123, 'abc'], ['abc']) is false PASS compare([123, 'abc'], [123, 'abc']) is true PASS compare([123, 'abc'], ['abc', 123]) is false PASS compare([123, 'abc'], [[]]) is false PASS compare([123, 'abc'], [[123]]) is false PASS compare([123, 'abc'], [['abc']]) is false PASS compare([123, 'abc'], [[123], 'abc']) is false PASS compare([123, 'abc'], [[123], 123]) is false PASS compare(['abc', 123], undefined) is false PASS compare(['abc', 123], true) is false PASS compare(['abc', 123], false) is false PASS compare(['abc', 123], 0) is false PASS compare(['abc', 123], -0) is false PASS compare(['abc', 123], 123) is false PASS compare(['abc', 123], Infinity) is false PASS compare(['abc', 123], -Infinity) is false PASS compare(['abc', 123], NaN) is false PASS compare(['abc', 123], '') is false PASS compare(['abc', 123], 'abc') is false PASS compare(['abc', 123], 'xyz') is false PASS compare(['abc', 123], new Date(0)) is false PASS compare(['abc', 123], new Date(1e3)) is false PASS compare(['abc', 123], new Date(1e9)) is false PASS compare(['abc', 123], []) is false PASS compare(['abc', 123], [123]) is false PASS compare(['abc', 123], ['abc']) is false PASS compare(['abc', 123], [123, 'abc']) is false PASS compare(['abc', 123], ['abc', 123]) is true PASS compare(['abc', 123], [[]]) is false PASS compare(['abc', 123], [[123]]) is false PASS compare(['abc', 123], [['abc']]) is false PASS compare(['abc', 123], [[123], 'abc']) is false PASS compare(['abc', 123], [[123], 123]) is false PASS compare([[]], undefined) is false PASS compare([[]], true) is false PASS compare([[]], false) is false PASS compare([[]], 0) is false PASS compare([[]], -0) is false PASS compare([[]], 123) is false PASS compare([[]], Infinity) is false PASS compare([[]], -Infinity) is false PASS compare([[]], NaN) is false PASS compare([[]], '') is false PASS compare([[]], 'abc') is false PASS compare([[]], 'xyz') is false PASS compare([[]], new Date(0)) is false PASS compare([[]], new Date(1e3)) is false PASS compare([[]], new Date(1e9)) is false PASS compare([[]], []) is false PASS compare([[]], [123]) is false PASS compare([[]], ['abc']) is false PASS compare([[]], [123, 'abc']) is false PASS compare([[]], ['abc', 123]) is false PASS compare([[]], [[]]) is true PASS compare([[]], [[123]]) is false PASS compare([[]], [['abc']]) is false PASS compare([[]], [[123], 'abc']) is false PASS compare([[]], [[123], 123]) is false PASS compare([[123]], undefined) is false PASS compare([[123]], true) is false PASS compare([[123]], false) is false PASS compare([[123]], 0) is false PASS compare([[123]], -0) is false PASS compare([[123]], 123) is false PASS compare([[123]], Infinity) is false PASS compare([[123]], -Infinity) is false PASS compare([[123]], NaN) is false PASS compare([[123]], '') is false PASS compare([[123]], 'abc') is false PASS compare([[123]], 'xyz') is false PASS compare([[123]], new Date(0)) is false PASS compare([[123]], new Date(1e3)) is false PASS compare([[123]], new Date(1e9)) is false PASS compare([[123]], []) is false PASS compare([[123]], [123]) is false PASS compare([[123]], ['abc']) is false PASS compare([[123]], [123, 'abc']) is false PASS compare([[123]], ['abc', 123]) is false PASS compare([[123]], [[]]) is false PASS compare([[123]], [[123]]) is true PASS compare([[123]], [['abc']]) is false PASS compare([[123]], [[123], 'abc']) is false PASS compare([[123]], [[123], 123]) is false PASS compare([['abc']], undefined) is false PASS compare([['abc']], true) is false PASS compare([['abc']], false) is false PASS compare([['abc']], 0) is false PASS compare([['abc']], -0) is false PASS compare([['abc']], 123) is false PASS compare([['abc']], Infinity) is false PASS compare([['abc']], -Infinity) is false PASS compare([['abc']], NaN) is false PASS compare([['abc']], '') is false PASS compare([['abc']], 'abc') is false PASS compare([['abc']], 'xyz') is false PASS compare([['abc']], new Date(0)) is false PASS compare([['abc']], new Date(1e3)) is false PASS compare([['abc']], new Date(1e9)) is false PASS compare([['abc']], []) is false PASS compare([['abc']], [123]) is false PASS compare([['abc']], ['abc']) is false PASS compare([['abc']], [123, 'abc']) is false PASS compare([['abc']], ['abc', 123]) is false PASS compare([['abc']], [[]]) is false PASS compare([['abc']], [[123]]) is false PASS compare([['abc']], [['abc']]) is true PASS compare([['abc']], [[123], 'abc']) is false PASS compare([['abc']], [[123], 123]) is false PASS compare([[123], 'abc'], undefined) is false PASS compare([[123], 'abc'], true) is false PASS compare([[123], 'abc'], false) is false PASS compare([[123], 'abc'], 0) is false PASS compare([[123], 'abc'], -0) is false PASS compare([[123], 'abc'], 123) is false PASS compare([[123], 'abc'], Infinity) is false PASS compare([[123], 'abc'], -Infinity) is false PASS compare([[123], 'abc'], NaN) is false PASS compare([[123], 'abc'], '') is false PASS compare([[123], 'abc'], 'abc') is false PASS compare([[123], 'abc'], 'xyz') is false PASS compare([[123], 'abc'], new Date(0)) is false PASS compare([[123], 'abc'], new Date(1e3)) is false PASS compare([[123], 'abc'], new Date(1e9)) is false PASS compare([[123], 'abc'], []) is false PASS compare([[123], 'abc'], [123]) is false PASS compare([[123], 'abc'], ['abc']) is false PASS compare([[123], 'abc'], [123, 'abc']) is false PASS compare([[123], 'abc'], ['abc', 123]) is false PASS compare([[123], 'abc'], [[]]) is false PASS compare([[123], 'abc'], [[123]]) is false PASS compare([[123], 'abc'], [['abc']]) is false PASS compare([[123], 'abc'], [[123], 'abc']) is true PASS compare([[123], 'abc'], [[123], 123]) is false PASS compare([[123], 123], undefined) is false PASS compare([[123], 123], true) is false PASS compare([[123], 123], false) is false PASS compare([[123], 123], 0) is false PASS compare([[123], 123], -0) is false PASS compare([[123], 123], 123) is false PASS compare([[123], 123], Infinity) is false PASS compare([[123], 123], -Infinity) is false PASS compare([[123], 123], NaN) is false PASS compare([[123], 123], '') is false PASS compare([[123], 123], 'abc') is false PASS compare([[123], 123], 'xyz') is false PASS compare([[123], 123], new Date(0)) is false PASS compare([[123], 123], new Date(1e3)) is false PASS compare([[123], 123], new Date(1e9)) is false PASS compare([[123], 123], []) is false PASS compare([[123], 123], [123]) is false PASS compare([[123], 123], ['abc']) is false PASS compare([[123], 123], [123, 'abc']) is false PASS compare([[123], 123], ['abc', 123]) is false PASS compare([[123], 123], [[]]) is false PASS compare([[123], 123], [[123]]) is false PASS compare([[123], 123], [['abc']]) is false PASS compare([[123], 123], [[123], 'abc']) is false PASS compare([[123], 123], [[123], 123]) is true PASS successfullyParsed is true TEST COMPLETE