Test IndexedDB keys ordering and readback from cursors.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
dbname = "cursor-key-order.html"
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
db.createObjectStore('store')
populating store...
trans = db.transaction('store', 'readwrite', {durability: 'relaxed'})
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', {durability: 'relaxed'})
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