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