Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: LayoutTests/storage/domstorage/localstorage/delete-removal.html

Issue 106853005: Implement platform deleters per spec. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Switch to DeleteResult enum + extend scheme to indexed deleters Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698