| OLD | NEW |
| 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. |
| 11 4. If the ith value of A is less than the ith value of B, then A is less than B.
Skip the remaining steps. | 11 4. If the ith value of A is less than the ith value of B, then A is less than B.
Skip the remaining steps. |
| 12 5. If the ith value of A is greater than the ith value of B, then A is greater t
han B. Skip the remaining steps. | 12 5. If the ith value of A is greater than the ith value of B, then A is greater t
han B. Skip the remaining steps. |
| 13 6. Increase i by 1. | 13 6. Increase i by 1. |
| 14 7. If i is not equal to length, go back to step 4. Otherwise continue to next st
ep. | 14 7. If i is not equal to length, go back to step 4. Otherwise continue to next st
ep. |
| 15 8. If A's length is less than B's length, then A is less than B. If A's length i
s greater than B's length, then A is greater than B. Otherwise A and B are equal
."> | 15 8. If A's length is less than B's length, then A is less than B. If A's length i
s greater than B's length, then A is greater than B. Otherwise A and B are equal
."> |
| 16 <script src="../../../resources/testharness.js"></script> | 16 <script src="/resources/testharness.js"></script> |
| 17 <script src="../../../resources/testharnessreport.js"></script> | 17 <script src="/resources/testharnessreport.js"></script> |
| 18 <script src="support.js"></script> | 18 <script src="support.js"></script> |
| 19 | 19 |
| 20 <script> | 20 <script> |
| 21 var global_db = createdb_for_multiple_tests(); | 21 var global_db = createdb_for_multiple_tests(); |
| 22 | 22 |
| 23 function keysort(desc, unsorted, expected) { | 23 function keysort(desc, unsorted, expected) { |
| 24 var db, | 24 var db, |
| 25 t = async_test("Database readback sort - " + desc, { timeout: 10000
}), | 25 t = async_test("Database readback sort - " + desc, { timeout: 10000
}), |
| 26 store_name = 'store-' + Date.now() + Math.random(); | 26 store_name = 'store-' + Date.now() + Math.random(); |
| 27 | 27 |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 ["a", "b"], | 166 ["a", "b"], |
| 167 ["a", "b", "c"], | 167 ["a", "b", "c"], |
| 168 ["a", [1, 2]], | 168 ["a", [1, 2]], |
| 169 ["a", [1, [-1]]], | 169 ["a", [1, [-1]]], |
| 170 ["b", "a"] | 170 ["b", "a"] |
| 171 ]); | 171 ]); |
| 172 | 172 |
| 173 </script> | 173 </script> |
| 174 | 174 |
| 175 <div id="log"></div> | 175 <div id="log"></div> |
| OLD | NEW |