dom/tests/mochitest/localstorage/test_localStorageKeyOrder.html

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:d6d558c3bab0
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <title>localStorage key order test</title>
4
5 <script type="text/javascript" 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>

mercurial