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

Side by Side Diff: LayoutTests/imported/web-platform-tests/webstorage/event_basic.js

Issue 1220543007: Import web-platform-tests/webstorage (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 5 years, 5 months 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 testStorages(function(storageString) {
2 async_test(function(t) {
3 assert_true(storageString in window, storageString + " exist");
4 var storage = window[storageString];
5 t.add_cleanup(function() { storage.clear() });
6
7 storageEventList = new Array();
8 storage.clear();
9 assert_equals(storage.length, 0, "storage.length");
10
11 runAfterNStorageEvents(t.step_func(step1), 0);
12
13 function step1(msg)
14 {
15 storageEventList = new Array();
16 storage.setItem('FOO', 'BAR');
17
18 runAfterNStorageEvents(t.step_func(step2), 1);
19 }
20
21 function step2(msg)
22 {
23 if(msg != undefined) {
24 assert_unreached(msg);
25 }
26 assert_equals(storageEventList.length, 1);
27 assert_equals(storageEventList[0].key, "FOO");
28 assert_equals(storageEventList[0].oldValue, null);
29 assert_equals(storageEventList[0].newValue, "BAR");
30
31 storage.setItem('FU', 'BAR');
32 storage.setItem('a', '1');
33 storage.setItem('b', '2');
34 storage.setItem('b', '3');
35
36 runAfterNStorageEvents(t.step_func(step3), 5);
37 }
38
39 function step3(msg)
40 {
41 if(msg != undefined) {
42 assert_unreached(msg);
43 }
44 assert_equals(storageEventList.length, 5);
45 assert_equals(storageEventList[1].key, "FU");
46 assert_equals(storageEventList[1].oldValue, null);
47 assert_equals(storageEventList[1].newValue, "BAR");
48
49 assert_equals(storageEventList[2].key, "a");
50 assert_equals(storageEventList[2].oldValue, null);
51 assert_equals(storageEventList[2].newValue, "1");
52
53 assert_equals(storageEventList[3].key, "b");
54 assert_equals(storageEventList[3].oldValue, null);
55 assert_equals(storageEventList[3].newValue, "2");
56
57 assert_equals(storageEventList[4].key, "b");
58 assert_equals(storageEventList[4].oldValue, "2");
59 assert_equals(storageEventList[4].newValue, "3");
60
61 storage.removeItem('FOO');
62
63 runAfterNStorageEvents(t.step_func(step4), 6);
64 }
65
66 function step4(msg)
67 {
68 if(msg != undefined) {
69 assert_unreached(msg);
70 }
71 assert_equals(storageEventList.length, 6);
72 assert_equals(storageEventList[5].key, "FOO");
73 assert_equals(storageEventList[5].oldValue, "BAR");
74 assert_equals(storageEventList[5].newValue, null);
75
76 storage.removeItem('FU');
77
78 runAfterNStorageEvents(t.step_func(step5), 7);
79 }
80
81 function step5(msg)
82 {
83 if(msg != undefined) {
84 assert_unreached(msg);
85 }
86 assert_equals(storageEventList.length, 7);
87 assert_equals(storageEventList[6].key, "FU");
88 assert_equals(storageEventList[6].oldValue, "BAR");
89 assert_equals(storageEventList[6].newValue, null);
90
91 storage.clear();
92
93 runAfterNStorageEvents(t.step_func(step6), 8);
94 }
95
96 function step6(msg)
97 {
98 if(msg != undefined) {
99 assert_unreached(msg);
100 }
101 assert_equals(storageEventList.length, 8);
102 assert_equals(storageEventList[7].key, null);
103 assert_equals(storageEventList[7].oldValue, null);
104 assert_equals(storageEventList[7].newValue, null);
105
106 t.done();
107 }
108
109 }, storageString + " mutations fire StorageEvents that are caught by the eve nt listener set via window.onstorage.");
110 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698