Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: LayoutTests/imported/web-platform-tests/IndexedDB/keyorder.htm

Issue 1295773004: update-w3c-deps import using blink c936ac9d274f959a4b5908db6835bcd612fb1a9e: (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <!-- Submitted from TestTWF Paris --> 2 <!-- Submitted from TestTWF Paris -->
3 <meta charset="utf-8"> 3 <meta charset="utf-8">
4 <title>Key sort order</title> 4 <title>Key sort order</title>
5 <link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html# key-construct"> 5 <link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html# key-construct">
6 <link rel=assert title="For purposes of comparison, all Arrays are greater than all DOMString, Date and float values; all DOMString values are greater than all Date and float values; and all Date values are greater than all float values. Va lues of type float are compared to other float values numerically. Values of typ e Date are compared to other Date values chronologically. Values of type DOMStri ng are compared to other values of type DOMString by using the algorithm defined by step 4 of section 11.8.5, The Abstract Relational Comparison Algorithm, of t he ECMAScript Language Specification [ECMA-262]. Values of type Array are compar ed to other values of type Array as follows: 6 <link rel=assert title="For purposes of comparison, all Arrays are greater than all DOMString, Date and float values; all DOMString values are greater than all Date and float values; and all Date values are greater than all float values. Va lues of type float are compared to other float values numerically. Values of typ e Date are compared to other Date values chronologically. Values of type DOMStri ng are compared to other values of type DOMString by using the algorithm defined by step 4 of section 11.8.5, The Abstract Relational Comparison Algorithm, of t he ECMAScript Language Specification [ECMA-262]. Values of type Array are compar ed to other values of type Array as follows:
7 7
8 1. Let A be the first Array value and B be the second Array value. 8 1. Let A be the first Array value and B be the second Array value.
9 2. Let length be the lesser of A's length and B's length. 9 2. Let length be the lesser of A's length and B's length.
10 3. Let i be 0. 10 3. Let i be 0.
(...skipping 27 matching lines...) Expand all
38 open_rq.onsuccess = function(e) { 38 open_rq.onsuccess = function(e) {
39 var actual_keys = [], 39 var actual_keys = [],
40 rq = db.transaction(store_name) 40 rq = db.transaction(store_name)
41 .objectStore(store_name) 41 .objectStore(store_name)
42 .openCursor(); 42 .openCursor();
43 43
44 rq.onsuccess = t.step_func(function(e) { 44 rq.onsuccess = t.step_func(function(e) {
45 var cursor = e.target.result; 45 var cursor = e.target.result;
46 46
47 if (cursor) { 47 if (cursor) {
48 actual_keys.push(cursor.key.valueOf()); 48 actual_keys.push(cursor.key);
49 cursor.continue(); 49 cursor.continue();
50 } 50 }
51 else { 51 else {
52 assert_object_equals(actual_keys, expected, "keyorder array" ); 52 assert_key_equals(actual_keys, expected, "keyorder array");
53 assert_equals(actual_keys.length, expected.length, "array le ngth"); 53 assert_equals(actual_keys.length, expected.length, "array le ngth");
54 54
55 t.done(); 55 t.done();
56 } 56 }
57 }); 57 });
58 }; 58 };
59 59
60 // The IDBKey.cmp test 60 // The IDBKey.cmp test
61 test(function () { 61 test(function () {
62 var sorted = unsorted.slice(0).sort(function(a, b) { return indexedD B.cmp(a, b)}); 62 var sorted = unsorted.slice(0).sort(function(a, b) { return indexedD B.cmp(a, b)});
63 63 assert_key_equals(sorted, expected, "sorted array");
64 for (var i in sorted)
65 if (typeof sorted[i] === "object" && 'valueOf' in sorted[i])
66 sorted[i] = sorted[i].valueOf();
67
68 assert_object_equals(sorted, expected, "sorted array");
69 64
70 }, "IDBKey.cmp sorted - " + desc); 65 }, "IDBKey.cmp sorted - " + desc);
71 } 66 }
72 67
73 var now = new Date(), 68 var now = new Date(),
74 one_sec_ago = new Date(now - 1000), 69 one_sec_ago = new Date(now - 1000),
75 one_min_future = new Date(now.getTime() + (1000*60)); 70 one_min_future = new Date(now.getTime() + (1000*60));
76 71
77 keysort('String < Array', 72 keysort('String < Array',
78 [ [0], "yo", "", [] ], 73 [ [0], "yo", "", [] ],
79 [ "", "yo", [], [0] ]); 74 [ "", "yo", [], [0] ]);
80 75
81 keysort('float < String', 76 keysort('float < String',
82 [ Infinity, "yo", 0, "", 100 ], 77 [ Infinity, "yo", 0, "", 100 ],
83 [ 0, 100, Infinity, "", "yo" ]); 78 [ 0, 100, Infinity, "", "yo" ]);
84 79
85 keysort('float < Date', 80 keysort('float < Date',
86 [ now, 0, 9999999999999, -0.22 ], 81 [ now, 0, 9999999999999, -0.22 ],
87 [ -0.22, 0, 9999999999999, now.valueOf() ]); 82 [ -0.22, 0, 9999999999999, now ]);
88 83
89 keysort('float < Date < String < Array', 84 keysort('float < Date < String < Array',
90 [ [], "", now, [0], "-1", 0, 9999999999999, ], 85 [ [], "", now, [0], "-1", 0, 9999999999999, ],
91 [ 0, 9999999999999, now.valueOf(), "", "-1", [], [0] ]); 86 [ 0, 9999999999999, now, "", "-1", [], [0] ]);
92 87
93 88
94 keysort('Date(1 sec ago) < Date(now) < Date(1 minute in future)', 89 keysort('Date(1 sec ago) < Date(now) < Date(1 minute in future)',
95 [ now, one_sec_ago, one_min_future ], 90 [ now, one_sec_ago, one_min_future ],
96 [ one_sec_ago.valueOf(), now.valueOf(), one_min_future.valueOf() ]); 91 [ one_sec_ago, now, one_min_future ]);
97 92
98 keysort('-1.1 < 1 < 1.01337 < 1.013373 < 2', 93 keysort('-1.1 < 1 < 1.01337 < 1.013373 < 2',
99 [ 1.013373, 2, 1.01337, -1.1, 1 ], 94 [ 1.013373, 2, 1.01337, -1.1, 1 ],
100 [ -1.1, 1, 1.01337, 1.013373, 2 ]); 95 [ -1.1, 1, 1.01337, 1.013373, 2 ]);
101 96
102 keysort('-Infinity < -0.01 < 0 < Infinity', 97 keysort('-Infinity < -0.01 < 0 < Infinity',
103 [ 0, -0.01, -Infinity, Infinity ], 98 [ 0, -0.01, -Infinity, Infinity ],
104 [ -Infinity, -0.01, 0, Infinity ]); 99 [ -Infinity, -0.01, 0, Infinity ]);
105 100
106 keysort('"" < "a" < "ab" < "b" < "ba"', 101 keysort('"" < "a" < "ab" < "b" < "ba"',
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 -Infinity, 145 -Infinity,
151 2.55, 146 2.55,
152 [ 0, now ], 147 [ 0, now ],
153 [1] 148 [1]
154 ], 149 ],
155 [ 150 [
156 -Infinity, 151 -Infinity,
157 1, 152 1,
158 2.55, 153 2.55,
159 Infinity, 154 Infinity,
160 one_sec_ago.valueOf(), 155 one_sec_ago,
161 now.valueOf(), 156 now,
162 "test", 157 "test",
163 [], 158 [],
164 [0 ,2, "c"], 159 [0 ,2, "c"],
165 [0, now.valueOf()], 160 [0, now],
166 [0, "b", "c"], 161 [0, "b", "c"],
167 [0, []], 162 [0, []],
168 [0, [], 3], 163 [0, [], 3],
169 [1], 164 [1],
170 [1, 2], 165 [1, 2],
171 ["a", "b"], 166 ["a", "b"],
172 ["a", "b", "c"], 167 ["a", "b", "c"],
173 ["a", [1, 2]], 168 ["a", [1, 2]],
174 ["a", [1, [-1]]], 169 ["a", [1, [-1]]],
175 ["b", "a"] 170 ["b", "a"]
176 ]); 171 ]);
177 172
178 </script> 173 </script>
179 174
180 <div id="log"></div> 175 <div id="log"></div>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698