summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webstorage/storage_builtins.html
blob: 2ae06d55b007cf35777665356fcd95ec48047420 (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
<!DOCTYPE HTML>
<meta charset=utf-8>
<title>WebStorage Test: Storage - builtins</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
["localStorage", "sessionStorage"].forEach(function(name) {
    test(function() {
        var storage = window[name];
        storage.clear();
        assert_equals(storage.length, 0, "storage.length");

        var builtins = ["key", "getItem", "setItem", "removeItem", "clear"];
        var origBuiltins = builtins.map(function(b) { return Storage.prototype[b]; });
        assert_array_equals(builtins.map(function(b) { return storage[b]; }), origBuiltins, "a");
        builtins.forEach(function(b) { storage[b] = b; });
        assert_array_equals(builtins.map(function(b) { return storage[b]; }), origBuiltins, "b");
        assert_array_equals(builtins.map(function(b) { return storage.getItem(b); }), builtins, "c");

        assert_equals(storage.length, builtins.length, "storage.length");
    }, "Builtins in " + name);
});
</script>