mirror of
https://github.com/servo/servo.git
synced 2025-08-18 11:55:39 +01:00
Update web-platform-tests to revision 0d318188757a9c996e20b82db201fd04de5aa255
This commit is contained in:
parent
b2a5225831
commit
1a81b18b9f
12321 changed files with 544385 additions and 6 deletions
10
tests/wpt/web-platform-tests/webstorage/README.md
Normal file
10
tests/wpt/web-platform-tests/webstorage/README.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
This directory contains the Web Storage test suite.
|
||||
|
||||
The spec's Implementation Report contains a list of each test file in the test suite and the results of running the test file on several browsers <http://www.w3.org/wiki/Webapps/Interop/WebStorage>.
|
||||
|
||||
To run this test suite within a browser, go to: <http://w3c-test.org/webstorage/>.
|
||||
|
||||
A W3C Recommendation of Web Storage was published on 30 July 2013 <http://www.w3.org/TR/2013/REC-webstorage-20130730/>.
|
||||
|
||||
Latest Editor's Draft of Web Storage is: <http://dev.w3.org/html5/webstorage/>.
|
||||
|
24
tests/wpt/web-platform-tests/webstorage/builtins.html
Normal file
24
tests/wpt/web-platform-tests/webstorage/builtins.html
Normal file
|
@ -0,0 +1,24 @@
|
|||
<!DOCTYPE HTML>
|
||||
<mete charset=utf-8>
|
||||
<title>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>
|
24
tests/wpt/web-platform-tests/webstorage/clear.html
Normal file
24
tests/wpt/web-platform-tests/webstorage/clear.html
Normal file
|
@ -0,0 +1,24 @@
|
|||
<!DOCTYPE HTML>
|
||||
<mete charset=utf-8>
|
||||
<title>Clear</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();
|
||||
|
||||
storage.setItem("name", "user1");
|
||||
assert_equals(storage.getItem("name"), "user1");
|
||||
assert_equals(storage.name, "user1");
|
||||
assert_equals(storage.length, 1);
|
||||
|
||||
storage.clear();
|
||||
assert_equals(storage.getItem("name"), null, "storage.getItem('name')");
|
||||
assert_equals(storage.name, undefined, "storage.name");
|
||||
assert_equals(storage.length, 0, "storage.length");
|
||||
}, "Clear in " + name);
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,32 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_session_Constructor</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
var t = async_test("storageeventinit test");
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.type, 'storage');
|
||||
assert_equals(event.key, null);
|
||||
assert_equals(event.oldValue, null);
|
||||
assert_equals(event.newValue, null);
|
||||
assert_equals(event.url, '');
|
||||
assert_equals(event.storageArea, null);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
var event = new StorageEvent('storage');
|
||||
window.dispatchEvent(event);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,37 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_Constructor</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
var t = async_test("StorageEvent constructor and nulls");
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.type, 'storage', 'type');
|
||||
assert_equals(event.key, null, 'key');
|
||||
assert_equals(event.oldValue, null, 'oldValue');
|
||||
assert_equals(event.newValue, null, 'newValue');
|
||||
assert_equals(event.url, 'null', 'url');
|
||||
assert_equals(event.storageArea, null, 'storageArea');
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
var event = new StorageEvent('storage', {
|
||||
key: null,
|
||||
oldValue: null,
|
||||
newValue: null,
|
||||
url: null
|
||||
});
|
||||
window.dispatchEvent(event);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
42
tests/wpt/web-platform-tests/webstorage/event_local_key.html
Normal file
42
tests/wpt/web-platform-tests/webstorage/event_local_key.html
Normal file
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
function fail(msg) {
|
||||
t.step(function() {
|
||||
assert_unreached(msg);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_local_key</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
localStorage.clear();
|
||||
var t = async_test("key property test of local event");
|
||||
var expected = ['name', null]
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.key, expected.shift());
|
||||
});
|
||||
if (!expected.length) {
|
||||
t.done();
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var el = document.createElement("iframe");
|
||||
el.setAttribute('id', 'ifrm');
|
||||
el.setAttribute('src', 'iframe/local_set_item_clear_iframe.html');
|
||||
document.body.appendChild(el);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
function fail(msg) {
|
||||
t.step(function() {
|
||||
assert_unreached(msg);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_local_newValue</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
localStorage.clear();
|
||||
var t = async_test("newValue property test of local event");
|
||||
var expected = ['user1', 'user2', null]
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.newValue, expected.shift());
|
||||
});
|
||||
if (!expected.length) {
|
||||
t.done();
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var el = document.createElement("iframe");
|
||||
el.setAttribute('id', 'ifrm');
|
||||
el.setAttribute('src', 'iframe/local_change_item_iframe.html');
|
||||
document.body.appendChild(el);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
function fail(msg) {
|
||||
t.step(function() {
|
||||
assert_unreached(msg);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_local_oldValue</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
localStorage.clear();
|
||||
var t = async_test("oldValue property test of local event");
|
||||
var expected = [null, 'user1', null]
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.oldValue, expected.shift());
|
||||
});
|
||||
if (!expected.length) {
|
||||
t.done();
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var el = document.createElement("iframe");
|
||||
el.setAttribute('id', 'ifrm');
|
||||
el.setAttribute('src', 'iframe/local_change_item_iframe.html');
|
||||
document.body.appendChild(el);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,43 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
function fail(msg) {
|
||||
t.step(function() {
|
||||
assert_unreached(msg);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_local_storageArea</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
localStorage.clear();
|
||||
var t = async_test("storageArea property test of local event");
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.storageArea.length, 1);
|
||||
var key = event.storageArea.key(0);
|
||||
var value = event.storageArea.getItem(key);
|
||||
assert_equals(key, "name");
|
||||
assert_equals(value, "user1");
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var el = document.createElement("iframe");
|
||||
el.setAttribute('id', 'ifrm');
|
||||
el.setAttribute('src', 'iframe/local_set_item_iframe.html');
|
||||
document.body.appendChild(el);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_local_StorageEventInit</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
var t = async_test("storageeventinit test");
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.key, 'key');
|
||||
assert_equals(event.oldValue, 'oldValue');
|
||||
assert_equals(event.newValue, 'newValue');
|
||||
assert_equals(event.url, window.location.href);
|
||||
assert_equals(event.storageArea, window.localStorage);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var event = new StorageEvent('storage', {
|
||||
key: 'key',
|
||||
oldValue: 'oldValue',
|
||||
newValue: 'newValue',
|
||||
url: window.location.href,
|
||||
storageArea: window.localStorage
|
||||
});
|
||||
|
||||
window.dispatchEvent(event);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
47
tests/wpt/web-platform-tests/webstorage/event_local_url.html
Normal file
47
tests/wpt/web-platform-tests/webstorage/event_local_url.html
Normal file
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
function fail(msg) {
|
||||
t.step(function() {
|
||||
assert_unreached(msg);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_local_url</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
localStorage.clear();
|
||||
var t = async_test("url property test of local event");
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
var url = window.location.href;
|
||||
|
||||
var pos = url.lastIndexOf("/");
|
||||
if (pos != -1) {
|
||||
url = url.substr(0, pos + 1);
|
||||
url = url + "iframe/local_set_item_iframe.html";
|
||||
}
|
||||
|
||||
assert_equals(event.url, url);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var el = document.createElement("iframe");
|
||||
el.setAttribute('id', 'ifrm');
|
||||
el.setAttribute('src', 'iframe/local_set_item_iframe.html');
|
||||
document.body.appendChild(el);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
function fail(msg) {
|
||||
t.step(function() {
|
||||
assert_unreached(msg);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_session_key</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
sessionStorage.clear();
|
||||
var t = async_test("key property test of session event");
|
||||
var expected = ['name', null]
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.key, expected.shift());
|
||||
});
|
||||
if (!expected.length) {
|
||||
t.done();
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var el = document.createElement("iframe");
|
||||
el.setAttribute('id', 'ifrm');
|
||||
el.setAttribute('src', 'iframe/session_set_item_clear_iframe.html');
|
||||
document.body.appendChild(el);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
function fail(msg) {
|
||||
t.step(function() {
|
||||
assert_unreached(msg);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_session_newValue</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
sessionStorage.clear();
|
||||
var t = async_test("newvalue property test of session event");
|
||||
var expected = ['user1', 'user2', null]
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.newValue, expected.shift());
|
||||
});
|
||||
if (!expected.length) {
|
||||
t.done();
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var el = document.createElement("iframe");
|
||||
el.setAttribute('id', 'ifrm');
|
||||
el.setAttribute('src', 'iframe/session_change_item_iframe.html');
|
||||
document.body.appendChild(el);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
function fail(msg) {
|
||||
t.step(function() {
|
||||
assert_unreached(msg);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_session_oldValue</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
sessionStorage.clear();
|
||||
var t = async_test("oldvalue property test of session event");
|
||||
var expected = [null, 'user1', null]
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.oldValue, expected.shift());
|
||||
});
|
||||
if (!expected.length) {
|
||||
t.done();
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var el = document.createElement("iframe");
|
||||
el.setAttribute('id', 'ifrm');
|
||||
el.setAttribute('src', 'iframe/session_change_item_iframe.html');
|
||||
document.body.appendChild(el);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,43 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
function fail(msg) {
|
||||
t.step(function() {
|
||||
assert_unreached(msg);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_session_storageArea</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
var t = async_test("storageArea property test of session event");
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.storageArea.length, 1);
|
||||
var key = event.storageArea.key(0);
|
||||
var value = event.storageArea.getItem(key);
|
||||
assert_equals(key, "name");
|
||||
assert_equals(value, "user1");
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var el = document.createElement("iframe");
|
||||
el.setAttribute('id', 'ifrm');
|
||||
el.setAttribute('src', 'iframe/session_set_item_iframe.html');
|
||||
document.body.appendChild(el);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_session_StorageEventInit</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
var t = async_test("storageeventinit test");
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
assert_equals(event.key, 'key');
|
||||
assert_equals(event.oldValue, 'oldValue');
|
||||
assert_equals(event.newValue, 'newValue');
|
||||
assert_equals(event.url, window.location.href);
|
||||
assert_equals(event.storageArea, window.sessionStorage);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var event = new StorageEvent('storage', {
|
||||
key: 'key',
|
||||
oldValue: 'oldValue',
|
||||
newValue: 'newValue',
|
||||
url: window.location.href,
|
||||
storageArea: window.sessionStorage
|
||||
});
|
||||
|
||||
window.dispatchEvent(event);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
function fail(msg) {
|
||||
t.step(function() {
|
||||
assert_unreached(msg);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>event_session_url</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
sessionStorage.clear();
|
||||
var t = async_test("url property test of session event");
|
||||
function onStorageEvent(event) {
|
||||
t.step(function() {
|
||||
var url = window.location.href;
|
||||
|
||||
var pos = url.lastIndexOf("/");
|
||||
if (pos != -1) {
|
||||
url = url.substr(0, pos + 1);
|
||||
url = url + "iframe/session_set_item_iframe.html";
|
||||
}
|
||||
|
||||
assert_equals(event.url, url);
|
||||
});
|
||||
t.done();
|
||||
}
|
||||
|
||||
window.addEventListener('storage', onStorageEvent, false);
|
||||
|
||||
var el = document.createElement("iframe");
|
||||
el.setAttribute('id', 'ifrm');
|
||||
el.setAttribute('src', 'iframe/session_set_item_iframe.html');
|
||||
document.body.appendChild(el);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
42
tests/wpt/web-platform-tests/webstorage/getitem.html
Normal file
42
tests/wpt/web-platform-tests/webstorage/getitem.html
Normal file
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE HTML>
|
||||
<mete charset=utf-8>
|
||||
<title>getItem and named getter</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();
|
||||
storage.setItem("name", "x");
|
||||
storage.setItem("undefined", "foo");
|
||||
storage.setItem("null", "bar");
|
||||
storage.setItem("", "baz");
|
||||
|
||||
test(function() {
|
||||
assert_equals(storage.length, 4);
|
||||
}, "All items should be added to " + name + ".");
|
||||
|
||||
test(function() {
|
||||
assert_equals(storage["unknown"], undefined, "storage['unknown']")
|
||||
assert_equals(storage["name"], "x", "storage['name']")
|
||||
assert_equals(storage["undefined"], "foo", "storage['undefined']")
|
||||
assert_equals(storage["null"], "bar", "storage['null']")
|
||||
assert_equals(storage[undefined], "foo", "storage[undefined]")
|
||||
assert_equals(storage[null], "bar", "storage[null]")
|
||||
assert_equals(storage[""], "baz", "storage['']")
|
||||
}, "Named access to " + name + " should be correct");
|
||||
|
||||
test(function() {
|
||||
assert_equals(storage.getItem("unknown"), null, "storage.getItem('unknown')")
|
||||
assert_equals(storage.getItem("name"), "x", "storage.getItem('name')")
|
||||
assert_equals(storage.getItem("undefined"), "foo", "storage.getItem('undefined')")
|
||||
assert_equals(storage.getItem("null"), "bar", "storage.getItem('null')")
|
||||
assert_equals(storage.getItem(undefined), "foo", "storage.getItem(undefined)")
|
||||
assert_equals(storage.getItem(null), "bar", "storage.getItem(null)")
|
||||
assert_equals(storage.getItem(""), "baz", "storage.getItem('')")
|
||||
}, name + ".getItem should be correct")
|
||||
}, "Builtins in " + name);
|
||||
});
|
||||
</script>
|
81
tests/wpt/web-platform-tests/webstorage/idlharness.html
Normal file
81
tests/wpt/web-platform-tests/webstorage/idlharness.html
Normal file
|
@ -0,0 +1,81 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Web Storage IDL tests</title>
|
||||
<link rel="author" title="W3C" href="http://www.w3.org/" />
|
||||
<link rel="help" href="http://www.w3.org/TR/webstorage/#storage"/>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/WebIDLParser.js"></script>
|
||||
<script src="/resources/idlharness.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Web Storage IDL tests</h1>
|
||||
<div id="log"></div>
|
||||
|
||||
<pre id='untested_idl' style='display:none'>
|
||||
[PrimaryGlobal]
|
||||
interface Window {
|
||||
};
|
||||
|
||||
interface Event {
|
||||
};
|
||||
|
||||
interface EventInit {
|
||||
};
|
||||
</pre>
|
||||
|
||||
<pre id='idl'>
|
||||
interface Storage {
|
||||
readonly attribute unsigned long length;
|
||||
DOMString? key(unsigned long index);
|
||||
getter DOMString getItem(DOMString key);
|
||||
setter creator void setItem(DOMString key, DOMString value);
|
||||
deleter void removeItem(DOMString key);
|
||||
void clear();
|
||||
};
|
||||
[NoInterfaceObject]
|
||||
interface WindowSessionStorage {
|
||||
readonly attribute Storage sessionStorage;
|
||||
};
|
||||
Window implements WindowSessionStorage;
|
||||
[NoInterfaceObject]
|
||||
interface WindowLocalStorage {
|
||||
readonly attribute Storage localStorage;
|
||||
};
|
||||
Window implements WindowLocalStorage;
|
||||
[Constructor(DOMString type, optional StorageEventInit eventInitDict)]
|
||||
interface StorageEvent : Event {
|
||||
readonly attribute DOMString key;
|
||||
readonly attribute DOMString? oldValue;
|
||||
readonly attribute DOMString? newValue;
|
||||
readonly attribute DOMString url;
|
||||
readonly attribute Storage? storageArea;
|
||||
};
|
||||
|
||||
dictionary StorageEventInit : EventInit {
|
||||
DOMString key;
|
||||
DOMString? oldValue;
|
||||
DOMString? newValue;
|
||||
DOMString url;
|
||||
Storage? storageArea;
|
||||
};
|
||||
</pre>
|
||||
|
||||
<script>
|
||||
|
||||
(function() {
|
||||
var idl_array = new IdlArray();
|
||||
|
||||
idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
|
||||
idl_array.add_idls(document.getElementById("idl").textContent);
|
||||
|
||||
idl_array.add_objects({Storage: ["window.localStorage"]});
|
||||
|
||||
idl_array.test();
|
||||
})();
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
<script>
|
||||
if (('localStorage' in window) && window.localStorage !== null){
|
||||
try {
|
||||
localStorage.setItem("name", "user1");
|
||||
localStorage.setItem("name", "user2");
|
||||
} catch (e) {
|
||||
parent.fail("setItem method is failed.");
|
||||
}
|
||||
localStorage.clear();
|
||||
} else {
|
||||
parent.fail("localStorage is not supported.");
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,17 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
<script>
|
||||
if (('localStorage' in window) && window.localStorage !== null){
|
||||
try {
|
||||
localStorage.setItem("name", "user1");
|
||||
} catch (e) {
|
||||
parent.fail("setItem method is failed.");
|
||||
}
|
||||
localStorage.clear();
|
||||
} else {
|
||||
parent.fail("localStorage is not supported.");
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
<script>
|
||||
if (('localStorage' in window) && window.localStorage !== null){
|
||||
try {
|
||||
localStorage.setItem("name", "user1");
|
||||
} catch (e) {
|
||||
parent.fail("setItem method is failed.");
|
||||
}
|
||||
} else {
|
||||
parent.fail("localStorage is not supported.");
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
<script>
|
||||
if (('sessionStorage' in window) && window.sessionStorage !== null){
|
||||
try {
|
||||
sessionStorage.setItem("name", "user1");
|
||||
sessionStorage.setItem("name", "user2");
|
||||
} catch (e) {
|
||||
parent.fail("setItem method is failed.");
|
||||
}
|
||||
sessionStorage.clear();
|
||||
} else {
|
||||
parent.fail("sessionStorage is not supported.");
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,17 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
<script>
|
||||
if (('sessionStorage' in window) && window.sessionStorage !== null){
|
||||
try {
|
||||
sessionStorage.setItem('name', 'user1');
|
||||
} catch (e) {
|
||||
parent.fail('setItem method is failed.');
|
||||
}
|
||||
sessionStorage.clear();
|
||||
} else {
|
||||
parent.fail('sessionStorage is not supported.');
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
<script>
|
||||
if (('sessionStorage' in window) && window.sessionStorage !== null){
|
||||
try {
|
||||
sessionStorage.setItem('name', 'user1');
|
||||
} catch (e) {
|
||||
parent.fail('setItem method is failed.');
|
||||
}
|
||||
} else {
|
||||
parent.fail('sessionStorage is not supported.');
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
30
tests/wpt/web-platform-tests/webstorage/in.html
Normal file
30
tests/wpt/web-platform-tests/webstorage/in.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE HTML>
|
||||
<mete charset=utf-8>
|
||||
<title>The in operator</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_false("name" in storage);
|
||||
storage["name"] = "user1";
|
||||
assert_true("name" in storage);
|
||||
}, "The in operator in " + name + ": property access");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
assert_false("name" in storage);
|
||||
storage.setItem("name", "user1");
|
||||
assert_true("name" in storage);
|
||||
assert_equals(storage.name, "user1");
|
||||
storage.removeItem("name");
|
||||
assert_false("name" in storage);
|
||||
}, "The in operator in " + name + ": method access");
|
||||
});
|
||||
</script>
|
36
tests/wpt/web-platform-tests/webstorage/indexing.html
Normal file
36
tests/wpt/web-platform-tests/webstorage/indexing.html
Normal file
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE HTML>
|
||||
<mete charset=utf-8>
|
||||
<title>Indexed getter</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();
|
||||
storage["name"] = "user1";
|
||||
storage["age"] = "42";
|
||||
|
||||
test(function() {
|
||||
assert_equals(storage[-1], undefined);
|
||||
assert_equals(storage[0], undefined);
|
||||
assert_equals(storage[1], undefined);
|
||||
assert_equals(storage[2], undefined);
|
||||
}, "Getting number properties on " + name);
|
||||
|
||||
test(function() {
|
||||
assert_equals(storage["-1"], undefined);
|
||||
assert_equals(storage["0"], undefined);
|
||||
assert_equals(storage["1"], undefined);
|
||||
assert_equals(storage["2"], undefined);
|
||||
}, "Getting number-valued string properties on " + name);
|
||||
|
||||
test(function() {
|
||||
storage.setItem(1, "number");
|
||||
assert_equals(storage[1], "number");
|
||||
assert_equals(storage["1"], "number");
|
||||
}, "Getting existing number-valued properties on " + name);
|
||||
}, "Indexed getter on " + name);
|
||||
});
|
||||
</script>
|
59
tests/wpt/web-platform-tests/webstorage/key.html
Normal file
59
tests/wpt/web-platform-tests/webstorage/key.html
Normal file
|
@ -0,0 +1,59 @@
|
|||
<!DOCTYPE HTML>
|
||||
<mete charset=utf-8>
|
||||
<title>Key</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();
|
||||
|
||||
storage.setItem("name", "user1");
|
||||
storage.setItem("age", "20");
|
||||
storage.setItem("a", "1");
|
||||
storage.setItem("b", "2");
|
||||
|
||||
var keys = ["name", "age", "a", "b"];
|
||||
function doTest(index) {
|
||||
test(function() {
|
||||
var key = storage.key(index);
|
||||
assert_not_equals(key, null);
|
||||
assert_true(keys.indexOf(key) >= 0,
|
||||
"Unexpected key " + key + " found.");
|
||||
}, name + ".key(" + index + ") should return the right thing.");
|
||||
}
|
||||
for (var i = 0; i < keys.length; ++i) {
|
||||
doTest(i);
|
||||
doTest(i + 0x100000000);
|
||||
}
|
||||
|
||||
test(function() {
|
||||
assert_equals(storage.key(-1), null, "storage.key(-1)");
|
||||
assert_equals(storage.key(4), null, "storage.key(4)");
|
||||
}, name + ".key() should return null for out-of-range arguments.");
|
||||
}, name + ".key");
|
||||
|
||||
test(function() {
|
||||
var get_keys = function(s) {
|
||||
var keys = [];
|
||||
for (var i = 0; i < s.length; ++i) {
|
||||
keys.push(s.key(i));
|
||||
}
|
||||
return keys;
|
||||
};
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem("name", "user1");
|
||||
storage.setItem("age", "20");
|
||||
storage.setItem("a", "1");
|
||||
storage.setItem("b", "2");
|
||||
|
||||
var expected_keys = get_keys(storage);
|
||||
storage.setItem("name", "user2");
|
||||
assert_array_equals(get_keys(storage), expected_keys);
|
||||
}, name + ".key with value changes");
|
||||
});
|
||||
</script>
|
31
tests/wpt/web-platform-tests/webstorage/length.html
Normal file
31
tests/wpt/web-platform-tests/webstorage/length.html
Normal file
|
@ -0,0 +1,31 @@
|
|||
<!DOCTYPE HTML>
|
||||
<mete charset=utf-8>
|
||||
<title>Length</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")
|
||||
|
||||
storage["name"] = "user1";
|
||||
storage["age"] = "20";
|
||||
|
||||
assert_equals(storage.length, 2, "storage.length")
|
||||
}, name + ".length (method access)");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
assert_equals(storage.length, 0, "storage.length")
|
||||
|
||||
storage.setItem("name", "user1");
|
||||
storage.setItem("age", "20");
|
||||
|
||||
assert_equals(storage.length, 2, "storage.length")
|
||||
}, name + ".length (proprty access)");
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,32 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>missing_arguments</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
var tests = [
|
||||
function() { localStorage.key(); },
|
||||
function() { localStorage.getItem(); },
|
||||
function() { localStorage.setItem(); },
|
||||
function() { localStorage.setItem("a"); },
|
||||
function() { localStorage.removeItem(); },
|
||||
function() { sessionStorage.key(); },
|
||||
function() { sessionStorage.getItem(); },
|
||||
function() { sessionStorage.setItem(); },
|
||||
function() { sessionStorage.setItem("a"); },
|
||||
function() { sessionStorage.removeItem(); },
|
||||
function() { new StorageEvent(); }
|
||||
];
|
||||
tests.forEach(function(fun) {
|
||||
test(function() {
|
||||
assert_throws(new TypeError(), fun);
|
||||
}, "Should throw TypeError for " + format_value(fun) + ".");
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
52
tests/wpt/web-platform-tests/webstorage/removeitem.html
Normal file
52
tests/wpt/web-platform-tests/webstorage/removeitem.html
Normal file
|
@ -0,0 +1,52 @@
|
|||
<!DOCTYPE HTML>
|
||||
<mete charset=utf-8>
|
||||
<title>RemoveItem</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();
|
||||
|
||||
storage.setItem("name", "user1");
|
||||
assert_equals(storage.getItem("name"), "user1");
|
||||
|
||||
storage.removeItem("name");
|
||||
storage.removeItem("unknown");
|
||||
assert_equals(storage.getItem("name"), null, "storage.getItem('name')")
|
||||
}, name + ".removeItem()");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem("name", "user1");
|
||||
assert_equals(storage.getItem("name"), "user1");
|
||||
delete storage["name"];
|
||||
delete storage["unknown"];
|
||||
assert_equals(storage.getItem("name"), null, "storage.getItem('name')")
|
||||
}, "delete " + name + "[]");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem("null", "test");
|
||||
assert_true("null" in storage);
|
||||
storage.removeItem(null);
|
||||
assert_false("null" in storage);
|
||||
}, name + ".removeItem(null)");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem("undefined", "test");
|
||||
assert_true("undefined" in storage);
|
||||
storage.removeItem(undefined);
|
||||
assert_false("undefined" in storage);
|
||||
}, name + ".removeItem(undefined)");
|
||||
});
|
||||
</script>
|
160
tests/wpt/web-platform-tests/webstorage/setitem.html
Normal file
160
tests/wpt/web-platform-tests/webstorage/setitem.html
Normal file
|
@ -0,0 +1,160 @@
|
|||
<!DOCTYPE HTML>
|
||||
<mete charset=utf-8>
|
||||
<title>SetItem</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
["localStorage", "sessionStorage"].forEach(function(name) {
|
||||
var test_error = { name: "test" };
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem("name", "user1");
|
||||
assert_equals(storage.length, 1, "localStorage.setItem")
|
||||
}, name + ".setItem()");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage["name"] = "user1";
|
||||
assert_true("name" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("name"), "user1");
|
||||
assert_equals(storage["name"], "user1");
|
||||
}, name + "[]");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage["name"] = "user1";
|
||||
storage["name"] = "user2";
|
||||
assert_true("name" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("name"), "user2");
|
||||
assert_equals(storage["name"], "user2");
|
||||
}, name + "[] update");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem("age", null);
|
||||
assert_true("age" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("age"), "null");
|
||||
assert_equals(storage["age"], "null");
|
||||
}, name + ".setItem(_, null)");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage["age"] = null;
|
||||
assert_true("age" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("age"), "null");
|
||||
assert_equals(storage["age"], "null");
|
||||
}, name + "[] = null");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem("age", undefined);
|
||||
assert_true("age" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("age"), "undefined");
|
||||
assert_equals(storage["age"], "undefined");
|
||||
}, name + ".setItem(_, undefined)");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage["age"] = undefined;
|
||||
assert_true("age" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("age"), "undefined");
|
||||
assert_equals(storage["age"], "undefined");
|
||||
}, name + "[] = undefined");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem("age", "10");
|
||||
assert_throws(test_error, function() {
|
||||
storage.setItem("age",
|
||||
{ toString: function() { throw test_error; } });
|
||||
});
|
||||
assert_true("age" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("age"), "10");
|
||||
assert_equals(storage["age"], "10");
|
||||
}, name + ".setItem({ throws })");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem("age", "10");
|
||||
assert_throws(test_error, function() {
|
||||
storage["age"] =
|
||||
{ toString: function() { throw test_error; } };
|
||||
});
|
||||
assert_true("age" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("age"), "10");
|
||||
assert_equals(storage["age"], "10");
|
||||
}, name + "[] = { throws }");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem(undefined, "test");
|
||||
assert_true("undefined" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("undefined"), "test");
|
||||
assert_equals(storage["undefined"], "test");
|
||||
}, name + ".setItem(undefined, _)");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage[undefined] = "test2";
|
||||
assert_true("undefined" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("undefined"), "test2");
|
||||
assert_equals(storage["undefined"], "test2");
|
||||
}, name + "[undefined]");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage.setItem(null, "test");
|
||||
assert_true("null" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("null"), "test");
|
||||
assert_equals(storage["null"], "test");
|
||||
}, name + ".setItem(null, _)");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage[null] = "test2";
|
||||
assert_true("null" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("null"), "test2");
|
||||
assert_equals(storage["null"], "test2");
|
||||
}, name + "[null]");
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,31 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<meta name="timeout" content="long">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>storage_local_setItem_QUOTA_EXCEEDED_ERR</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
localStorage.clear();
|
||||
|
||||
var index = 0;
|
||||
var key = "name";
|
||||
var val = "user";
|
||||
|
||||
assert_throws("QUOTA_EXCEEDED_ERR", function() {
|
||||
while (true) {
|
||||
index++;
|
||||
localStorage.setItem("" + key + index, "" + name + index);
|
||||
}
|
||||
});
|
||||
|
||||
localStorage.clear();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,31 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Web Storage</title>
|
||||
<meta name="timeout" content="long">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>storage_session_setItem_QUOTA_EXCEEDED_ERR</h1>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function() {
|
||||
sessionStorage.clear();
|
||||
|
||||
var index = 0;
|
||||
var key = "name";
|
||||
var val = "user";
|
||||
|
||||
assert_throws("QUOTA_EXCEEDED_ERR", function() {
|
||||
while (true) {
|
||||
index++;
|
||||
sessionStorage.setItem("" + key + index, "" + name + index);
|
||||
}
|
||||
});
|
||||
|
||||
sessionStorage.clear();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue