tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_localStorageKeyOrder.html (1866B)


      1 <html xmlns="http://www.w3.org/1999/xhtml">
      2 <head>
      3 <title>localStorage key order test</title>
      4 
      5 <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      7 
      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 -->
     13 
     14 <script type="text/javascript">
     15 
     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";
     26 
     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");
     33 
     34    for (var i = 0; i < localStorage.length; ++i)
     35      keyNames[i] = localStorage.key(i);
     36 
     37    localStorage.a = "10";
     38    localStorage.b = "20";
     39    localStorage.c = "30";
     40    localStorage.d = "40";
     41    localStorage.e = "50";
     42 
     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");
     49 
     50    for (var i = 0; i < localStorage.length; ++i)
     51      is(keyNames[i], localStorage.key(i), "key "+keyNames[i]+" on same index");
     52 
     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 }
     63 
     64 SimpleTest.waitForExplicitFinish();
     65 
     66 </script>
     67 
     68 </head>
     69 
     70 <body onload="startTest();">
     71  <iframe src="" name="frame"></frame>
     72 </body>
     73 </html>