Test files: 42; Total subtests: 1238
| Test | Ch52 | Ed13 | Ff48 | Sf09 |
|---|---|---|---|---|
| /webstorage/document-domain.html | OK | TIMEOUT | OK | TIMEOUT |
| localStorage and document.domain | PASS * | TIMEOUT | PASS * | TIMEOUT |
| /webstorage/eventconstructor.html | TIMEOUT | TIMEOUT | OK | OK |
| The initial values of storage event properties. | - | FAIL | PASS | PASS |
| storageeventinit test | - | NOTRUN | PASS | FAIL |
| /webstorage/eventconstructor_eventinit.html | OK | OK | OK | OK |
| StorageEvent constructor and nulls - Construct StorageEvent with StorageEventInit. | PASS | FAIL | PASS | FAIL |
| /webstorage/event_local_key.html | OK | TIMEOUT | OK | OK |
| key property test of local event - Local event is fired due to an invocation of the setItem(), clear() methods. | PASS | TIMEOUT | PASS | FAIL |
| /webstorage/event_local_newvalue.html | OK | TIMEOUT | OK | OK |
| newValue property test of local event - Local event is fired due to an invocation of the setItem(), clear() methods. | PASS | TIMEOUT | PASS | PASS |
| /webstorage/event_local_oldvalue.html | OK | TIMEOUT | OK | OK |
| oldValue property test of local event - Local event is fired due to an invocation of the setItem(), clear() methods. | PASS | TIMEOUT | PASS | PASS |
| /webstorage/event_local_removeitem.html | OK | TIMEOUT | OK | OK |
| key property test of local event | PASS | TIMEOUT | PASS | PASS |
| /webstorage/event_local_storagearea.html | OK | TIMEOUT | OK | OK |
| storageArea property test of local event - Local event is fired due to an invocation of the setItem() method. | PASS | TIMEOUT | PASS | PASS |
| /webstorage/event_local_storageeventinit.html | OK | OK | OK | OK |
| storageeventinit test - Storage event is fired due to set values for StorageEventInit. | PASS | FAIL | PASS | PASS |
| /webstorage/event_local_url.html | OK | TIMEOUT | OK | OK |
| url property test of local event - Local event is fired due to an invocation of the setItem() method. | PASS | TIMEOUT | PASS | PASS |
| /webstorage/event_session_key.html | OK | TIMEOUT | OK | OK |
| key property test of session event - Session event is fired due to an invocation of the setItem(), clear() methods. | PASS | TIMEOUT | PASS | FAIL |
| /webstorage/event_session_newvalue.html | OK | TIMEOUT | OK | OK |
| newvalue property test of session event - Session event is fired due to an invocation of the setItem(), clear() methods. | PASS | TIMEOUT | PASS | PASS |
| /webstorage/event_session_oldvalue.html | OK | TIMEOUT | OK | OK |
| oldvalue property test of session event - Session event is fired due to an invocation of the setItem(), clear() methods. | PASS | TIMEOUT | PASS | PASS |
| /webstorage/event_session_removeitem.html | OK | TIMEOUT | OK | OK |
| key property test of session event | PASS | TIMEOUT | PASS | FAIL |
| /webstorage/event_session_storagearea.html | OK | TIMEOUT | OK | OK |
| storageArea property test of session event - session event is fired due to an invocation of the setItem() method. | PASS | TIMEOUT | PASS | FAIL |
| /webstorage/event_session_storageeventinit.html | OK | OK | OK | OK |
| storageeventinit test - Storage event is fired due to set values for StorageEventInit. | PASS | FAIL | PASS | PASS |
| /webstorage/event_session_url.html | OK | TIMEOUT | OK | OK |
| url property test of session event - Session event is fired due to an invocation of the setItem() method. | PASS | TIMEOUT | PASS | PASS |
| /webstorage/idlharness.html | OK | OK | OK | OK |
| Window interface: attribute sessionStorage | FAIL | PASS | PASS | FAIL |
| Window interface: attribute localStorage | FAIL | PASS | PASS | FAIL |
| Storage interface: existence and properties of interface object | PASS | PASS | PASS | FAIL |
| Storage interface object length | PASS | FAIL | PASS | FAIL |
| Storage interface object name | PASS | PASS | PASS | - |
| Storage interface: existence and properties of interface prototype object | FAIL | PASS | PASS | FAIL |
| Storage interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | FAIL |
| Storage interface: attribute length | FAIL | FAIL | PASS | FAIL |
| Storage interface: operation key(unsigned long) | FAIL | FAIL | PASS | FAIL |
| Storage interface: operation getItem(DOMString) | FAIL | FAIL | PASS | FAIL |
| Storage interface: operation setItem(DOMString,DOMString) | FAIL | FAIL | PASS | FAIL |
| Storage interface: operation removeItem(DOMString) | FAIL | FAIL | PASS | FAIL |
| Storage interface: operation clear() | FAIL | FAIL | PASS | FAIL |
| Storage must be primary interface of window.localStorage | PASS | PASS | PASS | PASS |
| Stringification of window.localStorage | PASS | PASS | PASS | PASS |
| Storage interface: window.localStorage must inherit property "length" with the proper type (0) | PASS | PASS | PASS | FAIL |
| Storage interface: window.localStorage must inherit property "key" with the proper type (1) | PASS | PASS | PASS | PASS |
| Storage interface: calling key(unsigned long) on window.localStorage with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
| Storage interface: window.localStorage must inherit property "getItem" with the proper type (2) | PASS | PASS | PASS | PASS |
| Storage interface: calling getItem(DOMString) on window.localStorage with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
| Storage interface: window.localStorage must inherit property "setItem" with the proper type (3) | PASS | PASS | PASS | PASS |
| Storage interface: calling setItem(DOMString,DOMString) on window.localStorage with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
| Storage interface: window.localStorage must inherit property "removeItem" with the proper type (4) | PASS | PASS | PASS | PASS |
| Storage interface: calling removeItem(DOMString) on window.localStorage with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
| Storage interface: window.localStorage must inherit property "clear" with the proper type (5) | PASS | PASS | PASS | PASS |
| StorageEvent interface: existence and properties of interface object | PASS | FAIL | PASS | FAIL |
| StorageEvent interface object length | PASS | FAIL | PASS | FAIL |
| StorageEvent interface object name | PASS | PASS | PASS | - |
| StorageEvent interface: existence and properties of interface prototype object | FAIL | PASS | PASS | FAIL |
| StorageEvent interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | FAIL |
| StorageEvent interface: attribute key | PASS | PASS | PASS | FAIL |
| StorageEvent interface: attribute oldValue | PASS | PASS | PASS | FAIL |
| StorageEvent interface: attribute newValue | PASS | PASS | PASS | FAIL |
| StorageEvent interface: attribute url | PASS | PASS | PASS | FAIL |
| StorageEvent interface: attribute storageArea | PASS | PASS | PASS | FAIL |
| /webstorage/missing_arguments.html | OK | OK | OK | OK |
| Should throw TypeError for function "function () { localStorage.key(); }". | PASS | PASS | PASS | PASS |
| Should throw TypeError for function "function () { localStorage.getItem(); }". | PASS | PASS | PASS | PASS |
| Should throw TypeError for function "function () { localStorage.setItem(); }". | PASS | PASS | PASS | PASS |
| Should throw TypeError for function "function () { localStorage.setItem("a"); }". | PASS | PASS | PASS | PASS |
| Should throw TypeError for function "function () { localStorage.removeItem(); }". | PASS | PASS | PASS | PASS |
| Should throw TypeError for function "function () { sessionStorage.key(); }". | PASS | PASS | PASS | PASS |
| Should throw TypeError for function "function () { sessionStorage.getItem(); }". | PASS | PASS | PASS | PASS |
| Should throw TypeError for function "function () { sessionStorage.setItem(); }". | PASS | PASS | PASS | PASS |
| Should throw TypeError for function "function () { sessionStorage.setItem("a"); }". | PASS | PASS | PASS | PASS |
| Should throw TypeError for function "function () { sessionStorage.removeItem(); }". | PASS | PASS | PASS | PASS |
| Should throw TypeError for function "function () { new StorageEvent(); }". | PASS | PASS | PASS | FAIL |
| /webstorage/storage_builtins.html | OK | OK | OK | OK |
| Builtins in localStorage | FAIL | PASS | PASS | FAIL |
| Builtins in sessionStorage | FAIL | PASS | PASS | FAIL |
| /webstorage/storage_clear.html | OK | OK | OK | OK |
| Clear in localStorage | PASS | PASS | PASS | PASS |
| Clear in sessionStorage | PASS | PASS | PASS | PASS |
| /webstorage/storage_enumerate.html | OK | OK | OK | OK |
| localStorage: enumerate a Storage object and get only the keys as a result and the built-in properties of the Storage object should be ignored | PASS | PASS | FAIL | PASS |
| sessionStorage: enumerate a Storage object and get only the keys as a result and the built-in properties of the Storage object should be ignored | PASS | PASS | FAIL | PASS |
| /webstorage/storage_functions_not_overwritten.html | OK | OK | OK | OK |
| localStorage should be not rendered unusable by setting a key with the same name as a storage function such that the function is hidden | PASS | PASS | PASS | PASS |
| sessionStorage should be not rendered unusable by setting a key with the same name as a storage function such that the function is hidden | PASS | PASS | PASS | PASS |
| /webstorage/storage_getitem.html | OK | OK | OK | OK |
| Get value by getIten(key) and named access in localStorage. | PASS | PASS | PASS | PASS |
| All items should be added to localStorage. | PASS | PASS | PASS | PASS |
| Named access to localStorage should be correct | PASS | PASS | PASS | PASS |
| localStorage.getItem should be correct | PASS | PASS | PASS | PASS |
| Get value by getIten(key) and named access in sessionStorage. | PASS | PASS | PASS | PASS |
| All items should be added to sessionStorage. | PASS | PASS | PASS | PASS |
| Named access to sessionStorage should be correct | PASS | PASS | PASS | PASS |
| sessionStorage.getItem should be correct | PASS | PASS | PASS | PASS |
| /webstorage/storage_in.html | OK | OK | OK | OK |
| The in operator in localStorage: property access | PASS | PASS | PASS | PASS |
| The in operator in localStorage: method access | PASS | PASS | PASS | PASS |
| The in operator in sessionStorage: property access | PASS | PASS | PASS | PASS |
| The in operator in sessionStorage: method access | PASS | PASS | PASS | PASS |
| /webstorage/storage_indexing.html | OK | OK | OK | OK |
| Indexed getter on localStorage | PASS | PASS | PASS | PASS |
| Getting number properties on localStorage | PASS | PASS | PASS | PASS |
| Getting number-valued string properties on localStorage | PASS | PASS | PASS | PASS |
| Getting existing number-valued properties on localStorage | PASS | PASS | PASS | PASS |
| Indexed getter on sessionStorage | PASS | PASS | PASS | PASS |
| Getting number properties on sessionStorage | PASS | PASS | PASS | PASS |
| Getting number-valued string properties on sessionStorage | PASS | PASS | PASS | PASS |
| Getting existing number-valued properties on sessionStorage | PASS | PASS | PASS | PASS |
| /webstorage/storage_key.html | OK | OK | OK | OK |
| localStorage.key | PASS | PASS | PASS | PASS |
| localStorage.key(0) should return the right thing. | PASS | PASS | PASS | PASS |
| localStorage.key(4294967296) should return the right thing. | PASS | PASS | PASS | PASS |
| localStorage.key(1) should return the right thing. | PASS | PASS | PASS | PASS |
| localStorage.key(4294967297) should return the right thing. | PASS | PASS | PASS | PASS |
| localStorage.key(2) should return the right thing. | PASS | PASS | PASS | PASS |
| localStorage.key(4294967298) should return the right thing. | PASS | PASS | PASS | PASS |
| localStorage.key(3) should return the right thing. | PASS | PASS | PASS | PASS |
| localStorage.key(4294967299) should return the right thing. | PASS | PASS | PASS | PASS |
| localStorage.key() should return null for out-of-range arguments. | PASS | PASS | PASS | PASS |
| localStorage.key with value changes | PASS | PASS | PASS | PASS |
| sessionStorage.key | PASS | PASS | PASS | PASS |
| sessionStorage.key(0) should return the right thing. | PASS | PASS | PASS | PASS |
| sessionStorage.key(4294967296) should return the right thing. | PASS | PASS | PASS | PASS |
| sessionStorage.key(1) should return the right thing. | PASS | PASS | PASS | PASS |
| sessionStorage.key(4294967297) should return the right thing. | PASS | PASS | PASS | PASS |
| sessionStorage.key(2) should return the right thing. | PASS | PASS | PASS | PASS |
| sessionStorage.key(4294967298) should return the right thing. | PASS | PASS | PASS | PASS |
| sessionStorage.key(3) should return the right thing. | PASS | PASS | PASS | PASS |
| sessionStorage.key(4294967299) should return the right thing. | PASS | PASS | PASS | PASS |
| sessionStorage.key() should return null for out-of-range arguments. | PASS | PASS | PASS | PASS |
| sessionStorage.key with value changes | PASS | PASS | PASS | PASS |
| /webstorage/storage_key_empty_string.html | OK | OK | OK | OK |
| localStorage.key with empty string | PASS | PASS | PASS | PASS |
| sessionStorage.key with empty string | PASS | PASS | PASS | PASS |
| /webstorage/storage_length.html | OK | OK | OK | OK |
| localStorage.length (method access) | PASS | PASS | PASS | PASS |
| localStorage.length (proprty access) | PASS | PASS | PASS | PASS |
| sessionStorage.length (method access) | PASS | PASS | PASS | PASS |
| sessionStorage.length (proprty access) | PASS | PASS | PASS | PASS |
| /webstorage/storage_local_window_open.html | OK | TIMEOUT | OK | OK |
| A new window to make sure there is a copy of the previous window's localStorage, and that they do not diverge after a change | PASS | TIMEOUT | PASS | PASS |
| /webstorage/storage_removeitem.html | OK | OK | OK | OK |
| localStorage.removeItem() | PASS | PASS | PASS | PASS |
| delete localStorage[] | PASS | PASS | PASS | PASS |
| localStorage.removeItem(null) | PASS | PASS | PASS | PASS |
| localStorage.removeItem(undefined) | PASS | PASS | PASS | PASS |
| sessionStorage.removeItem() | PASS | PASS | PASS | PASS |
| delete sessionStorage[] | PASS | PASS | PASS | PASS |
| sessionStorage.removeItem(null) | PASS | PASS | PASS | PASS |
| sessionStorage.removeItem(undefined) | PASS | PASS | PASS | PASS |
| /webstorage/storage_session_window_open.html | OK | TIMEOUT | OK | OK |
| A new window to make sure there is a copy of the previous window's sessionStorage, and that they diverge after a change | PASS | TIMEOUT | PASS | PASS |
| /webstorage/storage_set_value_enumerate.html | OK | OK | OK | OK |
| enumerate a localStorage object with the key and get the values | PASS | PASS | PASS | PASS |
| enumerate a sessionStorage object with the key and get the values | PASS | PASS | PASS | PASS |
| /webstorage/storage_setitem.html | OK | OK | OK | OK |
| localStorage.setItem() | PASS | PASS | PASS | PASS |
| localStorage[] | PASS | PASS | PASS | PASS |
| localStorage[] update | PASS | PASS | PASS | PASS |
| localStorage.setItem(_, null) | PASS | PASS | PASS | PASS |
| localStorage[] = null | PASS | PASS | PASS | PASS |
| localStorage.setItem(_, undefined) | PASS | PASS | PASS | PASS |
| localStorage[] = undefined | PASS | PASS | PASS | PASS |
| localStorage.setItem({ throws }) | PASS | PASS | PASS | PASS |
| localStorage[] = { throws } | PASS | PASS | PASS | PASS |
| localStorage.setItem(undefined, _) | PASS | PASS | PASS | PASS |
| localStorage[undefined] | PASS | PASS | PASS | PASS |
| localStorage.setItem(null, _) | PASS | PASS | PASS | PASS |
| localStorage[null] | PASS | PASS | PASS | PASS |
| localStorage key containing null | PASS | FAIL | PASS | PASS |
| localStorage value containing null | PASS | FAIL | PASS | PASS |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage["�"] | PASS | PASS | PASS | - |
| localStorage[] = "�" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | FAIL | PASS | - |
| localStorage[] = "" | PASS | FAIL | PASS | - |
| localStorage[""] | PASS | FAIL | PASS | - |
| localStorage[] = "" | PASS | FAIL | PASS | - |
| localStorage["🍍"] | PASS | PASS | PASS | - |
| localStorage[] = "🍍" | PASS | PASS | PASS | - |
| localStorage["�a"] | PASS | - | PASS | - |
| localStorage[] = "�a" | PASS | - | PASS | - |
| localStorage["a�"] | PASS | - | PASS | - |
| localStorage[] = "a�" | PASS | - | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage["\0"] | PASS | PASS | PASS | PASS |
| localStorage[] = "\0" | PASS | FAIL | PASS | PASS |
| localStorage["\x01"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x01" | PASS | FAIL | PASS | PASS |
| localStorage["\x02"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x02" | PASS | FAIL | PASS | PASS |
| localStorage["\x03"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x03" | PASS | FAIL | PASS | PASS |
| localStorage["\x04"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x04" | PASS | FAIL | PASS | PASS |
| localStorage["\x05"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x05" | PASS | FAIL | PASS | PASS |
| localStorage["\x06"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x06" | PASS | FAIL | PASS | PASS |
| localStorage["\x07"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x07" | PASS | FAIL | PASS | PASS |
| localStorage["\b"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\b" | PASS | FAIL | PASS | PASS |
| localStorage["\t"] | PASS | PASS | PASS | PASS |
| localStorage[] = "\t" | PASS | PASS | PASS | PASS |
| localStorage["\n"] | PASS | PASS | PASS | PASS |
| localStorage[] = "\n" | PASS | PASS | PASS | PASS |
| localStorage["\v"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\v" | PASS | FAIL | PASS | PASS |
| localStorage["\f"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\f" | PASS | FAIL | PASS | PASS |
| localStorage["\r"] | PASS | PASS | PASS | PASS |
| localStorage[] = "\r" | PASS | PASS | PASS | PASS |
| localStorage["\x0e"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x0e" | PASS | FAIL | PASS | PASS |
| localStorage["\x0f"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x0f" | PASS | FAIL | PASS | PASS |
| localStorage["\x10"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x10" | PASS | FAIL | PASS | PASS |
| localStorage["\x11"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x11" | PASS | FAIL | PASS | PASS |
| localStorage["\x12"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x12" | PASS | FAIL | PASS | PASS |
| localStorage["\x13"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x13" | PASS | FAIL | PASS | PASS |
| localStorage["\x14"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x14" | PASS | FAIL | PASS | PASS |
| localStorage["\x15"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x15" | PASS | FAIL | PASS | PASS |
| localStorage["\x16"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x16" | PASS | FAIL | PASS | PASS |
| localStorage["\x17"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x17" | PASS | FAIL | PASS | PASS |
| localStorage["\x18"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x18" | PASS | FAIL | PASS | PASS |
| localStorage["\x19"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x19" | PASS | FAIL | PASS | PASS |
| localStorage["\x1a"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x1a" | PASS | FAIL | PASS | PASS |
| localStorage["\x1b"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x1b" | PASS | FAIL | PASS | PASS |
| localStorage["\x1c"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x1c" | PASS | FAIL | PASS | PASS |
| localStorage["\x1d"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x1d" | PASS | FAIL | PASS | PASS |
| localStorage["\x1e"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x1e" | PASS | FAIL | PASS | PASS |
| localStorage["\x1f"] | PASS | FAIL | PASS | PASS |
| localStorage[] = "\x1f" | PASS | FAIL | PASS | PASS |
| localStorage[" "] | PASS | PASS | PASS | PASS |
| localStorage[] = " " | PASS | PASS | PASS | PASS |
| localStorage["!"] | PASS | PASS | PASS | PASS |
| localStorage[] = "!" | PASS | PASS | PASS | PASS |
| localStorage["\""] | PASS | PASS | PASS | PASS |
| localStorage[] = "\"" | PASS | PASS | PASS | PASS |
| localStorage["#"] | PASS | PASS | PASS | PASS |
| localStorage[] = "#" | PASS | PASS | PASS | PASS |
| localStorage["$"] | PASS | PASS | PASS | PASS |
| localStorage[] = "$" | PASS | PASS | PASS | PASS |
| localStorage["%"] | PASS | PASS | PASS | PASS |
| localStorage[] = "%" | PASS | PASS | PASS | PASS |
| localStorage["&"] | PASS | PASS | PASS | PASS |
| localStorage[] = "&" | PASS | PASS | PASS | PASS |
| localStorage["'"] | PASS | PASS | PASS | PASS |
| localStorage[] = "'" | PASS | PASS | PASS | PASS |
| localStorage["("] | PASS | PASS | PASS | PASS |
| localStorage[] = "(" | PASS | PASS | PASS | PASS |
| localStorage[")"] | PASS | PASS | PASS | PASS |
| localStorage[] = ")" | PASS | PASS | PASS | PASS |
| localStorage["*"] | PASS | PASS | PASS | PASS |
| localStorage[] = "*" | PASS | PASS | PASS | PASS |
| localStorage["+"] | PASS | PASS | PASS | PASS |
| localStorage[] = "+" | PASS | PASS | PASS | PASS |
| localStorage[","] | PASS | PASS | PASS | PASS |
| localStorage[] = "," | PASS | PASS | PASS | PASS |
| localStorage["-"] | PASS | PASS | PASS | PASS |
| localStorage[] = "-" | PASS | PASS | PASS | PASS |
| localStorage["."] | PASS | PASS | PASS | PASS |
| localStorage[] = "." | PASS | PASS | PASS | PASS |
| localStorage["/"] | PASS | PASS | PASS | PASS |
| localStorage[] = "/" | PASS | PASS | PASS | PASS |
| localStorage["0"] | PASS | PASS | PASS | PASS |
| localStorage[] = "0" | PASS | PASS | PASS | PASS |
| localStorage["1"] | PASS | PASS | PASS | PASS |
| localStorage[] = "1" | PASS | PASS | PASS | PASS |
| localStorage["2"] | PASS | PASS | PASS | PASS |
| localStorage[] = "2" | PASS | PASS | PASS | PASS |
| localStorage["3"] | PASS | PASS | PASS | PASS |
| localStorage[] = "3" | PASS | PASS | PASS | PASS |
| localStorage["4"] | PASS | PASS | PASS | PASS |
| localStorage[] = "4" | PASS | PASS | PASS | PASS |
| localStorage["5"] | PASS | PASS | PASS | PASS |
| localStorage[] = "5" | PASS | PASS | PASS | PASS |
| localStorage["6"] | PASS | PASS | PASS | PASS |
| localStorage[] = "6" | PASS | PASS | PASS | PASS |
| localStorage["7"] | PASS | PASS | PASS | PASS |
| localStorage[] = "7" | PASS | PASS | PASS | PASS |
| localStorage["8"] | PASS | PASS | PASS | PASS |
| localStorage[] = "8" | PASS | PASS | PASS | PASS |
| localStorage["9"] | PASS | PASS | PASS | PASS |
| localStorage[] = "9" | PASS | PASS | PASS | PASS |
| localStorage[":"] | PASS | PASS | PASS | PASS |
| localStorage[] = ":" | PASS | PASS | PASS | PASS |
| localStorage[";"] | PASS | PASS | PASS | PASS |
| localStorage[] = ";" | PASS | PASS | PASS | PASS |
| localStorage["<"] | PASS | PASS | PASS | PASS |
| localStorage[] = "<" | PASS | PASS | PASS | PASS |
| localStorage["="] | PASS | PASS | PASS | PASS |
| localStorage[] = "=" | PASS | PASS | PASS | PASS |
| localStorage[">"] | PASS | PASS | PASS | PASS |
| localStorage[] = ">" | PASS | PASS | PASS | PASS |
| localStorage["?"] | PASS | PASS | PASS | PASS |
| localStorage[] = "?" | PASS | PASS | PASS | PASS |
| localStorage["@"] | PASS | PASS | PASS | PASS |
| localStorage[] = "@" | PASS | PASS | PASS | PASS |
| localStorage["A"] | PASS | PASS | PASS | PASS |
| localStorage[] = "A" | PASS | PASS | PASS | PASS |
| localStorage["B"] | PASS | PASS | PASS | PASS |
| localStorage[] = "B" | PASS | PASS | PASS | PASS |
| localStorage["C"] | PASS | PASS | PASS | PASS |
| localStorage[] = "C" | PASS | PASS | PASS | PASS |
| localStorage["D"] | PASS | PASS | PASS | PASS |
| localStorage[] = "D" | PASS | PASS | PASS | PASS |
| localStorage["E"] | PASS | PASS | PASS | PASS |
| localStorage[] = "E" | PASS | PASS | PASS | PASS |
| localStorage["F"] | PASS | PASS | PASS | PASS |
| localStorage[] = "F" | PASS | PASS | PASS | PASS |
| localStorage["G"] | PASS | PASS | PASS | PASS |
| localStorage[] = "G" | PASS | PASS | PASS | PASS |
| localStorage["H"] | PASS | PASS | PASS | PASS |
| localStorage[] = "H" | PASS | PASS | PASS | PASS |
| localStorage["I"] | PASS | PASS | PASS | PASS |
| localStorage[] = "I" | PASS | PASS | PASS | PASS |
| localStorage["J"] | PASS | PASS | PASS | PASS |
| localStorage[] = "J" | PASS | PASS | PASS | PASS |
| localStorage["K"] | PASS | PASS | PASS | PASS |
| localStorage[] = "K" | PASS | PASS | PASS | PASS |
| localStorage["L"] | PASS | PASS | PASS | PASS |
| localStorage[] = "L" | PASS | PASS | PASS | PASS |
| localStorage["M"] | PASS | PASS | PASS | PASS |
| localStorage[] = "M" | PASS | PASS | PASS | PASS |
| localStorage["N"] | PASS | PASS | PASS | PASS |
| localStorage[] = "N" | PASS | PASS | PASS | PASS |
| localStorage["O"] | PASS | PASS | PASS | PASS |
| localStorage[] = "O" | PASS | PASS | PASS | PASS |
| localStorage["P"] | PASS | PASS | PASS | PASS |
| localStorage[] = "P" | PASS | PASS | PASS | PASS |
| localStorage["Q"] | PASS | PASS | PASS | PASS |
| localStorage[] = "Q" | PASS | PASS | PASS | PASS |
| localStorage["R"] | PASS | PASS | PASS | PASS |
| localStorage[] = "R" | PASS | PASS | PASS | PASS |
| localStorage["S"] | PASS | PASS | PASS | PASS |
| localStorage[] = "S" | PASS | PASS | PASS | PASS |
| localStorage["T"] | PASS | PASS | PASS | PASS |
| localStorage[] = "T" | PASS | PASS | PASS | PASS |
| localStorage["U"] | PASS | PASS | PASS | PASS |
| localStorage[] = "U" | PASS | PASS | PASS | PASS |
| localStorage["V"] | PASS | PASS | PASS | PASS |
| localStorage[] = "V" | PASS | PASS | PASS | PASS |
| localStorage["W"] | PASS | PASS | PASS | PASS |
| localStorage[] = "W" | PASS | PASS | PASS | PASS |
| localStorage["X"] | PASS | PASS | PASS | PASS |
| localStorage[] = "X" | PASS | PASS | PASS | PASS |
| localStorage["Y"] | PASS | PASS | PASS | PASS |
| localStorage[] = "Y" | PASS | PASS | PASS | PASS |
| localStorage["Z"] | PASS | PASS | PASS | PASS |
| localStorage[] = "Z" | PASS | PASS | PASS | PASS |
| localStorage["["] | PASS | PASS | PASS | PASS |
| localStorage[] = "[" | PASS | PASS | PASS | PASS |
| localStorage["\\"] | PASS | PASS | PASS | PASS |
| localStorage[] = "\\" | PASS | PASS | PASS | PASS |
| localStorage["]"] | PASS | PASS | PASS | PASS |
| localStorage[] = "]" | PASS | PASS | PASS | PASS |
| localStorage["^"] | PASS | PASS | PASS | PASS |
| localStorage[] = "^" | PASS | PASS | PASS | PASS |
| localStorage["_"] | PASS | PASS | PASS | PASS |
| localStorage[] = "_" | PASS | PASS | PASS | PASS |
| localStorage["`"] | PASS | PASS | PASS | PASS |
| localStorage[] = "`" | PASS | PASS | PASS | PASS |
| localStorage["a"] | PASS | PASS | PASS | PASS |
| localStorage[] = "a" | PASS | PASS | PASS | PASS |
| localStorage["b"] | PASS | PASS | PASS | PASS |
| localStorage[] = "b" | PASS | PASS | PASS | PASS |
| localStorage["c"] | PASS | PASS | PASS | PASS |
| localStorage[] = "c" | PASS | PASS | PASS | PASS |
| localStorage["d"] | PASS | PASS | PASS | PASS |
| localStorage[] = "d" | PASS | PASS | PASS | PASS |
| localStorage["e"] | PASS | PASS | PASS | PASS |
| localStorage[] = "e" | PASS | PASS | PASS | PASS |
| localStorage["f"] | PASS | PASS | PASS | PASS |
| localStorage[] = "f" | PASS | PASS | PASS | PASS |
| localStorage["g"] | PASS | PASS | PASS | PASS |
| localStorage[] = "g" | PASS | PASS | PASS | PASS |
| localStorage["h"] | PASS | PASS | PASS | PASS |
| localStorage[] = "h" | PASS | PASS | PASS | PASS |
| localStorage["i"] | PASS | PASS | PASS | PASS |
| localStorage[] = "i" | PASS | PASS | PASS | PASS |
| localStorage["j"] | PASS | PASS | PASS | PASS |
| localStorage[] = "j" | PASS | PASS | PASS | PASS |
| localStorage["k"] | PASS | PASS | PASS | PASS |
| localStorage[] = "k" | PASS | PASS | PASS | PASS |
| localStorage["l"] | PASS | PASS | PASS | PASS |
| localStorage[] = "l" | PASS | PASS | PASS | PASS |
| localStorage["m"] | PASS | PASS | PASS | PASS |
| localStorage[] = "m" | PASS | PASS | PASS | PASS |
| localStorage["n"] | PASS | PASS | PASS | PASS |
| localStorage[] = "n" | PASS | PASS | PASS | PASS |
| localStorage["o"] | PASS | PASS | PASS | PASS |
| localStorage[] = "o" | PASS | PASS | PASS | PASS |
| localStorage["p"] | PASS | PASS | PASS | PASS |
| localStorage[] = "p" | PASS | PASS | PASS | PASS |
| localStorage["q"] | PASS | PASS | PASS | PASS |
| localStorage[] = "q" | PASS | PASS | PASS | PASS |
| localStorage["r"] | PASS | PASS | PASS | PASS |
| localStorage[] = "r" | PASS | PASS | PASS | PASS |
| localStorage["s"] | PASS | PASS | PASS | PASS |
| localStorage[] = "s" | PASS | PASS | PASS | PASS |
| localStorage["t"] | PASS | PASS | PASS | PASS |
| localStorage[] = "t" | PASS | PASS | PASS | PASS |
| localStorage["u"] | PASS | PASS | PASS | PASS |
| localStorage[] = "u" | PASS | PASS | PASS | PASS |
| localStorage["v"] | PASS | PASS | PASS | PASS |
| localStorage[] = "v" | PASS | PASS | PASS | PASS |
| localStorage["w"] | PASS | PASS | PASS | PASS |
| localStorage[] = "w" | PASS | PASS | PASS | PASS |
| localStorage["x"] | PASS | PASS | PASS | PASS |
| localStorage[] = "x" | PASS | PASS | PASS | PASS |
| localStorage["y"] | PASS | PASS | PASS | PASS |
| localStorage[] = "y" | PASS | PASS | PASS | PASS |
| localStorage["z"] | PASS | PASS | PASS | PASS |
| localStorage[] = "z" | PASS | PASS | PASS | PASS |
| localStorage["{"] | PASS | PASS | PASS | PASS |
| localStorage[] = "{" | PASS | PASS | PASS | PASS |
| localStorage["|"] | PASS | PASS | PASS | PASS |
| localStorage[] = "|" | PASS | PASS | PASS | PASS |
| localStorage["}"] | PASS | PASS | PASS | PASS |
| localStorage[] = "}" | PASS | PASS | PASS | PASS |
| localStorage["~"] | PASS | PASS | PASS | PASS |
| localStorage[] = "~" | PASS | PASS | PASS | PASS |
| localStorage[""] | PASS | PASS | PASS | PASS |
| localStorage[] = "" | PASS | PASS | PASS | PASS |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[" "] | PASS | PASS | PASS | - |
| localStorage[] = " " | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage[" "] | PASS | - | PASS | - |
| localStorage[] = " " | PASS | - | PASS | - |
| localStorage["¡"] | PASS | PASS | PASS | - |
| localStorage[] = "¡" | PASS | PASS | PASS | - |
| localStorage["¢"] | PASS | PASS | PASS | - |
| localStorage[] = "¢" | PASS | PASS | PASS | - |
| localStorage["£"] | PASS | PASS | PASS | - |
| localStorage[] = "£" | PASS | PASS | PASS | - |
| localStorage["¤"] | PASS | PASS | PASS | - |
| localStorage[] = "¤" | PASS | PASS | PASS | - |
| localStorage["¥"] | PASS | PASS | PASS | - |
| localStorage[] = "¥" | PASS | PASS | PASS | - |
| localStorage["¦"] | PASS | PASS | PASS | - |
| localStorage[] = "¦" | PASS | PASS | PASS | - |
| localStorage["§"] | PASS | PASS | PASS | - |
| localStorage[] = "§" | PASS | PASS | PASS | - |
| localStorage["¨"] | PASS | PASS | PASS | - |
| localStorage[] = "¨" | PASS | PASS | PASS | - |
| localStorage["©"] | PASS | PASS | PASS | - |
| localStorage[] = "©" | PASS | PASS | PASS | - |
| localStorage["ª"] | PASS | PASS | PASS | - |
| localStorage[] = "ª" | PASS | PASS | PASS | - |
| localStorage["«"] | PASS | PASS | PASS | - |
| localStorage[] = "«" | PASS | PASS | PASS | - |
| localStorage["¬"] | PASS | PASS | PASS | - |
| localStorage[] = "¬" | PASS | PASS | PASS | - |
| localStorage[""] | PASS | PASS | PASS | - |
| localStorage[] = "" | PASS | PASS | PASS | - |
| localStorage["®"] | PASS | PASS | PASS | - |
| localStorage[] = "®" | PASS | PASS | PASS | - |
| localStorage["¯"] | PASS | PASS | PASS | - |
| localStorage[] = "¯" | PASS | PASS | PASS | - |
| localStorage["°"] | PASS | PASS | PASS | - |
| localStorage[] = "°" | PASS | PASS | PASS | - |
| localStorage["±"] | PASS | PASS | PASS | - |
| localStorage[] = "±" | PASS | PASS | PASS | - |
| localStorage["²"] | PASS | PASS | PASS | - |
| localStorage[] = "²" | PASS | PASS | PASS | - |
| localStorage["³"] | PASS | PASS | PASS | - |
| localStorage[] = "³" | PASS | PASS | PASS | - |
| localStorage["´"] | PASS | PASS | PASS | - |
| localStorage[] = "´" | PASS | PASS | PASS | - |
| localStorage["µ"] | PASS | PASS | PASS | - |
| localStorage[] = "µ" | PASS | PASS | PASS | - |
| localStorage["¶"] | PASS | PASS | PASS | - |
| localStorage[] = "¶" | PASS | PASS | PASS | - |
| localStorage["·"] | PASS | PASS | PASS | - |
| localStorage[] = "·" | PASS | PASS | PASS | - |
| localStorage["¸"] | PASS | PASS | PASS | - |
| localStorage[] = "¸" | PASS | PASS | PASS | - |
| localStorage["¹"] | PASS | PASS | PASS | - |
| localStorage[] = "¹" | PASS | PASS | PASS | - |
| localStorage["º"] | PASS | PASS | PASS | - |
| localStorage[] = "º" | PASS | PASS | PASS | - |
| localStorage["»"] | PASS | PASS | PASS | - |
| localStorage[] = "»" | PASS | PASS | PASS | - |
| localStorage["¼"] | PASS | PASS | PASS | - |
| localStorage[] = "¼" | PASS | PASS | PASS | - |
| localStorage["½"] | PASS | PASS | PASS | - |
| localStorage[] = "½" | PASS | PASS | PASS | - |
| localStorage["¾"] | PASS | PASS | PASS | - |
| localStorage[] = "¾" | PASS | PASS | PASS | - |
| localStorage["¿"] | PASS | PASS | PASS | - |
| localStorage[] = "¿" | PASS | PASS | PASS | - |
| localStorage["À"] | PASS | PASS | PASS | - |
| localStorage[] = "À" | PASS | PASS | PASS | - |
| localStorage["Á"] | PASS | PASS | PASS | - |
| localStorage[] = "Á" | PASS | PASS | PASS | - |
| localStorage["Â"] | PASS | PASS | PASS | - |
| localStorage[] = "Â" | PASS | PASS | PASS | - |
| localStorage["Ã"] | PASS | PASS | PASS | - |
| localStorage[] = "Ã" | PASS | PASS | PASS | - |
| localStorage["Ä"] | PASS | PASS | PASS | - |
| localStorage[] = "Ä" | PASS | PASS | PASS | - |
| localStorage["Å"] | PASS | PASS | PASS | - |
| localStorage[] = "Å" | PASS | PASS | PASS | - |
| localStorage["Æ"] | PASS | PASS | PASS | - |
| localStorage[] = "Æ" | PASS | PASS | PASS | - |
| localStorage["Ç"] | PASS | PASS | PASS | - |
| localStorage[] = "Ç" | PASS | PASS | PASS | - |
| localStorage["È"] | PASS | PASS | PASS | - |
| localStorage[] = "È" | PASS | PASS | PASS | - |
| localStorage["É"] | PASS | PASS | PASS | - |
| localStorage[] = "É" | PASS | PASS | PASS | - |
| localStorage["Ê"] | PASS | PASS | PASS | - |
| localStorage[] = "Ê" | PASS | PASS | PASS | - |
| localStorage["Ë"] | PASS | PASS | PASS | - |
| localStorage[] = "Ë" | PASS | PASS | PASS | - |
| localStorage["Ì"] | PASS | PASS | PASS | - |
| localStorage[] = "Ì" | PASS | PASS | PASS | - |
| localStorage["Í"] | PASS | PASS | PASS | - |
| localStorage[] = "Í" | PASS | PASS | PASS | - |
| localStorage["Î"] | PASS | PASS | PASS | - |
| localStorage[] = "Î" | PASS | PASS | PASS | - |
| localStorage["Ï"] | PASS | PASS | PASS | - |
| localStorage[] = "Ï" | PASS | PASS | PASS | - |
| localStorage["Ð"] | PASS | PASS | PASS | - |
| localStorage[] = "Ð" | PASS | PASS | PASS | - |
| localStorage["Ñ"] | PASS | PASS | PASS | - |
| localStorage[] = "Ñ" | PASS | PASS | PASS | - |
| localStorage["Ò"] | PASS | PASS | PASS | - |
| localStorage[] = "Ò" | PASS | PASS | PASS | - |
| localStorage["Ó"] | PASS | PASS | PASS | - |
| localStorage[] = "Ó" | PASS | PASS | PASS | - |
| localStorage["Ô"] | PASS | PASS | PASS | - |
| localStorage[] = "Ô" | PASS | PASS | PASS | - |
| localStorage["Õ"] | PASS | PASS | PASS | - |
| localStorage[] = "Õ" | PASS | PASS | PASS | - |
| localStorage["Ö"] | PASS | PASS | PASS | - |
| localStorage[] = "Ö" | PASS | PASS | PASS | - |
| localStorage["×"] | PASS | PASS | PASS | - |
| localStorage[] = "×" | PASS | PASS | PASS | - |
| localStorage["Ø"] | PASS | PASS | PASS | - |
| localStorage[] = "Ø" | PASS | PASS | PASS | - |
| localStorage["Ù"] | PASS | PASS | PASS | - |
| localStorage[] = "Ù" | PASS | PASS | PASS | - |
| localStorage["Ú"] | PASS | PASS | PASS | - |
| localStorage[] = "Ú" | PASS | PASS | PASS | - |
| localStorage["Û"] | PASS | PASS | PASS | - |
| localStorage[] = "Û" | PASS | PASS | PASS | - |
| localStorage["Ü"] | PASS | PASS | PASS | - |
| localStorage[] = "Ü" | PASS | PASS | PASS | - |
| localStorage["Ý"] | PASS | PASS | PASS | - |
| localStorage[] = "Ý" | PASS | PASS | PASS | - |
| localStorage["Þ"] | PASS | PASS | PASS | - |
| localStorage[] = "Þ" | PASS | PASS | PASS | - |
| localStorage["ß"] | PASS | PASS | PASS | - |
| localStorage[] = "ß" | PASS | PASS | PASS | - |
| localStorage["à"] | PASS | PASS | PASS | - |
| localStorage[] = "à" | PASS | PASS | PASS | - |
| localStorage["á"] | PASS | PASS | PASS | - |
| localStorage[] = "á" | PASS | PASS | PASS | - |
| localStorage["â"] | PASS | PASS | PASS | - |
| localStorage[] = "â" | PASS | PASS | PASS | - |
| localStorage["ã"] | PASS | PASS | PASS | - |
| localStorage[] = "ã" | PASS | PASS | PASS | - |
| localStorage["ä"] | PASS | PASS | PASS | - |
| localStorage[] = "ä" | PASS | PASS | PASS | - |
| localStorage["å"] | PASS | PASS | PASS | - |
| localStorage[] = "å" | PASS | PASS | PASS | - |
| localStorage["æ"] | PASS | PASS | PASS | - |
| localStorage[] = "æ" | PASS | PASS | PASS | - |
| localStorage["ç"] | PASS | PASS | PASS | - |
| localStorage[] = "ç" | PASS | PASS | PASS | - |
| localStorage["è"] | PASS | PASS | PASS | - |
| localStorage[] = "è" | PASS | PASS | PASS | - |
| localStorage["é"] | PASS | PASS | PASS | - |
| localStorage[] = "é" | PASS | PASS | PASS | - |
| localStorage["ê"] | PASS | PASS | PASS | - |
| localStorage[] = "ê" | PASS | PASS | PASS | - |
| localStorage["ë"] | PASS | PASS | PASS | - |
| localStorage[] = "ë" | PASS | PASS | PASS | - |
| localStorage["ì"] | PASS | PASS | PASS | - |
| localStorage[] = "ì" | PASS | PASS | PASS | - |
| localStorage["í"] | PASS | PASS | PASS | - |
| localStorage[] = "í" | PASS | PASS | PASS | - |
| localStorage["î"] | PASS | PASS | PASS | - |
| localStorage[] = "î" | PASS | PASS | PASS | - |
| localStorage["ï"] | PASS | PASS | PASS | - |
| localStorage[] = "ï" | PASS | PASS | PASS | - |
| localStorage["ð"] | PASS | PASS | PASS | - |
| localStorage[] = "ð" | PASS | PASS | PASS | - |
| localStorage["ñ"] | PASS | PASS | PASS | - |
| localStorage[] = "ñ" | PASS | PASS | PASS | - |
| localStorage["ò"] | PASS | PASS | PASS | - |
| localStorage[] = "ò" | PASS | PASS | PASS | - |
| localStorage["ó"] | PASS | PASS | PASS | - |
| localStorage[] = "ó" | PASS | PASS | PASS | - |
| localStorage["ô"] | PASS | PASS | PASS | - |
| localStorage[] = "ô" | PASS | PASS | PASS | - |
| localStorage["õ"] | PASS | PASS | PASS | - |
| localStorage[] = "õ" | PASS | PASS | PASS | - |
| localStorage["ö"] | PASS | PASS | PASS | - |
| localStorage[] = "ö" | PASS | PASS | PASS | - |
| localStorage["÷"] | PASS | PASS | PASS | - |
| localStorage[] = "÷" | PASS | PASS | PASS | - |
| localStorage["ø"] | PASS | PASS | PASS | - |
| localStorage[] = "ø" | PASS | PASS | PASS | - |
| localStorage["ù"] | PASS | PASS | PASS | - |
| localStorage[] = "ù" | PASS | PASS | PASS | - |
| localStorage["ú"] | PASS | PASS | PASS | - |
| localStorage[] = "ú" | PASS | PASS | PASS | - |
| localStorage["û"] | PASS | PASS | PASS | - |
| localStorage[] = "û" | PASS | PASS | PASS | - |
| localStorage["ü"] | PASS | PASS | PASS | - |
| localStorage[] = "ü" | PASS | PASS | PASS | - |
| localStorage["ý"] | PASS | PASS | PASS | - |
| localStorage[] = "ý" | PASS | PASS | PASS | - |
| localStorage["þ"] | PASS | PASS | PASS | - |
| localStorage[] = "þ" | PASS | PASS | PASS | - |
| localStorage["ÿ"] | PASS | PASS | PASS | - |
| localStorage[] = "ÿ" | PASS | PASS | PASS | - |
| sessionStorage.setItem() | PASS | PASS | PASS | PASS |
| sessionStorage[] | PASS | PASS | PASS | PASS |
| sessionStorage[] update | PASS | PASS | PASS | PASS |
| sessionStorage.setItem(_, null) | PASS | PASS | PASS | PASS |
| sessionStorage[] = null | PASS | PASS | PASS | PASS |
| sessionStorage.setItem(_, undefined) | PASS | PASS | PASS | PASS |
| sessionStorage[] = undefined | PASS | PASS | PASS | PASS |
| sessionStorage.setItem({ throws }) | PASS | PASS | PASS | PASS |
| sessionStorage[] = { throws } | PASS | PASS | PASS | PASS |
| sessionStorage.setItem(undefined, _) | PASS | PASS | PASS | PASS |
| sessionStorage[undefined] | PASS | PASS | PASS | PASS |
| sessionStorage.setItem(null, _) | PASS | PASS | PASS | PASS |
| sessionStorage[null] | PASS | PASS | PASS | PASS |
| sessionStorage key containing null | PASS | FAIL | PASS | PASS |
| sessionStorage value containing null | PASS | FAIL | PASS | PASS |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage["�"] | PASS | PASS | PASS | - |
| sessionStorage[] = "�" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage["🍍"] | PASS | PASS | PASS | - |
| sessionStorage[] = "🍍" | PASS | PASS | PASS | - |
| sessionStorage["�a"] | PASS | - | PASS | - |
| sessionStorage[] = "�a" | PASS | - | PASS | - |
| sessionStorage["a�"] | PASS | - | PASS | - |
| sessionStorage[] = "a�" | PASS | - | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage["\0"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\0" | PASS | FAIL | PASS | PASS |
| sessionStorage["\x01"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x01" | PASS | PASS | PASS | PASS |
| sessionStorage["\x02"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x02" | PASS | PASS | PASS | PASS |
| sessionStorage["\x03"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x03" | PASS | PASS | PASS | PASS |
| sessionStorage["\x04"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x04" | PASS | PASS | PASS | PASS |
| sessionStorage["\x05"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x05" | PASS | PASS | PASS | PASS |
| sessionStorage["\x06"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x06" | PASS | PASS | PASS | PASS |
| sessionStorage["\x07"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x07" | PASS | PASS | PASS | PASS |
| sessionStorage["\b"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\b" | PASS | PASS | PASS | PASS |
| sessionStorage["\t"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\t" | PASS | PASS | PASS | PASS |
| sessionStorage["\n"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\n" | PASS | PASS | PASS | PASS |
| sessionStorage["\v"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\v" | PASS | PASS | PASS | PASS |
| sessionStorage["\f"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\f" | PASS | PASS | PASS | PASS |
| sessionStorage["\r"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\r" | PASS | PASS | PASS | PASS |
| sessionStorage["\x0e"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x0e" | PASS | PASS | PASS | PASS |
| sessionStorage["\x0f"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x0f" | PASS | PASS | PASS | PASS |
| sessionStorage["\x10"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x10" | PASS | PASS | PASS | PASS |
| sessionStorage["\x11"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x11" | PASS | PASS | PASS | PASS |
| sessionStorage["\x12"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x12" | PASS | PASS | PASS | PASS |
| sessionStorage["\x13"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x13" | PASS | PASS | PASS | PASS |
| sessionStorage["\x14"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x14" | PASS | PASS | PASS | PASS |
| sessionStorage["\x15"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x15" | PASS | PASS | PASS | PASS |
| sessionStorage["\x16"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x16" | PASS | PASS | PASS | PASS |
| sessionStorage["\x17"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x17" | PASS | PASS | PASS | PASS |
| sessionStorage["\x18"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x18" | PASS | PASS | PASS | PASS |
| sessionStorage["\x19"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x19" | PASS | PASS | PASS | PASS |
| sessionStorage["\x1a"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x1a" | PASS | PASS | PASS | PASS |
| sessionStorage["\x1b"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x1b" | PASS | PASS | PASS | PASS |
| sessionStorage["\x1c"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x1c" | PASS | PASS | PASS | PASS |
| sessionStorage["\x1d"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x1d" | PASS | PASS | PASS | PASS |
| sessionStorage["\x1e"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x1e" | PASS | PASS | PASS | PASS |
| sessionStorage["\x1f"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\x1f" | PASS | PASS | PASS | PASS |
| sessionStorage[" "] | PASS | PASS | PASS | PASS |
| sessionStorage[] = " " | PASS | PASS | PASS | PASS |
| sessionStorage["!"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "!" | PASS | PASS | PASS | PASS |
| sessionStorage["\""] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\"" | PASS | PASS | PASS | PASS |
| sessionStorage["#"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "#" | PASS | PASS | PASS | PASS |
| sessionStorage["$"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "$" | PASS | PASS | PASS | PASS |
| sessionStorage["%"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "%" | PASS | PASS | PASS | PASS |
| sessionStorage["&"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "&" | PASS | PASS | PASS | PASS |
| sessionStorage["'"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "'" | PASS | PASS | PASS | PASS |
| sessionStorage["("] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "(" | PASS | PASS | PASS | PASS |
| sessionStorage[")"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = ")" | PASS | PASS | PASS | PASS |
| sessionStorage["*"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "*" | PASS | PASS | PASS | PASS |
| sessionStorage["+"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "+" | PASS | PASS | PASS | PASS |
| sessionStorage[","] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "," | PASS | PASS | PASS | PASS |
| sessionStorage["-"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "-" | PASS | PASS | PASS | PASS |
| sessionStorage["."] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "." | PASS | PASS | PASS | PASS |
| sessionStorage["/"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "/" | PASS | PASS | PASS | PASS |
| sessionStorage["0"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "0" | PASS | PASS | PASS | PASS |
| sessionStorage["1"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "1" | PASS | PASS | PASS | PASS |
| sessionStorage["2"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "2" | PASS | PASS | PASS | PASS |
| sessionStorage["3"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "3" | PASS | PASS | PASS | PASS |
| sessionStorage["4"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "4" | PASS | PASS | PASS | PASS |
| sessionStorage["5"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "5" | PASS | PASS | PASS | PASS |
| sessionStorage["6"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "6" | PASS | PASS | PASS | PASS |
| sessionStorage["7"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "7" | PASS | PASS | PASS | PASS |
| sessionStorage["8"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "8" | PASS | PASS | PASS | PASS |
| sessionStorage["9"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "9" | PASS | PASS | PASS | PASS |
| sessionStorage[":"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = ":" | PASS | PASS | PASS | PASS |
| sessionStorage[";"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = ";" | PASS | PASS | PASS | PASS |
| sessionStorage["<"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "<" | PASS | PASS | PASS | PASS |
| sessionStorage["="] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "=" | PASS | PASS | PASS | PASS |
| sessionStorage[">"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = ">" | PASS | PASS | PASS | PASS |
| sessionStorage["?"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "?" | PASS | PASS | PASS | PASS |
| sessionStorage["@"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "@" | PASS | PASS | PASS | PASS |
| sessionStorage["A"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "A" | PASS | PASS | PASS | PASS |
| sessionStorage["B"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "B" | PASS | PASS | PASS | PASS |
| sessionStorage["C"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "C" | PASS | PASS | PASS | PASS |
| sessionStorage["D"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "D" | PASS | PASS | PASS | PASS |
| sessionStorage["E"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "E" | PASS | PASS | PASS | PASS |
| sessionStorage["F"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "F" | PASS | PASS | PASS | PASS |
| sessionStorage["G"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "G" | PASS | PASS | PASS | PASS |
| sessionStorage["H"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "H" | PASS | PASS | PASS | PASS |
| sessionStorage["I"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "I" | PASS | PASS | PASS | PASS |
| sessionStorage["J"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "J" | PASS | PASS | PASS | PASS |
| sessionStorage["K"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "K" | PASS | PASS | PASS | PASS |
| sessionStorage["L"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "L" | PASS | PASS | PASS | PASS |
| sessionStorage["M"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "M" | PASS | PASS | PASS | PASS |
| sessionStorage["N"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "N" | PASS | PASS | PASS | PASS |
| sessionStorage["O"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "O" | PASS | PASS | PASS | PASS |
| sessionStorage["P"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "P" | PASS | PASS | PASS | PASS |
| sessionStorage["Q"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "Q" | PASS | PASS | PASS | PASS |
| sessionStorage["R"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "R" | PASS | PASS | PASS | PASS |
| sessionStorage["S"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "S" | PASS | PASS | PASS | PASS |
| sessionStorage["T"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "T" | PASS | PASS | PASS | PASS |
| sessionStorage["U"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "U" | PASS | PASS | PASS | PASS |
| sessionStorage["V"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "V" | PASS | PASS | PASS | PASS |
| sessionStorage["W"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "W" | PASS | PASS | PASS | PASS |
| sessionStorage["X"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "X" | PASS | PASS | PASS | PASS |
| sessionStorage["Y"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "Y" | PASS | PASS | PASS | PASS |
| sessionStorage["Z"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "Z" | PASS | PASS | PASS | PASS |
| sessionStorage["["] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "[" | PASS | PASS | PASS | PASS |
| sessionStorage["\\"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "\\" | PASS | PASS | PASS | PASS |
| sessionStorage["]"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "]" | PASS | PASS | PASS | PASS |
| sessionStorage["^"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "^" | PASS | PASS | PASS | PASS |
| sessionStorage["_"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "_" | PASS | PASS | PASS | PASS |
| sessionStorage["`"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "`" | PASS | PASS | PASS | PASS |
| sessionStorage["a"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "a" | PASS | PASS | PASS | PASS |
| sessionStorage["b"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "b" | PASS | PASS | PASS | PASS |
| sessionStorage["c"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "c" | PASS | PASS | PASS | PASS |
| sessionStorage["d"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "d" | PASS | PASS | PASS | PASS |
| sessionStorage["e"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "e" | PASS | PASS | PASS | PASS |
| sessionStorage["f"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "f" | PASS | PASS | PASS | PASS |
| sessionStorage["g"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "g" | PASS | PASS | PASS | PASS |
| sessionStorage["h"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "h" | PASS | PASS | PASS | PASS |
| sessionStorage["i"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "i" | PASS | PASS | PASS | PASS |
| sessionStorage["j"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "j" | PASS | PASS | PASS | PASS |
| sessionStorage["k"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "k" | PASS | PASS | PASS | PASS |
| sessionStorage["l"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "l" | PASS | PASS | PASS | PASS |
| sessionStorage["m"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "m" | PASS | PASS | PASS | PASS |
| sessionStorage["n"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "n" | PASS | PASS | PASS | PASS |
| sessionStorage["o"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "o" | PASS | PASS | PASS | PASS |
| sessionStorage["p"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "p" | PASS | PASS | PASS | PASS |
| sessionStorage["q"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "q" | PASS | PASS | PASS | PASS |
| sessionStorage["r"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "r" | PASS | PASS | PASS | PASS |
| sessionStorage["s"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "s" | PASS | PASS | PASS | PASS |
| sessionStorage["t"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "t" | PASS | PASS | PASS | PASS |
| sessionStorage["u"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "u" | PASS | PASS | PASS | PASS |
| sessionStorage["v"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "v" | PASS | PASS | PASS | PASS |
| sessionStorage["w"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "w" | PASS | PASS | PASS | PASS |
| sessionStorage["x"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "x" | PASS | PASS | PASS | PASS |
| sessionStorage["y"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "y" | PASS | PASS | PASS | PASS |
| sessionStorage["z"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "z" | PASS | PASS | PASS | PASS |
| sessionStorage["{"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "{" | PASS | PASS | PASS | PASS |
| sessionStorage["|"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "|" | PASS | PASS | PASS | PASS |
| sessionStorage["}"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "}" | PASS | PASS | PASS | PASS |
| sessionStorage["~"] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "~" | PASS | PASS | PASS | PASS |
| sessionStorage[""] | PASS | PASS | PASS | PASS |
| sessionStorage[] = "" | PASS | PASS | PASS | PASS |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[" "] | PASS | PASS | PASS | - |
| sessionStorage[] = " " | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage[" "] | PASS | - | PASS | - |
| sessionStorage[] = " " | PASS | - | PASS | - |
| sessionStorage["¡"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¡" | PASS | PASS | PASS | - |
| sessionStorage["¢"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¢" | PASS | PASS | PASS | - |
| sessionStorage["£"] | PASS | PASS | PASS | - |
| sessionStorage[] = "£" | PASS | PASS | PASS | - |
| sessionStorage["¤"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¤" | PASS | PASS | PASS | - |
| sessionStorage["¥"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¥" | PASS | PASS | PASS | - |
| sessionStorage["¦"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¦" | PASS | PASS | PASS | - |
| sessionStorage["§"] | PASS | PASS | PASS | - |
| sessionStorage[] = "§" | PASS | PASS | PASS | - |
| sessionStorage["¨"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¨" | PASS | PASS | PASS | - |
| sessionStorage["©"] | PASS | PASS | PASS | - |
| sessionStorage[] = "©" | PASS | PASS | PASS | - |
| sessionStorage["ª"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ª" | PASS | PASS | PASS | - |
| sessionStorage["«"] | PASS | PASS | PASS | - |
| sessionStorage[] = "«" | PASS | PASS | PASS | - |
| sessionStorage["¬"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¬" | PASS | PASS | PASS | - |
| sessionStorage[""] | PASS | PASS | PASS | - |
| sessionStorage[] = "" | PASS | PASS | PASS | - |
| sessionStorage["®"] | PASS | PASS | PASS | - |
| sessionStorage[] = "®" | PASS | PASS | PASS | - |
| sessionStorage["¯"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¯" | PASS | PASS | PASS | - |
| sessionStorage["°"] | PASS | PASS | PASS | - |
| sessionStorage[] = "°" | PASS | PASS | PASS | - |
| sessionStorage["±"] | PASS | PASS | PASS | - |
| sessionStorage[] = "±" | PASS | PASS | PASS | - |
| sessionStorage["²"] | PASS | PASS | PASS | - |
| sessionStorage[] = "²" | PASS | PASS | PASS | - |
| sessionStorage["³"] | PASS | PASS | PASS | - |
| sessionStorage[] = "³" | PASS | PASS | PASS | - |
| sessionStorage["´"] | PASS | PASS | PASS | - |
| sessionStorage[] = "´" | PASS | PASS | PASS | - |
| sessionStorage["µ"] | PASS | PASS | PASS | - |
| sessionStorage[] = "µ" | PASS | PASS | PASS | - |
| sessionStorage["¶"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¶" | PASS | PASS | PASS | - |
| sessionStorage["·"] | PASS | PASS | PASS | - |
| sessionStorage[] = "·" | PASS | PASS | PASS | - |
| sessionStorage["¸"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¸" | PASS | PASS | PASS | - |
| sessionStorage["¹"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¹" | PASS | PASS | PASS | - |
| sessionStorage["º"] | PASS | PASS | PASS | - |
| sessionStorage[] = "º" | PASS | PASS | PASS | - |
| sessionStorage["»"] | PASS | PASS | PASS | - |
| sessionStorage[] = "»" | PASS | PASS | PASS | - |
| sessionStorage["¼"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¼" | PASS | PASS | PASS | - |
| sessionStorage["½"] | PASS | PASS | PASS | - |
| sessionStorage[] = "½" | PASS | PASS | PASS | - |
| sessionStorage["¾"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¾" | PASS | PASS | PASS | - |
| sessionStorage["¿"] | PASS | PASS | PASS | - |
| sessionStorage[] = "¿" | PASS | PASS | PASS | - |
| sessionStorage["À"] | PASS | PASS | PASS | - |
| sessionStorage[] = "À" | PASS | PASS | PASS | - |
| sessionStorage["Á"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Á" | PASS | PASS | PASS | - |
| sessionStorage["Â"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Â" | PASS | PASS | PASS | - |
| sessionStorage["Ã"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ã" | PASS | PASS | PASS | - |
| sessionStorage["Ä"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ä" | PASS | PASS | PASS | - |
| sessionStorage["Å"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Å" | PASS | PASS | PASS | - |
| sessionStorage["Æ"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Æ" | PASS | PASS | PASS | - |
| sessionStorage["Ç"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ç" | PASS | PASS | PASS | - |
| sessionStorage["È"] | PASS | PASS | PASS | - |
| sessionStorage[] = "È" | PASS | PASS | PASS | - |
| sessionStorage["É"] | PASS | PASS | PASS | - |
| sessionStorage[] = "É" | PASS | PASS | PASS | - |
| sessionStorage["Ê"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ê" | PASS | PASS | PASS | - |
| sessionStorage["Ë"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ë" | PASS | PASS | PASS | - |
| sessionStorage["Ì"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ì" | PASS | PASS | PASS | - |
| sessionStorage["Í"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Í" | PASS | PASS | PASS | - |
| sessionStorage["Î"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Î" | PASS | PASS | PASS | - |
| sessionStorage["Ï"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ï" | PASS | PASS | PASS | - |
| sessionStorage["Ð"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ð" | PASS | PASS | PASS | - |
| sessionStorage["Ñ"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ñ" | PASS | PASS | PASS | - |
| sessionStorage["Ò"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ò" | PASS | PASS | PASS | - |
| sessionStorage["Ó"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ó" | PASS | PASS | PASS | - |
| sessionStorage["Ô"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ô" | PASS | PASS | PASS | - |
| sessionStorage["Õ"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Õ" | PASS | PASS | PASS | - |
| sessionStorage["Ö"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ö" | PASS | PASS | PASS | - |
| sessionStorage["×"] | PASS | PASS | PASS | - |
| sessionStorage[] = "×" | PASS | PASS | PASS | - |
| sessionStorage["Ø"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ø" | PASS | PASS | PASS | - |
| sessionStorage["Ù"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ù" | PASS | PASS | PASS | - |
| sessionStorage["Ú"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ú" | PASS | PASS | PASS | - |
| sessionStorage["Û"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Û" | PASS | PASS | PASS | - |
| sessionStorage["Ü"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ü" | PASS | PASS | PASS | - |
| sessionStorage["Ý"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Ý" | PASS | PASS | PASS | - |
| sessionStorage["Þ"] | PASS | PASS | PASS | - |
| sessionStorage[] = "Þ" | PASS | PASS | PASS | - |
| sessionStorage["ß"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ß" | PASS | PASS | PASS | - |
| sessionStorage["à"] | PASS | PASS | PASS | - |
| sessionStorage[] = "à" | PASS | PASS | PASS | - |
| sessionStorage["á"] | PASS | PASS | PASS | - |
| sessionStorage[] = "á" | PASS | PASS | PASS | - |
| sessionStorage["â"] | PASS | PASS | PASS | - |
| sessionStorage[] = "â" | PASS | PASS | PASS | - |
| sessionStorage["ã"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ã" | PASS | PASS | PASS | - |
| sessionStorage["ä"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ä" | PASS | PASS | PASS | - |
| sessionStorage["å"] | PASS | PASS | PASS | - |
| sessionStorage[] = "å" | PASS | PASS | PASS | - |
| sessionStorage["æ"] | PASS | PASS | PASS | - |
| sessionStorage[] = "æ" | PASS | PASS | PASS | - |
| sessionStorage["ç"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ç" | PASS | PASS | PASS | - |
| sessionStorage["è"] | PASS | PASS | PASS | - |
| sessionStorage[] = "è" | PASS | PASS | PASS | - |
| sessionStorage["é"] | PASS | PASS | PASS | - |
| sessionStorage[] = "é" | PASS | PASS | PASS | - |
| sessionStorage["ê"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ê" | PASS | PASS | PASS | - |
| sessionStorage["ë"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ë" | PASS | PASS | PASS | - |
| sessionStorage["ì"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ì" | PASS | PASS | PASS | - |
| sessionStorage["í"] | PASS | PASS | PASS | - |
| sessionStorage[] = "í" | PASS | PASS | PASS | - |
| sessionStorage["î"] | PASS | PASS | PASS | - |
| sessionStorage[] = "î" | PASS | PASS | PASS | - |
| sessionStorage["ï"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ï" | PASS | PASS | PASS | - |
| sessionStorage["ð"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ð" | PASS | PASS | PASS | - |
| sessionStorage["ñ"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ñ" | PASS | PASS | PASS | - |
| sessionStorage["ò"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ò" | PASS | PASS | PASS | - |
| sessionStorage["ó"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ó" | PASS | PASS | PASS | - |
| sessionStorage["ô"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ô" | PASS | PASS | PASS | - |
| sessionStorage["õ"] | PASS | PASS | PASS | - |
| sessionStorage[] = "õ" | PASS | PASS | PASS | - |
| sessionStorage["ö"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ö" | PASS | PASS | PASS | - |
| sessionStorage["÷"] | PASS | PASS | PASS | - |
| sessionStorage[] = "÷" | PASS | PASS | PASS | - |
| sessionStorage["ø"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ø" | PASS | PASS | PASS | - |
| sessionStorage["ù"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ù" | PASS | PASS | PASS | - |
| sessionStorage["ú"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ú" | PASS | PASS | PASS | - |
| sessionStorage["û"] | PASS | PASS | PASS | - |
| sessionStorage[] = "û" | PASS | PASS | PASS | - |
| sessionStorage["ü"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ü" | PASS | PASS | PASS | - |
| sessionStorage["ý"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ý" | PASS | PASS | PASS | - |
| sessionStorage["þ"] | PASS | PASS | PASS | - |
| sessionStorage[] = "þ" | PASS | PASS | PASS | - |
| sessionStorage["ÿ"] | PASS | PASS | PASS | - |
| sessionStorage[] = "ÿ" | PASS | PASS | PASS | - |
| /webstorage/storage_string_conversion.html | OK | OK | OK | OK |
| localStorage only stores strings | PASS | PASS | PASS | PASS |
| sessionStorage only stores strings | PASS | PASS | PASS | PASS |
| /webstorage/storage_supported_property_names.html | OK | OK | OK | OK |
| Object.getOwnPropertyNames on localStorage Storage | PASS | PASS | PASS | FAIL |
| Object.getOwnPropertyNames on localStorage storage with empty collection | PASS | PASS | PASS | FAIL |
| Object.getOwnPropertyNames on sessionStorage Storage | PASS | PASS | PASS | FAIL |
| Object.getOwnPropertyNames on sessionStorage storage with empty collection | PASS | PASS | PASS | FAIL |
| /webstorage/event_basic.html | OK | OK | OK | OK |
| sessionStorage mutations fire StorageEvents that are caught by the event listener set via window.onstorage. | PASS | FAIL | PASS | FAIL |
| localStorage mutations fire StorageEvents that are caught by the event listener set via window.onstorage. | PASS | FAIL | PASS | FAIL |
| /webstorage/event_body_attribute.html | OK | OK | OK | OK |
| sessionStorage mutations fire StorageEvents that are caught by the event listener specified as an attribute on the body. | PASS | FAIL | PASS | FAIL |
| localStorage mutations fire StorageEvents that are caught by the event listener specified as an attribute on the body. | PASS | FAIL | PASS | FAIL |
| /webstorage/event_case_sensitive.html | OK | OK | OK | OK |
| sessionStorage storage events fire even when only the case of the value changes. | PASS | FAIL | PASS | PASS |
| localStorage storage events fire even when only the case of the value changes. | PASS | FAIL | PASS | PASS |
| /webstorage/event_setattribute.html | OK | OK | OK | OK |
| sessionStorage mutations fire StorageEvents that are caught by the event listener attached via setattribute. | PASS | FAIL | PASS | FAIL |
| localStorage mutations fire StorageEvents that are caught by the event listener attached via setattribute. | PASS | FAIL | PASS | FAIL |
| /webstorage/storage_local_setitem_quotaexceedederr.html | OK | OK | OK | TIMEOUT |
| Throws QuotaExceededError when the quota has been exceeded | PASS | PASS | FAIL | TIMEOUT |
| /webstorage/storage_session_setitem_quotaexceedederr.html | OK | OK | OK | TIMEOUT |
| Throws QuotaExceededError when the quota has been exceeded | PASS | PASS | FAIL | TIMEOUT |
* Run manually.