| <!DOCTYPE HTML> |
| <html> |
| <head> |
| <title>WebStorage Test: Storage - enumerate and built-in properties</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <div id="log"></div> |
| <script> |
| ["localStorage", "sessionStorage"].forEach(function(name) { |
| test(function() { |
| assert_true(name in window, name + " exist"); |
| |
| var storage = window[name]; |
| storage.clear(); |
| |
| Storage.prototype.prototypeTestKey = "prototypeTestValue"; |
| storage.foo = "bar"; |
| storage.fu = "baz"; |
| storage.batman = "bin suparman"; |
| storage.bar = "foo"; |
| storage.alpha = "beta"; |
| storage.zeta = "gamma"; |
| |
| var enumeratedArray = new Array(); |
| for (var n in storage) |
| enumeratedArray.push(n); |
| |
| // Sort the array, since the storage order isn't guaranteed |
| enumeratedArray.sort(); |
| |
| var expectArray = ["alpha", "bar", "batman", "foo", "fu", "prototypeTestKey", "zeta"]; |
| assert_array_equals(enumeratedArray, expectArray); |
| |
| }, name + ": enumerate a Storage object and get only the keys as a result and the built-in properties of the Storage object should be ignored"); |
| }); |
| </script> |
| </body> |
| </html> |
| |