blob: 55c63dd31ecdc8bdef8aa8b50f800169bf00b360 [file] [log] [blame]
Test for valid and invalid keypaths
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
dbname = "keypath-basics.html"
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
store = db.createObjectStore('name')
PASS store.keyPath is null
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: null})
PASS store.keyPath is null
index = store.createIndex('name', null)
PASS index.keyPath is 'null'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: undefined})
PASS store.keyPath is null
index = store.createIndex('name', undefined)
PASS index.keyPath is 'undefined'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: ''})
PASS store.keyPath is ''
index = store.createIndex('name', '')
PASS index.keyPath is ''
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: 'foo'})
PASS store.keyPath is 'foo'
index = store.createIndex('name', 'foo')
PASS index.keyPath is 'foo'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: 'foo.bar.baz'})
PASS store.keyPath is 'foo.bar.baz'
index = store.createIndex('name', 'foo.bar.baz')
PASS index.keyPath is 'foo.bar.baz'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '$'})
PASS store.keyPath is '$'
index = store.createIndex('name', '$')
PASS index.keyPath is '$'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_'})
PASS store.keyPath is '_'
index = store.createIndex('name', '_')
PASS index.keyPath is '_'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '\u0391'})
PASS store.keyPath is '\u0391'
index = store.createIndex('name', '\u0391')
PASS index.keyPath is '\u0391'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '\u0371'})
PASS store.keyPath is '\u0371'
index = store.createIndex('name', '\u0371')
PASS index.keyPath is '\u0371'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '\u01C5'})
PASS store.keyPath is '\u01C5'
index = store.createIndex('name', '\u01C5')
PASS index.keyPath is '\u01C5'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '\u02B0'})
PASS store.keyPath is '\u02B0'
index = store.createIndex('name', '\u02B0')
PASS index.keyPath is '\u02B0'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '\u00AA'})
PASS store.keyPath is '\u00AA'
index = store.createIndex('name', '\u00AA')
PASS index.keyPath is '\u00AA'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '\u16EE'})
PASS store.keyPath is '\u16EE'
index = store.createIndex('name', '\u16EE')
PASS index.keyPath is '\u16EE'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_$'})
PASS store.keyPath is '_$'
index = store.createIndex('name', '_$')
PASS index.keyPath is '_$'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '__'})
PASS store.keyPath is '__'
index = store.createIndex('name', '__')
PASS index.keyPath is '__'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u0391'})
PASS store.keyPath is '_\u0391'
index = store.createIndex('name', '_\u0391')
PASS index.keyPath is '_\u0391'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u0371'})
PASS store.keyPath is '_\u0371'
index = store.createIndex('name', '_\u0371')
PASS index.keyPath is '_\u0371'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u01C5'})
PASS store.keyPath is '_\u01C5'
index = store.createIndex('name', '_\u01C5')
PASS index.keyPath is '_\u01C5'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u02B0'})
PASS store.keyPath is '_\u02B0'
index = store.createIndex('name', '_\u02B0')
PASS index.keyPath is '_\u02B0'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u00AA'})
PASS store.keyPath is '_\u00AA'
index = store.createIndex('name', '_\u00AA')
PASS index.keyPath is '_\u00AA'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u16EE'})
PASS store.keyPath is '_\u16EE'
index = store.createIndex('name', '_\u16EE')
PASS index.keyPath is '_\u16EE'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u0300'})
PASS store.keyPath is '_\u0300'
index = store.createIndex('name', '_\u0300')
PASS index.keyPath is '_\u0300'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u0903'})
PASS store.keyPath is '_\u0903'
index = store.createIndex('name', '_\u0903')
PASS index.keyPath is '_\u0903'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u0300'})
PASS store.keyPath is '_\u0300'
index = store.createIndex('name', '_\u0300')
PASS index.keyPath is '_\u0300'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u203F'})
PASS store.keyPath is '_\u203F'
index = store.createIndex('name', '_\u203F')
PASS index.keyPath is '_\u203F'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u200C'})
PASS store.keyPath is '_\u200C'
index = store.createIndex('name', '_\u200C')
PASS index.keyPath is '_\u200C'
Deleted all object stores.
store = db.createObjectStore('name', {keyPath: '_\u200D'})
PASS store.keyPath is '_\u200D'
index = store.createIndex('name', '_\u200D')
PASS index.keyPath is '_\u200D'
Deleted all object stores.
testInvalidKeyPaths():
Deleted all object stores.
Object store key path may not be empty or an array if autoIncrement is true
Expecting exception from store = db.createObjectStore('storeName', {autoIncrement: true, keyPath: ''})
PASS Exception was thrown.
PASS code is DOMException.INVALID_ACCESS_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
Deleted all object stores.
Expecting exception from store = db.createObjectStore('storeName', {autoIncrement: true, keyPath: ['a']})
PASS Exception was thrown.
PASS code is DOMException.INVALID_ACCESS_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
Deleted all object stores.
Expecting exception from store = db.createObjectStore('storeName', {autoIncrement: true, keyPath: ['']})
PASS Exception was thrown.
PASS code is DOMException.INVALID_ACCESS_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
Deleted all object stores.
Key paths which are never valid:
Expecting exception from db.createObjectStore('name', {keyPath: ' '})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', ' ')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: 'foo '})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', 'foo ')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: 'foo bar'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', 'foo bar')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: 'foo. bar'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', 'foo. bar')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: 'foo .bar'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', 'foo .bar')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: 'foo..bar'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', 'foo..bar')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '+foo'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '+foo')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: 'foo%'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', 'foo%')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '1'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '1')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '1.0'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '1.0')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: []})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', [])
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u0300'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u0300')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u0903'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u0903')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u0300'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u0300')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u203F'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u203F')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u200C'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u200C')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u200D'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u200D')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u002D'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u002D')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u0028'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u0028')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u0029'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u0029')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u00AB'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u00AB')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u00BB'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u00BB')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u0021'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u0021')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u002B'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u002B')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u00A2'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u00A2')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u005E'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u005E')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u00A6'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u00A6')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u00A0'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u00A0')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u2028'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u2028')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u2029'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u2029')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u0000'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u0000')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\u00AD'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\u00AD')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\uD800'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\uD800')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\uE000'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\uE000')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\uFFFE'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\uFFFE')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '\uFFFF'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '\uFFFF')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u002D'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u002D')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u0028'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u0028')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u0029'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u0029')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u00AB'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00AB')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u00BB'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00BB')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u0021'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u0021')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u002B'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u002B')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u00A2'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00A2')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u005E'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u005E')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u00A6'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00A6')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u00A0'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00A0')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u2028'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u2028')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u2029'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u2029')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u0000'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u0000')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\u00AD'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00AD')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\uD800'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\uD800')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\uE000'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\uE000')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\uFFFE'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\uFFFE')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
Expecting exception from db.createObjectStore('name', {keyPath: '_\uFFFF'})
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
Expecting exception from db.createObjectStore('name').createIndex('name', '_\uFFFF')
PASS Exception was thrown.
PASS code is DOMException.SYNTAX_ERR
Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
Deleted all object stores.
PASS successfullyParsed is true
TEST COMPLETE