dom/tests/mochitest/localstorage/test_localStorageKeyOrder.html

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 <html xmlns="http://www.w3.org/1999/xhtml">
     2 <head>
     3 <title>localStorage key order test</title>
     5 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
     6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     8 <!--
     9   Check we preserve order of keys in localStorage when
    10   keys are just modified. When a new key is added or
    11   a key is removed order is again unspecified.
    12 -->
    14 <script type="text/javascript">
    16 function startTest()
    17 {
    18   try
    19   {
    20     var keyNames = new Array;
    21     localStorage.a = "1";
    22     localStorage.b = "2";
    23     localStorage.c = "3";
    24     localStorage.d = "4";
    25     localStorage.e = "5";
    27     is(localStorage.a, "1", "a = 1");
    28     is(localStorage.b, "2", "b = 2");
    29     is(localStorage.c, "3", "c = 3");
    30     is(localStorage.d, "4", "d = 4");
    31     is(localStorage.e, "5", "e = 5");
    32     is(localStorage.length, 5, "length = 5");
    34     for (var i = 0; i < localStorage.length; ++i)
    35       keyNames[i] = localStorage.key(i);
    37     localStorage.a = "10";
    38     localStorage.b = "20";
    39     localStorage.c = "30";
    40     localStorage.d = "40";
    41     localStorage.e = "50";
    43     is(localStorage.a, "10", "a = 10");
    44     is(localStorage.b, "20", "b = 20");
    45     is(localStorage.c, "30", "c = 30");
    46     is(localStorage.d, "40", "d = 40");
    47     is(localStorage.e, "50", "e = 50");
    48     is(localStorage.length, 5, "length = 5");
    50     for (var i = 0; i < localStorage.length; ++i)
    51       is(keyNames[i], localStorage.key(i), "key "+keyNames[i]+" on same index");
    53     keyNamesStringify = "[\"" + keyNames.join("\",\"") + "\"]";
    54     frame.location = "http://mochi.test:8888/tests/dom/tests/mochitest/localstorage/frameOrder.html?" +
    55       keyNamesStringify;
    56   }
    57   catch (ex)
    58   {
    59     localStorage.clear();
    60     throw ex;
    61   }
    62 }
    64 SimpleTest.waitForExplicitFinish();
    66 </script>
    68 </head>
    70 <body onload="startTest();">
    71   <iframe src="" name="frame"></frame>
    72 </body>
    73 </html>

mercurial