Test IndexedDB key comparison using IDBFactory.cmp().
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS typeof indexedDB.cmp is "function"
compare valid keys
PASS indexedDB.cmp(-Infinity,-Number.MAX_VALUE) is -1
PASS indexedDB.cmp(-Number.MAX_VALUE,-Infinity) is 1
PASS indexedDB.cmp(-Infinity,-Infinity) is 0
PASS indexedDB.cmp(-Number.MAX_VALUE,-Number.MAX_VALUE) is 0
PASS indexedDB.cmp(-Number.MAX_VALUE,-1) is -1
PASS indexedDB.cmp(-1,-Number.MAX_VALUE) is 1
PASS indexedDB.cmp(-Number.MAX_VALUE,-Number.MAX_VALUE) is 0
PASS indexedDB.cmp(-1,-1) is 0
PASS indexedDB.cmp(-1,-Number.MIN_VALUE) is -1
PASS indexedDB.cmp(-Number.MIN_VALUE,-1) is 1
PASS indexedDB.cmp(-1,-1) is 0
PASS indexedDB.cmp(-Number.MIN_VALUE,-Number.MIN_VALUE) is 0
PASS indexedDB.cmp(-Number.MIN_VALUE,0) is -1
PASS indexedDB.cmp(0,-Number.MIN_VALUE) is 1
PASS indexedDB.cmp(-Number.MIN_VALUE,-Number.MIN_VALUE) is 0
PASS indexedDB.cmp(0,0) is 0
PASS indexedDB.cmp(0,Number.MIN_VALUE) is -1
PASS indexedDB.cmp(Number.MIN_VALUE,0) is 1
PASS indexedDB.cmp(0,0) is 0
PASS indexedDB.cmp(Number.MIN_VALUE,Number.MIN_VALUE) is 0
PASS indexedDB.cmp(Number.MIN_VALUE,1) is -1
PASS indexedDB.cmp(1,Number.MIN_VALUE) is 1
PASS indexedDB.cmp(Number.MIN_VALUE,Number.MIN_VALUE) is 0
PASS indexedDB.cmp(1,1) is 0
PASS indexedDB.cmp(1,Number.MAX_VALUE) is -1
PASS indexedDB.cmp(Number.MAX_VALUE,1) is 1
PASS indexedDB.cmp(1,1) is 0
PASS indexedDB.cmp(Number.MAX_VALUE,Number.MAX_VALUE) is 0
PASS indexedDB.cmp(Number.MAX_VALUE,Infinity) is -1
PASS indexedDB.cmp(Infinity,Number.MAX_VALUE) is 1
PASS indexedDB.cmp(Number.MAX_VALUE,Number.MAX_VALUE) is 0
PASS indexedDB.cmp(Infinity,Infinity) is 0
PASS indexedDB.cmp(Infinity,new Date(0)) is -1
PASS indexedDB.cmp(new Date(0),Infinity) is 1
PASS indexedDB.cmp(Infinity,Infinity) is 0
PASS indexedDB.cmp(new Date(0),new Date(0)) is 0
PASS indexedDB.cmp(new Date(0),new Date(1000)) is -1
PASS indexedDB.cmp(new Date(1000),new Date(0)) is 1
PASS indexedDB.cmp(new Date(0),new Date(0)) is 0
PASS indexedDB.cmp(new Date(1000),new Date(1000)) is 0
PASS indexedDB.cmp(new Date(1000),new Date(1317399931023)) is -1
PASS indexedDB.cmp(new Date(1317399931023),new Date(1000)) is 1
PASS indexedDB.cmp(new Date(1000),new Date(1000)) is 0
PASS indexedDB.cmp(new Date(1317399931023),new Date(1317399931023)) is 0
PASS indexedDB.cmp(new Date(1317399931023),'') is -1
PASS indexedDB.cmp('',new Date(1317399931023)) is 1
PASS indexedDB.cmp(new Date(1317399931023),new Date(1317399931023)) is 0
PASS indexedDB.cmp('','') is 0
PASS indexedDB.cmp('','\0') is -1
PASS indexedDB.cmp('\0','') is 1
PASS indexedDB.cmp('','') is 0
PASS indexedDB.cmp('\0','\0') is 0
PASS indexedDB.cmp('\0','a') is -1
PASS indexedDB.cmp('a','\0') is 1
PASS indexedDB.cmp('\0','\0') is 0
PASS indexedDB.cmp('a','a') is 0
PASS indexedDB.cmp('a','aa') is -1
PASS indexedDB.cmp('aa','a') is 1
PASS indexedDB.cmp('a','a') is 0
PASS indexedDB.cmp('aa','aa') is 0
PASS indexedDB.cmp('aa','b') is -1
PASS indexedDB.cmp('b','aa') is 1
PASS indexedDB.cmp('aa','aa') is 0
PASS indexedDB.cmp('b','b') is 0
PASS indexedDB.cmp('b','ba') is -1
PASS indexedDB.cmp('ba','b') is 1
PASS indexedDB.cmp('b','b') is 0
PASS indexedDB.cmp('ba','ba') is 0
PASS indexedDB.cmp('ba','¢') is -1
PASS indexedDB.cmp('¢','ba') is 1
PASS indexedDB.cmp('ba','ba') is 0
PASS indexedDB.cmp('¢','¢') is 0
PASS indexedDB.cmp('¢','水') is -1
PASS indexedDB.cmp('水','¢') is 1
PASS indexedDB.cmp('¢','¢') is 0
PASS indexedDB.cmp('水','水') is 0
PASS indexedDB.cmp('水','𝄞') is -1
PASS indexedDB.cmp('𝄞','水') is 1
PASS indexedDB.cmp('水','水') is 0
PASS indexedDB.cmp('𝄞','𝄞') is 0
PASS indexedDB.cmp('𝄞','�') is -1
PASS indexedDB.cmp('�','𝄞') is 1
PASS indexedDB.cmp('𝄞','𝄞') is 0
PASS indexedDB.cmp('�','�') is 0
PASS indexedDB.cmp('�',new Uint8Array()) is -1
PASS indexedDB.cmp(new Uint8Array(),'�') is 1
PASS indexedDB.cmp('�','�') is 0
PASS indexedDB.cmp(new Uint8Array(),new Uint8Array()) is 0
PASS indexedDB.cmp(new Uint8Array(),new Uint8Array([0])) is -1
PASS indexedDB.cmp(new Uint8Array([0]),new Uint8Array()) is 1
PASS indexedDB.cmp(new Uint8Array(),new Uint8Array()) is 0
PASS indexedDB.cmp(new Uint8Array([0]),new Uint8Array([0])) is 0
PASS indexedDB.cmp(new Uint8Array([0]),new Uint8Array([0, 0])) is -1
PASS indexedDB.cmp(new Uint8Array([0, 0]),new Uint8Array([0])) is 1
PASS indexedDB.cmp(new Uint8Array([0]),new Uint8Array([0])) is 0
PASS indexedDB.cmp(new Uint8Array([0, 0]),new Uint8Array([0, 0])) is 0
PASS indexedDB.cmp(new Uint8Array([0, 0]),new Uint8Array([0, 1])) is -1
PASS indexedDB.cmp(new Uint8Array([0, 1]),new Uint8Array([0, 0])) is 1
PASS indexedDB.cmp(new Uint8Array([0, 0]),new Uint8Array([0, 0])) is 0
PASS indexedDB.cmp(new Uint8Array([0, 1]),new Uint8Array([0, 1])) is 0
PASS indexedDB.cmp(new Uint8Array([0, 1]),new Uint8Array([1])) is -1
PASS indexedDB.cmp(new Uint8Array([1]),new Uint8Array([0, 1])) is 1
PASS indexedDB.cmp(new Uint8Array([0, 1]),new Uint8Array([0, 1])) is 0
PASS indexedDB.cmp(new Uint8Array([1]),new Uint8Array([1])) is 0
PASS indexedDB.cmp(new Uint8Array([1]),new Uint8Array([1, 0])) is -1
PASS indexedDB.cmp(new Uint8Array([1, 0]),new Uint8Array([1])) is 1
PASS indexedDB.cmp(new Uint8Array([1]),new Uint8Array([1])) is 0
PASS indexedDB.cmp(new Uint8Array([1, 0]),new Uint8Array([1, 0])) is 0
PASS indexedDB.cmp(new Uint8Array([1, 0]),new Uint8Array([1, 1])) is -1
PASS indexedDB.cmp(new Uint8Array([1, 1]),new Uint8Array([1, 0])) is 1
PASS indexedDB.cmp(new Uint8Array([1, 0]),new Uint8Array([1, 0])) is 0
PASS indexedDB.cmp(new Uint8Array([1, 1]),new Uint8Array([1, 1])) is 0
PASS indexedDB.cmp(new Uint8Array([1, 1]),new Uint8Array([255])) is -1
PASS indexedDB.cmp(new Uint8Array([255]),new Uint8Array([1, 1])) is 1
PASS indexedDB.cmp(new Uint8Array([1, 1]),new Uint8Array([1, 1])) is 0
PASS indexedDB.cmp(new Uint8Array([255]),new Uint8Array([255])) is 0
PASS indexedDB.cmp(new Uint8Array([255]),[]) is -1
PASS indexedDB.cmp([],new Uint8Array([255])) is 1
PASS indexedDB.cmp(new Uint8Array([255]),new Uint8Array([255])) is 0
PASS indexedDB.cmp([],[]) is 0
PASS indexedDB.cmp([],[-Infinity]) is -1
PASS indexedDB.cmp([-Infinity],[]) is 1
PASS indexedDB.cmp([],[]) is 0
PASS indexedDB.cmp([-Infinity],[-Infinity]) is 0
PASS indexedDB.cmp([-Infinity],[-Number.MAX_VALUE]) is -1
PASS indexedDB.cmp([-Number.MAX_VALUE],[-Infinity]) is 1
PASS indexedDB.cmp([-Infinity],[-Infinity]) is 0
PASS indexedDB.cmp([-Number.MAX_VALUE],[-Number.MAX_VALUE]) is 0
PASS indexedDB.cmp([-Number.MAX_VALUE],[-1]) is -1
PASS indexedDB.cmp([-1],[-Number.MAX_VALUE]) is 1
PASS indexedDB.cmp([-Number.MAX_VALUE],[-Number.MAX_VALUE]) is 0
PASS indexedDB.cmp([-1],[-1]) is 0
PASS indexedDB.cmp([-1],[-Number.MIN_VALUE]) is -1
PASS indexedDB.cmp([-Number.MIN_VALUE],[-1]) is 1
PASS indexedDB.cmp([-1],[-1]) is 0
PASS indexedDB.cmp([-Number.MIN_VALUE],[-Number.MIN_VALUE]) is 0
PASS indexedDB.cmp([-Number.MIN_VALUE],[0]) is -1
PASS indexedDB.cmp([0],[-Number.MIN_VALUE]) is 1
PASS indexedDB.cmp([-Number.MIN_VALUE],[-Number.MIN_VALUE]) is 0
PASS indexedDB.cmp([0],[0]) is 0
PASS indexedDB.cmp([0],[Number.MIN_VALUE]) is -1
PASS indexedDB.cmp([Number.MIN_VALUE],[0]) is 1
PASS indexedDB.cmp([0],[0]) is 0
PASS indexedDB.cmp([Number.MIN_VALUE],[Number.MIN_VALUE]) is 0
PASS indexedDB.cmp([Number.MIN_VALUE],[1]) is -1
PASS indexedDB.cmp([1],[Number.MIN_VALUE]) is 1
PASS indexedDB.cmp([Number.MIN_VALUE],[Number.MIN_VALUE]) is 0
PASS indexedDB.cmp([1],[1]) is 0
PASS indexedDB.cmp([1],[Number.MAX_VALUE]) is -1
PASS indexedDB.cmp([Number.MAX_VALUE],[1]) is 1
PASS indexedDB.cmp([1],[1]) is 0
PASS indexedDB.cmp([Number.MAX_VALUE],[Number.MAX_VALUE]) is 0
PASS indexedDB.cmp([Number.MAX_VALUE],[Infinity]) is -1
PASS indexedDB.cmp([Infinity],[Number.MAX_VALUE]) is 1
PASS indexedDB.cmp([Number.MAX_VALUE],[Number.MAX_VALUE]) is 0
PASS indexedDB.cmp([Infinity],[Infinity]) is 0
PASS indexedDB.cmp([Infinity],[new Date(0)]) is -1
PASS indexedDB.cmp([new Date(0)],[Infinity]) is 1
PASS indexedDB.cmp([Infinity],[Infinity]) is 0
PASS indexedDB.cmp([new Date(0)],[new Date(0)]) is 0
PASS indexedDB.cmp([new Date(0)],[new Date(1000)]) is -1
PASS indexedDB.cmp([new Date(1000)],[new Date(0)]) is 1
PASS indexedDB.cmp([new Date(0)],[new Date(0)]) is 0
PASS indexedDB.cmp([new Date(1000)],[new Date(1000)]) is 0
PASS indexedDB.cmp([new Date(1000)],[new Date(1317399931023)]) is -1
PASS indexedDB.cmp([new Date(1317399931023)],[new Date(1000)]) is 1
PASS indexedDB.cmp([new Date(1000)],[new Date(1000)]) is 0
PASS indexedDB.cmp([new Date(1317399931023)],[new Date(1317399931023)]) is 0
PASS indexedDB.cmp([new Date(1317399931023)],['']) is -1
PASS indexedDB.cmp([''],[new Date(1317399931023)]) is 1
PASS indexedDB.cmp([new Date(1317399931023)],[new Date(1317399931023)]) is 0
PASS indexedDB.cmp([''],['']) is 0
PASS indexedDB.cmp([''],['\0']) is -1
PASS indexedDB.cmp(['\0'],['']) is 1
PASS indexedDB.cmp([''],['']) is 0
PASS indexedDB.cmp(['\0'],['\0']) is 0
PASS indexedDB.cmp(['\0'],['a']) is -1
PASS indexedDB.cmp(['a'],['\0']) is 1
PASS indexedDB.cmp(['\0'],['\0']) is 0
PASS indexedDB.cmp(['a'],['a']) is 0
PASS indexedDB.cmp(['a'],['aa']) is -1
PASS indexedDB.cmp(['aa'],['a']) is 1
PASS indexedDB.cmp(['a'],['a']) is 0
PASS indexedDB.cmp(['aa'],['aa']) is 0
PASS indexedDB.cmp(['aa'],['b']) is -1
PASS indexedDB.cmp(['b'],['aa']) is 1
PASS indexedDB.cmp(['aa'],['aa']) is 0
PASS indexedDB.cmp(['b'],['b']) is 0
PASS indexedDB.cmp(['b'],['ba']) is -1
PASS indexedDB.cmp(['ba'],['b']) is 1
PASS indexedDB.cmp(['b'],['b']) is 0
PASS indexedDB.cmp(['ba'],['ba']) is 0
PASS indexedDB.cmp(['ba'],['¢']) is -1
PASS indexedDB.cmp(['¢'],['ba']) is 1
PASS indexedDB.cmp(['ba'],['ba']) is 0
PASS indexedDB.cmp(['¢'],['¢']) is 0
PASS indexedDB.cmp(['¢'],['水']) is -1
PASS indexedDB.cmp(['水'],['¢']) is 1
PASS indexedDB.cmp(['¢'],['¢']) is 0
PASS indexedDB.cmp(['水'],['水']) is 0
PASS indexedDB.cmp(['水'],['𝄞']) is -1
PASS indexedDB.cmp(['𝄞'],['水']) is 1
PASS indexedDB.cmp(['水'],['水']) is 0
PASS indexedDB.cmp(['𝄞'],['𝄞']) is 0
PASS indexedDB.cmp(['𝄞'],['�']) is -1
PASS indexedDB.cmp(['�'],['𝄞']) is 1
PASS indexedDB.cmp(['𝄞'],['𝄞']) is 0
PASS indexedDB.cmp(['�'],['�']) is 0
PASS indexedDB.cmp(['�'],[new Uint8Array()]) is -1
PASS indexedDB.cmp([new Uint8Array()],['�']) is 1
PASS indexedDB.cmp(['�'],['�']) is 0
PASS indexedDB.cmp([new Uint8Array()],[new Uint8Array()]) is 0
PASS indexedDB.cmp([new Uint8Array()],[new Uint8Array([0])]) is -1
PASS indexedDB.cmp([new Uint8Array([0])],[new Uint8Array()]) is 1
PASS indexedDB.cmp([new Uint8Array()],[new Uint8Array()]) is 0
PASS indexedDB.cmp([new Uint8Array([0])],[new Uint8Array([0])]) is 0
PASS indexedDB.cmp([new Uint8Array([0])],[new Uint8Array([0, 0])]) is -1
PASS indexedDB.cmp([new Uint8Array([0, 0])],[new Uint8Array([0])]) is 1
PASS indexedDB.cmp([new Uint8Array([0])],[new Uint8Array([0])]) is 0
PASS indexedDB.cmp([new Uint8Array([0, 0])],[new Uint8Array([0, 0])]) is 0
PASS indexedDB.cmp([new Uint8Array([0, 0])],[new Uint8Array([0, 1])]) is -1
PASS indexedDB.cmp([new Uint8Array([0, 1])],[new Uint8Array([0, 0])]) is 1
PASS indexedDB.cmp([new Uint8Array([0, 0])],[new Uint8Array([0, 0])]) is 0
PASS indexedDB.cmp([new Uint8Array([0, 1])],[new Uint8Array([0, 1])]) is 0
PASS indexedDB.cmp([new Uint8Array([0, 1])],[new Uint8Array([1])]) is -1
PASS indexedDB.cmp([new Uint8Array([1])],[new Uint8Array([0, 1])]) is 1
PASS indexedDB.cmp([new Uint8Array([0, 1])],[new Uint8Array([0, 1])]) is 0
PASS indexedDB.cmp([new Uint8Array([1])],[new Uint8Array([1])]) is 0
PASS indexedDB.cmp([new Uint8Array([1])],[new Uint8Array([1, 0])]) is -1
PASS indexedDB.cmp([new Uint8Array([1, 0])],[new Uint8Array([1])]) is 1
PASS indexedDB.cmp([new Uint8Array([1])],[new Uint8Array([1])]) is 0
PASS indexedDB.cmp([new Uint8Array([1, 0])],[new Uint8Array([1, 0])]) is 0
PASS indexedDB.cmp([new Uint8Array([1, 0])],[new Uint8Array([1, 1])]) is -1
PASS indexedDB.cmp([new Uint8Array([1, 1])],[new Uint8Array([1, 0])]) is 1
PASS indexedDB.cmp([new Uint8Array([1, 0])],[new Uint8Array([1, 0])]) is 0
PASS indexedDB.cmp([new Uint8Array([1, 1])],[new Uint8Array([1, 1])]) is 0
PASS indexedDB.cmp([new Uint8Array([1, 1])],[new Uint8Array([255])]) is -1
PASS indexedDB.cmp([new Uint8Array([255])],[new Uint8Array([1, 1])]) is 1
PASS indexedDB.cmp([new Uint8Array([1, 1])],[new Uint8Array([1, 1])]) is 0
PASS indexedDB.cmp([new Uint8Array([255])],[new Uint8Array([255])]) is 0
PASS indexedDB.cmp([new Uint8Array([255])],[[]]) is -1
PASS indexedDB.cmp([[]],[new Uint8Array([255])]) is 1
PASS indexedDB.cmp([new Uint8Array([255])],[new Uint8Array([255])]) is 0
PASS indexedDB.cmp([[]],[[]]) is 0
PASS indexedDB.cmp([[]],[[], []]) is -1
PASS indexedDB.cmp([[], []],[[]]) is 1
PASS indexedDB.cmp([[]],[[]]) is 0
PASS indexedDB.cmp([[], []],[[], []]) is 0
PASS indexedDB.cmp([[], []],[[], [], []]) is -1
PASS indexedDB.cmp([[], [], []],[[], []]) is 1
PASS indexedDB.cmp([[], []],[[], []]) is 0
PASS indexedDB.cmp([[], [], []],[[], [], []]) is 0
PASS indexedDB.cmp([[], [], []],[[[]]]) is -1
PASS indexedDB.cmp([[[]]],[[], [], []]) is 1
PASS indexedDB.cmp([[], [], []],[[], [], []]) is 0
PASS indexedDB.cmp([[[]]],[[[]]]) is 0
PASS indexedDB.cmp([[[]]],[[[[]]]]) is -1
PASS indexedDB.cmp([[[[]]]],[[[]]]) is 1
PASS indexedDB.cmp([[[]]],[[[]]]) is 0
PASS indexedDB.cmp([[[[]]]],[[[[]]]]) is 0
compare invalid keys
Expecting exception from indexedDB.cmp(void 0, true)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(true, void 0)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(void 0, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', void 0)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(true, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', true)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(true, false)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(false, true)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(true, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', true)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(false, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', false)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(false, NaN)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(NaN, false)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(false, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', false)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(NaN, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', NaN)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(NaN, new Date(NaN))
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(new Date(NaN), NaN)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(NaN, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', NaN)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(new Date(NaN), 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', new Date(NaN))
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(new Date(NaN), null)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(null, new Date(NaN))
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(new Date(NaN), 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', new Date(NaN))
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(null, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', null)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(null, {})
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp({}, null)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(null, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', null)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp({}, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', {})
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp({}, function () {})
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(function () {}, {})
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp({}, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', {})
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(function () {}, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', function () {})
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(function () {}, /regex/)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(/regex/, function () {})
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(function () {}, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', function () {})
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(/regex/, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', /regex/)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(/regex/, self)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(self, /regex/)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(/regex/, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', /regex/)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(self, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', self)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(self, self.document)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(self.document, self)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(self, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', self)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(self.document, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', self.document)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(self.document, self.document.body)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(self.document.body, self.document)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(self.document, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', self.document)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp(self.document.body, 'valid')
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Expecting exception from indexedDB.cmp('valid', self.document.body)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
compare identical keys
PASS indexedDB.cmp(0, -0) is 0
PASS successfullyParsed is true
TEST COMPLETE