| <html> |
| <head> |
| <script> |
| |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| function log(a) |
| { |
| document.getElementById('logger').appendChild(document.createTextNode(a)); |
| document.getElementById('logger').appendChild(document.createElement("br")); |
| } |
| |
| function runTest() |
| { |
| if (!window.localStorage) { |
| log("window.localStorage DOES NOT exist"); |
| return; |
| } |
| localStorage.clear(); |
| |
| log("foo (before anything) is: " + localStorage.foo); |
| localStorage.foo = "bar"; |
| log("foo (after a named property settter set) is: " + localStorage.foo); |
| delete localStorage.foo; |
| log("foo (after a delete) is: " + localStorage.foo); |
| localStorage["foo"] = "bar"; |
| log("foo (after an indexed setter set) is: " + localStorage.foo); |
| delete localStorage.FOO; |
| log("foo (after deleting FOO (not foo)) is: " + localStorage.foo); |
| delete localStorage.foo; |
| log("foo (after a delete) is: " + localStorage.foo); |
| localStorage.setItem("foo", "bar"); |
| log("foo (after calling setItem) is: " + localStorage.foo); |
| delete localStorage.foo; |
| log("foo (after a delete) is: " + localStorage.foo); |
| delete localStorage.foo; |
| log("foo (after a redundant delete) is: " + localStorage.foo); |
| localStorage.foo = "bar"; |
| log("foo (after an implicit settter set) is: " + localStorage.foo); |
| delete localStorage["foo"]; |
| log("foo (after an indexed delete) is: " + localStorage.foo); |
| } |
| |
| </script> |
| </head> |
| <body onload="runTest();"> |
| This test makes sure that using the syntax `delete localStorage.keyName` works as an alias to `localStorage.removeItem(keyName).`<br><hr> |
| <div id="logger"></div> |
| </body> |
| </html> |