summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webstorage/event_local_removeitem.html
blob: 7b81ea2bac1f8ba8eedce950f20c112e1b7ae97b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE HTML>
<meta charset="utf-8">
<title>Web Storage Test: event - localStorage removeItem</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<div id="log"></div>

<script>

async_test(function(t) {
    localStorage.clear();
    t.add_cleanup(function() { localStorage.clear() });

    self.step = function(f) { t.step(f); };

    var event_index = 0;
    window.addEventListener('storage', t.step_func(function(event) {
        switch(++event_index) {
            case 1:
                assert_equals(event.key, "name", "set key");
                assert_equals(event.oldValue, null, "set oldValue");
                assert_equals(event.newValue, "user1", "set newValue");
                assert_equals(event.url, el.contentDocument.documentURI, "set url");
                assert_equals(event.storageArea, localStorage, "set storageArea");
                break;
            case 2:
                assert_equals(event.key, "name", "remove key");
                assert_equals(event.oldValue, "user1", "remove oldValue");
                assert_equals(event.newValue, null, "remove newValue");
                assert_equals(event.url, el.contentDocument.documentURI, "remove url");
                assert_equals(event.storageArea, localStorage, "remove storageArea");
                t.done();
                break;
        }
    }), false);

    var el = document.createElement("iframe");
    el.setAttribute('id', 'ifrm');
    el.setAttribute('src', 'resources/local_set_item_remove_iframe.html');
    document.body.appendChild(el);
}, "key property test of local event");

</script>