| Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/webstorage/storage_setitem.html
|
| diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/webstorage/storage_setitem.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/webstorage/storage_setitem.html
|
| index 3737a707f8a2cafc2f572b6f22ec6b04b7eb1caa..c5a72175a97d5a61a1a2053b27f0111947c660c9 100644
|
| --- a/third_party/WebKit/LayoutTests/imported/web-platform-tests/webstorage/storage_setitem.html
|
| +++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/webstorage/storage_setitem.html
|
| @@ -7,6 +7,14 @@
|
| <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];
|
| @@ -156,5 +164,60 @@
|
| 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>
|
|
|