OLD | NEW |
---|---|
(Empty) | |
1 <!DOCTYPE html> | |
2 <title>IndexedDB: UpgradeNeeded Tests</title> | |
jsbell
2016/05/20 19:34:51
Correct the title
palakj1
2016/05/23 17:17:40
Sorry for this. Corrected
| |
3 <script src="../../resources/testharness.js"></script> | |
4 <script src="../../resources/testharnessreport.js"></script> | |
5 <script> | |
6 | |
7 function delete_count(test, description) { | |
8 async_test(function(t) { | |
9 var dbname = location.pathname + ' - ' + description; | |
10 var deleteRequest = indexedDB.deleteDatabase(dbname); | |
11 deleteRequest.onsuccess = t.step_func(function() { | |
12 var openRequest = indexedDB.open(dbname); | |
13 openRequest.onupgradeneeded = t.step_func(function(e) { | |
14 var db = e.target.result; | |
15 var store = db.createObjectStore('store'); | |
16 for (var i = 1; i <= 10; ++i) { | |
17 store.put(i,i); | |
jsbell
2016/05/20 19:34:51
nit: space after comma
| |
18 } | |
19 }); | |
20 openRequest.onsuccess = t.step_func(function(e) { | |
21 var db = e.target.result; | |
22 var trans1 = db.transaction('store', 'readwrite'); | |
23 var store = trans1.objectStore('store'); | |
24 deleteRequest1 = store.delete(IDBKeyRange.bound( | |
25 test.first.lower, | |
26 test.first.upper)); | |
27 deleteRequest1.onsuccess = t.step_func(function(e) { | |
28 var delete_count = e.target.result; | |
29 assert_equals(delete_count, test.first.expected, 'Delete Cou nt'); | |
30 var trans2 = db.transaction('store', 'readwrite'); | |
31 store = trans2.objectStore('store'); | |
32 deleteRequest2 = store.delete(IDBKeyRange.bound( | |
33 test.second.lower, | |
34 test.second.upper)); | |
35 deleteRequest2.onsuccess = t.step_func(function(e) { | |
36 delete_count = e.target.result; | |
37 assert_equals(delete_count, test.second.expected, 'Some records already been deleted'); | |
38 t.done(); | |
39 }); | |
40 }); | |
41 }); | |
42 openRequest.onerror = t.unreached_func('open failed'); | |
43 }); | |
44 }, description); | |
45 } | |
46 | |
47 (function() { | |
jsbell
2016/05/20 19:34:51
This closure doesn't really provide any benefit he
| |
48 var tests = [ | |
49 { first: { lower: 3, upper: 4, expected: 2}, | |
jsbell
2016/05/20 19:34:51
These cases could just be inline, since we're neve
| |
50 second: { lower: 1, upper: 5, expected: 3} | |
51 }, | |
52 { first: { lower: 3, upper: 8, expected: 6}, | |
53 second: { lower: 3, upper: 8, expected: 0} | |
54 }]; | |
55 | |
56 delete_count(tests[0], 'Delete Range for Overlapping Intervals'); | |
jsbell
2016/05/20 19:34:51
i.e. delete_count({first: {lower 3, ....
palakj1
2016/05/23 17:17:40
Done
| |
57 delete_count(tests[1], 'Delete Range for Repeated Intervals'); | |
58 }()); | |
59 | |
jsbell
2016/05/20 19:34:51
Nit: remove some of his extra whitespace
| |
60 | |
61 | |
62 | |
63 | |
64 </script> | |
OLD | NEW |