OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script> | 3 <script> |
4 | 4 |
5 if (window.testRunner) | 5 if (window.testRunner) |
6 testRunner.dumpAsText(); | 6 testRunner.dumpAsText(); |
7 | 7 |
8 function log(a) | 8 function log(a) |
9 { | 9 { |
10 document.getElementById('logger').appendChild(document.createTextNode(a)); | 10 document.getElementById('logger').appendChild(document.createTextNode(a)); |
11 document.getElementById('logger').appendChild(document.createElement("br")); | 11 document.getElementById('logger').appendChild(document.createElement("br")); |
12 } | 12 } |
13 | 13 |
14 function runTest() | 14 function runTest() |
15 { | 15 { |
16 if (!window.localStorage) { | 16 if (!window.localStorage) { |
17 log("window.localStorage DOES NOT exist"); | 17 log("window.localStorage DOES NOT exist"); |
18 return; | 18 return; |
19 } | 19 } |
20 localStorage.clear(); | 20 localStorage.clear(); |
21 | 21 |
22 log("foo (before anything) is: " + localStorage.foo); | 22 log("foo (before anything) is: " + localStorage.foo); |
23 localStorage.foo = "bar"; | 23 localStorage.foo = "bar"; |
24 log("foo (after a named property settter set) is: " + localStorage.foo); | 24 log("foo (after a named property settter set) is: " + localStorage.foo); |
25 delete localStorage.foo; | 25 delete localStorage.foo; |
26 log("foo (after a delete) is: " + localStorage.foo); | 26 log("foo (after a delete) is: " + localStorage.foo); |
27 localStorage["foo"] = "bar"; | 27 localStorage["foo"] = "bar"; |
28 log("foo (after an indexed setter set) is: " + localStorage.foo); | 28 log("foo (after an indexed setter set) is: " + localStorage.foo); |
29 delete localStorage.FOO; | 29 delete localStorage.FOO; |
30 log("foo (after deleting FOO (not foo)) is: " + localStorage.foo); | 30 log("foo (after deleting FOO (not foo)) is: " + localStorage.foo); |
31 delete localStorage.foo; | 31 delete localStorage.foo; |
32 log("foo (after a delete) is: " + localStorage.foo); | 32 log("foo (after a delete) is: " + localStorage.foo); |
33 localStorage.setItem("foo", "bar"); | 33 localStorage.setItem("foo", "bar"); |
34 log("foo (after calling setItem) is: " + localStorage.foo); | 34 log("foo (after calling setItem) is: " + localStorage.foo); |
35 delete localStorage.foo; | 35 delete localStorage.foo; |
36 log("foo (after a delete) is: " + localStorage.foo); | 36 log("foo (after a delete) is: " + localStorage.foo); |
37 delete localStorage.foo; | 37 delete localStorage.foo; |
38 log("foo (after a redundant delete) is: " + localStorage.foo); | 38 log("foo (after a redundant delete) is: " + localStorage.foo); |
39 localStorage.foo = "bar"; | 39 localStorage.foo = "bar"; |
40 log("foo (after an implicit settter set) is: " + localStorage.foo); | 40 log("foo (after an implicit settter set) is: " + localStorage.foo); |
41 delete localStorage["foo"]; | 41 delete localStorage["foo"]; |
42 log("foo (after an indexed delete) is: " + localStorage.foo); | 42 log("foo (after an indexed delete) is: " + localStorage.foo); |
| 43 |
| 44 Object.defineProperty(localStorage, "bar", {value: "present", configurable:
true}); |
| 45 log("bar (before an indexed delete) is present: " + ("bar" in localStorage))
; |
| 46 delete localStorage["bar"]; |
| 47 log("bar (after an indexed delete) is present: " + ("bar" in localStorage)); |
| 48 |
| 49 Object.defineProperty(localStorage, "1", {value: "present", configurable: tr
ue}); |
| 50 log("Indexed property '1' (before delete) is present: " + (1 in localStorage
)); |
| 51 delete localStorage[1]; |
| 52 log("Indexed property '1' (after delete) is present: " + (1 in localStorage)
); |
43 } | 53 } |
44 | 54 |
45 </script> | 55 </script> |
46 </head> | 56 </head> |
47 <body onload="runTest();"> | 57 <body onload="runTest();"> |
48 This test makes sure that using the syntax `delete localStorage.keyName` works a
s an alias to `localStorage.removeItem(keyName).`<br><hr> | 58 This test makes sure that using the syntax `delete localStorage.keyName` works a
s an alias to `localStorage.removeItem(keyName).`<br><hr> |
49 <div id="logger"></div> | 59 <div id="logger"></div> |
50 </body> | 60 </body> |
51 </html> | 61 </html> |
OLD | NEW |