mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 00:38:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
223
testing/web-platform/tests/webstorage/storage_setitem.html
Normal file
223
testing/web-platform/tests/webstorage/storage_setitem.html
Normal file
|
|
@ -0,0 +1,223 @@
|
|||
<!DOCTYPE HTML>
|
||||
<meta charset=utf-8>
|
||||
<title>WebStorage Test: Storage - setItem(key, value)</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" };
|
||||
var interesting_strs = ["\uD7FF", "\uD800", "\uDBFF", "\uDC00",
|
||||
"\uDFFF", "\uE000", "\uFFFD", "\uFFFE", "\uFFFF",
|
||||
"\uD83C\uDF4D", "\uD83Ca", "a\uDF4D",
|
||||
"\uDBFF\uDFFF"];
|
||||
|
||||
for (var i = 0; i <= 0xFF; i++) {
|
||||
interesting_strs.push(String.fromCharCode(i));
|
||||
}
|
||||
|
||||
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]");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage["foo\0bar"] = "user1";
|
||||
assert_true("foo\0bar" in storage);
|
||||
assert_false("foo\0" in storage);
|
||||
assert_false("foo\0baz" in storage);
|
||||
assert_false("foo" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("foo\0bar"), "user1");
|
||||
assert_equals(storage.getItem("foo\0"), null);
|
||||
assert_equals(storage.getItem("foo\0baz"), null);
|
||||
assert_equals(storage.getItem("foo"), null);
|
||||
assert_equals(storage["foo\0bar"], "user1");
|
||||
assert_equals(storage["foo\0"], undefined);
|
||||
assert_equals(storage["foo\0baz"], undefined);
|
||||
assert_equals(storage["foo"], undefined);
|
||||
}, name + " key containing null");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage["name"] = "foo\0bar";
|
||||
assert_true("name" in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("name"), "foo\0bar");
|
||||
assert_equals(storage["name"], "foo\0bar");
|
||||
}, name + " value containing null");
|
||||
|
||||
for (i = 0; i < interesting_strs.length; i++) {
|
||||
var str = interesting_strs[i];
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage[str] = "user1";
|
||||
assert_true(str in storage);
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem(str), "user1");
|
||||
assert_equals(storage[str], "user1");
|
||||
}, name + "[" + format_value(str) + "]");
|
||||
|
||||
test(function() {
|
||||
var storage = window[name];
|
||||
storage.clear();
|
||||
|
||||
storage["name"] = str;
|
||||
assert_equals(storage.length, 1, "storage.length")
|
||||
assert_equals(storage.getItem("name"), str);
|
||||
assert_equals(storage["name"], str);
|
||||
}, name + "[] = " + format_value(str));
|
||||
}
|
||||
});
|
||||
</script>
|
||||
Loading…
Add table
Add a link
Reference in a new issue