storage_builtins.window.js (835B)
1 ["localStorage", "sessionStorage"].forEach(function(name) { 2 test(function() { 3 var storage = window[name]; 4 storage.clear(); 5 assert_equals(storage.length, 0, "storage.length"); 6 7 var builtins = ["key", "getItem", "setItem", "removeItem", "clear"]; 8 var origBuiltins = builtins.map(function(b) { return Storage.prototype[b]; }); 9 assert_array_equals(builtins.map(function(b) { return storage[b]; }), origBuiltins, "a"); 10 builtins.forEach(function(b) { storage[b] = b; }); 11 assert_array_equals(builtins.map(function(b) { return storage[b]; }), origBuiltins, "b"); 12 assert_array_equals(builtins.map(function(b) { return storage.getItem(b); }), builtins, "c"); 13 14 assert_equals(storage.length, builtins.length, "storage.length"); 15 }, "Builtins in " + name); 16 });