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) FAIL getreq.result should be 12. Was 13. cursor = curreq.result FAIL compare(cursor.key, '\0') should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 13. Was 14. cursor = curreq.result FAIL compare(cursor.key, 'a') should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 14. Was 15. cursor = curreq.result FAIL compare(cursor.key, 'aa') should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 15. Was 16. cursor = curreq.result FAIL compare(cursor.key, 'b') should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 16. Was 17. cursor = curreq.result FAIL compare(cursor.key, 'ba') should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 17. Was 18. cursor = curreq.result FAIL compare(cursor.key, '¢') should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 18. Was 19. cursor = curreq.result FAIL compare(cursor.key, '水') should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 19. Was 20. cursor = curreq.result FAIL compare(cursor.key, '𝄞') should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 20. Was 21. cursor = curreq.result FAIL compare(cursor.key, '�') should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 21. Was 22. cursor = curreq.result FAIL compare(cursor.key, []) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 22. Was 23. cursor = curreq.result FAIL compare(cursor.key, [-Infinity]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 23. Was 24. cursor = curreq.result FAIL compare(cursor.key, [-Number.MAX_VALUE]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 24. Was 25. cursor = curreq.result FAIL compare(cursor.key, [-1]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 25. Was 26. cursor = curreq.result FAIL compare(cursor.key, [-Number.MIN_VALUE]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 26. Was 27. cursor = curreq.result FAIL compare(cursor.key, [0]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 27. Was 28. cursor = curreq.result FAIL compare(cursor.key, [Number.MIN_VALUE]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 28. Was 29. cursor = curreq.result FAIL compare(cursor.key, [1]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 29. Was 30. cursor = curreq.result FAIL compare(cursor.key, [Number.MAX_VALUE]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 30. Was 31. cursor = curreq.result FAIL compare(cursor.key, [Infinity]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 31. Was 32. cursor = curreq.result FAIL compare(cursor.key, [new Date(0)]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 32. Was 33. cursor = curreq.result FAIL compare(cursor.key, [new Date(1000)]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 33. Was 34. cursor = curreq.result FAIL compare(cursor.key, [new Date(1317399931023)]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 34. Was 36. cursor = curreq.result FAIL compare(cursor.key, ['']) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 35. Was 37. cursor = curreq.result FAIL compare(cursor.key, ['\0']) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 36. Was 38. cursor = curreq.result FAIL compare(cursor.key, ['a']) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 37. Was 39. cursor = curreq.result FAIL compare(cursor.key, ['aa']) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 38. Was 40. cursor = curreq.result FAIL compare(cursor.key, ['b']) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 39. Was 41. cursor = curreq.result FAIL compare(cursor.key, ['ba']) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 40. Was 42. cursor = curreq.result FAIL compare(cursor.key, ['¢']) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 41. Was 43. cursor = curreq.result FAIL compare(cursor.key, ['水']) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 42. Was 44. cursor = curreq.result FAIL compare(cursor.key, ['𝄞']) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 43. Was 45. cursor = curreq.result FAIL compare(cursor.key, ['�']) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 44. Was 46. cursor = curreq.result FAIL compare(cursor.key, [[]]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 45. Was 47. cursor = curreq.result FAIL compare(cursor.key, [[], []]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 46. Was 48. cursor = curreq.result FAIL compare(cursor.key, [[], [], []]) should be true. Was false. getreq = store.get(cursor.key) FAIL getreq.result should be 47. Was 49. FAIL count should be 50. Was 48. 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 Some tests failed. TEST COMPLETE