62 lines
1.7 KiB
HTML
62 lines
1.7 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<script>
|
|
description("This test checks to ensure that window.localStorage and window.sessionStorage are not rendered unusable by setting a key with the same name as a storage function such that the function is hidden.");
|
|
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
function doWedgeThySelf(storage) {
|
|
storage.setItem("clear", "almost");
|
|
storage.setItem("key", "too");
|
|
storage.setItem("getItem", "funny");
|
|
storage.setItem("removeItem", "to");
|
|
storage.setItem("length", "be");
|
|
storage.setItem("setItem", "true");
|
|
}
|
|
|
|
function testStorage(storageString) {
|
|
storage = eval(storageString);
|
|
storage.clear();
|
|
doWedgeThySelf(storage);
|
|
shouldBeEqualToString("storage.getItem('clear')", "almost");
|
|
shouldBeEqualToString("storage.getItem('key')", "too");
|
|
shouldBeEqualToString("storage.getItem('getItem')", "funny");
|
|
shouldBeEqualToString("storage.getItem('removeItem')", "to");
|
|
shouldBeEqualToString("storage.getItem('length')", "be");
|
|
shouldBeEqualToString("storage.getItem('setItem')", "true");
|
|
|
|
// Test to see if an exception is thrown for any of the built in
|
|
// functions.
|
|
storage.setItem("test", "123");
|
|
storage.key(0);
|
|
storage.getItem("test");
|
|
storage.removeItem("test");
|
|
storage.clear();
|
|
if (storage.length != 0)
|
|
throw name + ": length wedged";
|
|
}
|
|
|
|
|
|
function runTest()
|
|
{
|
|
testStorage(window.sessionStorage);
|
|
testStorage(window.localStorage);
|
|
}
|
|
|
|
try {
|
|
runTest();
|
|
} catch (e) {
|
|
testFailed("Caught an exception!");
|
|
}
|
|
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|