[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75

jorlow at chromium.org jorlow at chromium.org
Thu Oct 29 20:39:49 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit 2bff711026846fb97f8cd6d39581ecf2c4fdc2ab
Author: jorlow at chromium.org <jorlow at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Oct 6 06:56:20 2009 +0000

    2009-10-05  Jeremy Orlow  <jorlow at chromium.org>
    
            Reviewed by Darin Fisher.
    
            Convert DOM Storage's "complex-keys" test into the new format
            https://bugs.webkit.org/show_bug.cgi?id=30089
    
            Convert DOM Storage's "complex-keys" test into the new format and add it for
            session storage.  This test should be a bit more thorough than the old
            version as well.
    
            * storage/domstorage/localstorage/complex-keys-expected.txt:
            * storage/domstorage/localstorage/complex-keys.html:
            * storage/domstorage/script-tests/complex-keys.js: Added.
            (runTest):
            * storage/domstorage/sessionstorage/complex-keys-expected.txt: Added.
            * storage/domstorage/sessionstorage/complex-keys.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 07902d5..824eda5 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,21 @@
+2009-10-05  Jeremy Orlow  <jorlow at chromium.org>
+
+        Reviewed by Darin Fisher.
+
+        Convert DOM Storage's "complex-keys" test into the new format
+        https://bugs.webkit.org/show_bug.cgi?id=30089
+
+        Convert DOM Storage's "complex-keys" test into the new format and add it for
+        session storage.  This test should be a bit more thorough than the old
+        version as well.
+
+        * storage/domstorage/localstorage/complex-keys-expected.txt:
+        * storage/domstorage/localstorage/complex-keys.html:
+        * storage/domstorage/script-tests/complex-keys.js: Added.
+        (runTest):
+        * storage/domstorage/sessionstorage/complex-keys-expected.txt: Added.
+        * storage/domstorage/sessionstorage/complex-keys.html: Added.
+
 2009-10-05  Dirk Schulze  <krit at webkit.org>
 
         Reviewed by Nikolas Zimmermann.
diff --git a/LayoutTests/storage/domstorage/localstorage/complex-keys-expected.txt b/LayoutTests/storage/domstorage/localstorage/complex-keys-expected.txt
index 48aaa16..0ca9467 100644
--- a/LayoutTests/storage/domstorage/localstorage/complex-keys-expected.txt
+++ b/LayoutTests/storage/domstorage/localstorage/complex-keys-expected.txt
@@ -1,57 +1,122 @@
-This test feeds a variety of corner case keys into localStorage
-Length is 0
-Value for FOO is null
-Setting FOO to BAR
-Length is 1
-Value for FOO is BAR
-Value for foo is null
-Value for foo is undefined
-Value for foo is undefined
-Setting foo to bar with all three setter types
-Value for FOO is BAR
-Value for FOO is BAR
-Value for FOO is BAR
-Length is 2
-Setting null to foo
-Value for null is foo
-Value for null is foo
-Value for 'null' is foo
-Value for 'null' is foo
-Setting undefined to foo
-Value for undefined is foo
-Value for undefined is foo
-Value for 'undefined' is foo
-Value for 'undefined' is foo
-Setting 2 to foo
-Value for 2 is foo
-Value for 2 is foo
-Value for '2' is foo
-Value for '2' is foo
-Setting foo to bar
-Setting FOO to BAR with setItem
-Value for foo is bar
-Setting foo to bar
-Setting FOO to BAR with indexed setter
-Value for foo is bar
-Setting foo to bar
-Setting FOO to BAR with named property setter
-Value for foo is bar
+Test dom storage with many different types of keys (as opposed to values)
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Testing window.localStorage
+storage.clear()
+PASS storage.length is 0
+
+PASS storage.getItem('FOO') is null
+storage.setItem('FOO', 'BAR')
+PASS storage.length is 1
+PASS storage.getItem('FOO') is "BAR"
+PASS storage.getItem('foo') is null
+PASS storage.foo is undefined.
+PASS storage['foo'] is undefined.
+storage.foo = 'x'
+PASS storage.foo is "x"
+PASS storage['foo'] is "x"
+PASS storage.getItem('foo') is "x"
+storage['foo'] = 'y'
+PASS storage.foo is "y"
+PASS storage['foo'] is "y"
+PASS storage.getItem('foo') is "y"
+storage.setItem('foo', 'z')
+PASS storage.foo is "z"
+PASS storage['foo'] is "z"
+PASS storage.getItem('foo') is "z"
+PASS storage.length is 2
+
+Testing a null key
+storage.setItem(null, 'asdf')
+PASS storage.getItem('null') is "asdf"
+PASS storage.getItem(null) is "asdf"
+PASS storage['null'] is "asdf"
+PASS storage[null] is "asdf"
+PASS storage.length is 3
+storage[null] = 1
+PASS storage.getItem(null) is "1"
+storage['null'] = 2
+PASS storage.getItem(null) is "2"
+storage.setItem('null', 3)
+PASS storage.getItem(null) is "3"
+PASS storage.length is 3
+
+Testing an undefined key
+storage[undefined] = 'xyz'
+PASS storage.getItem('undefined') is "xyz"
+PASS storage.getItem(undefined) is "xyz"
+PASS storage['undefined'] is "xyz"
+PASS storage[undefined] is "xyz"
+PASS storage.length is 4
+storage['undefined'] = 4
+PASS storage.getItem(undefined) is "4"
+storage.setItem(undefined, 5)
+PASS storage.getItem(undefined) is "5"
+storage.setItem('undefined', 6)
+PASS storage.getItem(undefined) is "6"
+PASS storage.length is 4
+
+Testing a numeric key
+storage['2'] = 'ppp'
+PASS storage.getItem('2') is "ppp"
+PASS storage.getItem(2) is "ppp"
+PASS storage['2'] is "ppp"
+PASS storage[2] is "ppp"
+PASS storage.length is 5
+storage[2] = 7
+PASS storage.getItem(2) is "7"
+storage.setItem(2, 8)
+PASS storage.getItem(2) is "8"
+storage.setItem('2', 9)
+PASS storage.getItem(2) is "9"
+PASS storage.length is 5
+
 Setting a non-ascii string to foo
-Value for the key is foo
-[the key] is the same as getItem(the key): true
-Length is 6
-Length is 6
-Length is null
-Setting length property to 0
-Length is 6
-Setting length to 0 with indexed setter
-Length is 6
-Setting length to 0 with setItem
-Length is 7
-Length is 7
-Length is 0
-Call removeItem on length
-Length is 6
-Length is 6
-Length is null
+storage[k] = 'hello'
+PASS storage.getItem(k) is "hello"
+PASS storage[k] is "hello"
+PASS storage.length is 6
+
+Testing case differences
+storage.foo1 = 'lower1'
+storage.FOO1 = 'UPPER1'
+storage['foo2'] = 'lower2'
+storage['FOO2'] = 'UPPER2'
+storage.setItem('foo3', 'lower3')
+storage.setItem('FOO3', 'UPPER3')
+PASS storage.foo1 is "lower1"
+PASS storage.FOO1 is "UPPER1"
+PASS storage['foo2'] is "lower2"
+PASS storage['FOO2'] is "UPPER2"
+PASS storage.getItem('foo3') is "lower3"
+PASS storage.getItem('FOO3') is "UPPER3"
+PASS storage.length is 12
+
+Testing overriding length
+PASS storage.length is 12
+PASS storage['length'] is 12
+PASS storage.getItem('length') is null
+storage.length = 0
+PASS storage.length is 12
+PASS storage['length'] is 12
+PASS storage.getItem('length') is null
+storage['length'] = 0
+PASS storage.length is 12
+PASS storage['length'] is 12
+PASS storage.getItem('length') is null
+storage.setItem('length', 0)
+PASS storage.length is 13
+PASS storage['length'] is 13
+PASS storage.getItem('length') is "0"
+storage.removeItem('length')
+PASS storage.length is 12
+PASS storage['length'] is 12
+PASS storage.getItem('length') is null
+storage.setItem('length', 0)
+PASS storage.length is 13
+PASS successfullyParsed is true
+
+TEST COMPLETE
 
diff --git a/LayoutTests/storage/domstorage/localstorage/complex-keys.html b/LayoutTests/storage/domstorage/localstorage/complex-keys.html
index e3cef92..ccea769 100644
--- a/LayoutTests/storage/domstorage/localstorage/complex-keys.html
+++ b/LayoutTests/storage/domstorage/localstorage/complex-keys.html
@@ -1,109 +1,15 @@
 <html>
 <head>
-<script src="resources/clearLocalStorage.js"></script>
+<link rel="stylesheet" href="../../../fast/js/resources/js-test-style.css">
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="../script-tests/complex-keys.js"></script>
 <script>
-
-if (window.layoutTestController)
-    layoutTestController.dumpAsText();
-
-function log(a)
-{
-    document.getElementById("logger").innerHTML += a + "<br>";
-}
-
-function runTest()
-{
-    if (!window.localStorage) {
-        log("window.localStorage DOES NOT exist");
-        return;
-    }
-
-    log("Length is " + localStorage.length);
-    log("Value for FOO is " + localStorage.getItem("FOO"));
-    log("Setting FOO to BAR");
-    localStorage.setItem("FOO", "BAR");
-    log("Length is " + localStorage.length);
-    log("Value for FOO is " + localStorage.getItem("FOO"));
-    log("Value for foo is " + localStorage.getItem("foo"));
-    log("Value for foo is " + localStorage.foo);
-    log("Value for foo is " + localStorage["foo"]);
-    log("Setting foo to bar with all three setter types");
-    localStorage.foo = "bar";
-    localStorage["foo"] = "bar";
-    localStorage.setItem("foo", "bar");
-    log("Value for FOO is " + localStorage.getItem("FOO"));
-    log("Value for FOO is " + localStorage.FOO);
-    log("Value for FOO is " + localStorage["FOO"]);
-    log("Length is " + localStorage.length);
-
-    log("Setting null to foo");
-    localStorage.setItem(null, "foo");
-    log("Value for null is " + localStorage.getItem(null));
-    log("Value for null is " + localStorage[null]);
-    log("Value for 'null' is " + localStorage.getItem("null"));
-    log("Value for 'null' is " + localStorage["null"]);
-    log("Setting undefined to foo");
-    localStorage[undefined] = "foo";
-    log("Value for undefined is " + localStorage.getItem(undefined));
-    log("Value for undefined is " + localStorage[undefined]);
-    log("Value for 'undefined' is " + localStorage.getItem("undefined"));
-    log("Value for 'undefined' is " + localStorage["undefined"]);
-    log("Setting 2 to foo");
-    localStorage[2] = "foo";
-    log("Value for 2 is " + localStorage[2]);
-    log("Value for 2 is " + localStorage.getItem(2));
-    log("Value for '2' is " + localStorage["2"]);
-    log("Value for '2' is " + localStorage.getItem("2"));
-
-    log("Setting foo to bar");
-    localStorage.setItem("foo", "bar");
-    log("Setting FOO to BAR with setItem");
-    localStorage.setItem("FOO", "BAR");
-    log("Value for foo is " + localStorage.foo);
-
-    log("Setting foo to bar");
-    localStorage.setItem("foo", "bar");
-    log("Setting FOO to BAR with indexed setter");
-    localStorage["FOO"] = "BAR";
-    log("Value for foo is " + localStorage.foo);
-
-    log("Setting foo to bar");
-    localStorage.setItem("foo", "bar");
-    log("Setting FOO to BAR with named property setter");
-    localStorage.FOO = "BAR";
-    log("Value for foo is " + localStorage.foo);
-
-    var k = String.fromCharCode(255425) + String.fromCharCode(255) + String.fromCharCode(2554252321) + String.fromCharCode(0) + 'hello';
-    log("Setting a non-ascii string to foo");
-    localStorage[k] = "foo";
-    log("Value for the key is " + localStorage.getItem(k));
-    log("[the key] is the same as getItem(the key): " + (localStorage[k] == localStorage.getItem(k)));
-
-    log("Length is " + localStorage.length);
-    log("Length is " + localStorage["length"]);
-    log("Length is " + localStorage.getItem("length"));
-    log("Setting length property to 0");
-    localStorage.length = 0;
-    log("Length is " + localStorage.length);
-    log("Setting length to 0 with indexed setter");
-    localStorage["length"] = 0;
-    log("Length is " + localStorage.length);
-    log("Setting length to 0 with setItem");
-    localStorage.setItem("length", 0);
-    log("Length is " + localStorage.length);
-    log("Length is " + localStorage["length"]);
-    log("Length is " + localStorage.getItem("length"));
-    log("Call removeItem on length");
-    localStorage.removeItem("length");
-    log("Length is " + localStorage.length);
-    log("Length is " + localStorage["length"]);
-    log("Length is " + localStorage.getItem("length"));
-}
-
+runTest("window.localStorage");
 </script>
-</head>
-<body onload="runTest();">
-This test feeds a variety of corner case keys into localStorage<br>
-<div id="logger"></div>
+<script src="../../../fast/js/resources/js-test-post.js"></script>
 </body>
 </html>
diff --git a/LayoutTests/storage/domstorage/script-tests/complex-keys.js b/LayoutTests/storage/domstorage/script-tests/complex-keys.js
new file mode 100644
index 0000000..0233e47
--- /dev/null
+++ b/LayoutTests/storage/domstorage/script-tests/complex-keys.js
@@ -0,0 +1,146 @@
+description("Test dom storage with many different types of keys (as opposed to values)");
+
+function runTest(storageString)
+{
+    storage = eval(storageString);
+    if (!storage) {
+        testFailed(storageString + " DOES NOT exist");
+        return;
+    }
+
+    debug("Testing " + storageString);
+
+    evalAndLog("storage.clear()");
+    shouldBe("storage.length", "0");
+
+    debug("");
+    shouldBeNull("storage.getItem('FOO')");
+    evalAndLog("storage.setItem('FOO', 'BAR')");
+    shouldBe("storage.length", "1");
+
+    shouldBeEqualToString("storage.getItem('FOO')", "BAR");
+    shouldBeNull("storage.getItem('foo')");
+    shouldBeUndefined("storage.foo");
+    shouldBeUndefined("storage['foo']");
+
+    evalAndLog("storage.foo = 'x'");
+    shouldBeEqualToString("storage.foo", "x");
+    shouldBeEqualToString("storage['foo']", "x");
+    shouldBeEqualToString("storage.getItem('foo')", "x");
+    evalAndLog("storage['foo'] = 'y'");
+    shouldBeEqualToString("storage.foo", "y");
+    shouldBeEqualToString("storage['foo']", "y");
+    shouldBeEqualToString("storage.getItem('foo')", "y");
+    evalAndLog("storage.setItem('foo', 'z')");
+    shouldBeEqualToString("storage.foo", "z");
+    shouldBeEqualToString("storage['foo']", "z");
+    shouldBeEqualToString("storage.getItem('foo')", "z");
+    shouldBe("storage.length", "2");
+
+    debug("");
+    debug("Testing a null key");
+    evalAndLog("storage.setItem(null, 'asdf')");
+    shouldBeEqualToString("storage.getItem('null')", "asdf");
+    shouldBeEqualToString("storage.getItem(null)", "asdf");
+    shouldBeEqualToString("storage['null']", "asdf");
+    shouldBeEqualToString("storage[null]", "asdf");
+    shouldBe("storage.length", "3");
+
+    evalAndLog("storage[null] = 1");
+    shouldBeEqualToString("storage.getItem(null)", "1");
+    evalAndLog("storage['null'] = 2");
+    shouldBeEqualToString("storage.getItem(null)", "2");
+    evalAndLog("storage.setItem('null', 3)");
+    shouldBeEqualToString("storage.getItem(null)", "3");
+    shouldBe("storage.length", "3");
+
+    debug("");
+    debug("Testing an undefined key");
+    evalAndLog("storage[undefined] = 'xyz'");
+    shouldBeEqualToString("storage.getItem('undefined')", "xyz");
+    shouldBeEqualToString("storage.getItem(undefined)", "xyz");
+    shouldBeEqualToString("storage['undefined']", "xyz");
+    shouldBeEqualToString("storage[undefined]", "xyz");
+    shouldBe("storage.length", "4");
+
+    evalAndLog("storage['undefined'] = 4");
+    shouldBeEqualToString("storage.getItem(undefined)", "4");
+    evalAndLog("storage.setItem(undefined, 5)");
+    shouldBeEqualToString("storage.getItem(undefined)", "5");
+    evalAndLog("storage.setItem('undefined', 6)");
+    shouldBeEqualToString("storage.getItem(undefined)", "6");
+    shouldBe("storage.length", "4");
+
+    debug("");
+    debug("Testing a numeric key");
+    evalAndLog("storage['2'] = 'ppp'");
+    shouldBeEqualToString("storage.getItem('2')", "ppp");
+    shouldBeEqualToString("storage.getItem(2)", "ppp");
+    shouldBeEqualToString("storage['2']", "ppp");
+    shouldBeEqualToString("storage[2]", "ppp");
+    shouldBe("storage.length", "5");
+
+    evalAndLog("storage[2] = 7");
+    shouldBeEqualToString("storage.getItem(2)", "7");
+    evalAndLog("storage.setItem(2, 8)");
+    shouldBeEqualToString("storage.getItem(2)", "8");
+    evalAndLog("storage.setItem('2', 9)");
+    shouldBeEqualToString("storage.getItem(2)", "9");
+    shouldBe("storage.length", "5");
+
+    debug("");
+    debug("Setting a non-ascii string to foo");
+    k = String.fromCharCode(255425) + String.fromCharCode(255) + String.fromCharCode(2554252321) + String.fromCharCode(0) + 'hello';
+    evalAndLog("storage[k] = 'hello'");
+    shouldBeEqualToString("storage.getItem(k)", "hello");
+    shouldBeEqualToString("storage[k]", "hello");
+    shouldBe("storage.length", "6");
+
+    debug("");
+    debug("Testing case differences");
+    evalAndLog("storage.foo1 = 'lower1'");
+    evalAndLog("storage.FOO1 = 'UPPER1'");
+    evalAndLog("storage['foo2'] = 'lower2'");
+    evalAndLog("storage['FOO2'] = 'UPPER2'");
+    evalAndLog("storage.setItem('foo3', 'lower3')");
+    evalAndLog("storage.setItem('FOO3', 'UPPER3')");
+    shouldBeEqualToString("storage.foo1", "lower1");
+    shouldBeEqualToString("storage.FOO1", "UPPER1");
+    shouldBeEqualToString("storage['foo2']", "lower2");
+    shouldBeEqualToString("storage['FOO2']", "UPPER2");
+    shouldBeEqualToString("storage.getItem('foo3')", "lower3");
+    shouldBeEqualToString("storage.getItem('FOO3')", "UPPER3");
+    shouldBe("storage.length", "12");
+    
+
+    debug("");
+    debug("Testing overriding length");
+    shouldBe("storage.length", "12");
+    shouldBe("storage['length']", "12");
+    shouldBeNull("storage.getItem('length')");
+
+    evalAndLog("storage.length = 0");
+    shouldBe("storage.length", "12");
+    shouldBe("storage['length']", "12");
+    shouldBeNull("storage.getItem('length')");
+
+    evalAndLog("storage['length'] = 0");
+    shouldBe("storage.length", "12");
+    shouldBe("storage['length']", "12");
+    shouldBeNull("storage.getItem('length')");
+
+    evalAndLog("storage.setItem('length', 0)");
+    shouldBe("storage.length", "13");
+    shouldBe("storage['length']", "13");
+    shouldBeEqualToString("storage.getItem('length')", "0");
+
+    evalAndLog("storage.removeItem('length')");
+    shouldBe("storage.length", "12");
+    shouldBe("storage['length']", "12");
+    shouldBeNull("storage.getItem('length')");
+
+    evalAndLog("storage.setItem('length', 0)");
+    shouldBe("storage.length", "13");
+
+    window.successfullyParsed = true;
+}
diff --git a/LayoutTests/storage/domstorage/sessionstorage/complex-keys-expected.txt b/LayoutTests/storage/domstorage/sessionstorage/complex-keys-expected.txt
new file mode 100644
index 0000000..f6ede56
--- /dev/null
+++ b/LayoutTests/storage/domstorage/sessionstorage/complex-keys-expected.txt
@@ -0,0 +1,122 @@
+Test dom storage with many different types of keys (as opposed to values)
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Testing window.sessionStorage
+storage.clear()
+PASS storage.length is 0
+
+PASS storage.getItem('FOO') is null
+storage.setItem('FOO', 'BAR')
+PASS storage.length is 1
+PASS storage.getItem('FOO') is "BAR"
+PASS storage.getItem('foo') is null
+PASS storage.foo is undefined.
+PASS storage['foo'] is undefined.
+storage.foo = 'x'
+PASS storage.foo is "x"
+PASS storage['foo'] is "x"
+PASS storage.getItem('foo') is "x"
+storage['foo'] = 'y'
+PASS storage.foo is "y"
+PASS storage['foo'] is "y"
+PASS storage.getItem('foo') is "y"
+storage.setItem('foo', 'z')
+PASS storage.foo is "z"
+PASS storage['foo'] is "z"
+PASS storage.getItem('foo') is "z"
+PASS storage.length is 2
+
+Testing a null key
+storage.setItem(null, 'asdf')
+PASS storage.getItem('null') is "asdf"
+PASS storage.getItem(null) is "asdf"
+PASS storage['null'] is "asdf"
+PASS storage[null] is "asdf"
+PASS storage.length is 3
+storage[null] = 1
+PASS storage.getItem(null) is "1"
+storage['null'] = 2
+PASS storage.getItem(null) is "2"
+storage.setItem('null', 3)
+PASS storage.getItem(null) is "3"
+PASS storage.length is 3
+
+Testing an undefined key
+storage[undefined] = 'xyz'
+PASS storage.getItem('undefined') is "xyz"
+PASS storage.getItem(undefined) is "xyz"
+PASS storage['undefined'] is "xyz"
+PASS storage[undefined] is "xyz"
+PASS storage.length is 4
+storage['undefined'] = 4
+PASS storage.getItem(undefined) is "4"
+storage.setItem(undefined, 5)
+PASS storage.getItem(undefined) is "5"
+storage.setItem('undefined', 6)
+PASS storage.getItem(undefined) is "6"
+PASS storage.length is 4
+
+Testing a numeric key
+storage['2'] = 'ppp'
+PASS storage.getItem('2') is "ppp"
+PASS storage.getItem(2) is "ppp"
+PASS storage['2'] is "ppp"
+PASS storage[2] is "ppp"
+PASS storage.length is 5
+storage[2] = 7
+PASS storage.getItem(2) is "7"
+storage.setItem(2, 8)
+PASS storage.getItem(2) is "8"
+storage.setItem('2', 9)
+PASS storage.getItem(2) is "9"
+PASS storage.length is 5
+
+Setting a non-ascii string to foo
+storage[k] = 'hello'
+PASS storage.getItem(k) is "hello"
+PASS storage[k] is "hello"
+PASS storage.length is 6
+
+Testing case differences
+storage.foo1 = 'lower1'
+storage.FOO1 = 'UPPER1'
+storage['foo2'] = 'lower2'
+storage['FOO2'] = 'UPPER2'
+storage.setItem('foo3', 'lower3')
+storage.setItem('FOO3', 'UPPER3')
+PASS storage.foo1 is "lower1"
+PASS storage.FOO1 is "UPPER1"
+PASS storage['foo2'] is "lower2"
+PASS storage['FOO2'] is "UPPER2"
+PASS storage.getItem('foo3') is "lower3"
+PASS storage.getItem('FOO3') is "UPPER3"
+PASS storage.length is 12
+
+Testing overriding length
+PASS storage.length is 12
+PASS storage['length'] is 12
+PASS storage.getItem('length') is null
+storage.length = 0
+PASS storage.length is 12
+PASS storage['length'] is 12
+PASS storage.getItem('length') is null
+storage['length'] = 0
+PASS storage.length is 12
+PASS storage['length'] is 12
+PASS storage.getItem('length') is null
+storage.setItem('length', 0)
+PASS storage.length is 13
+PASS storage['length'] is 13
+PASS storage.getItem('length') is "0"
+storage.removeItem('length')
+PASS storage.length is 12
+PASS storage['length'] is 12
+PASS storage.getItem('length') is null
+storage.setItem('length', 0)
+PASS storage.length is 13
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/storage/domstorage/sessionstorage/complex-keys.html b/LayoutTests/storage/domstorage/sessionstorage/complex-keys.html
new file mode 100644
index 0000000..8ca39dc
--- /dev/null
+++ b/LayoutTests/storage/domstorage/sessionstorage/complex-keys.html
@@ -0,0 +1,15 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../../fast/js/resources/js-test-style.css">
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="../script-tests/complex-keys.js"></script>
+<script>
+runTest("window.sessionStorage");
+</script>
+<script src="../../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list