OLD | NEW |
---|---|
(Empty) | |
1 <!DOCTYPE html> | |
dmurph
2016/05/20 18:41:15
We could probably just remove the 'lowerOpen' and
palakj1
2016/05/20 19:13:45
Done
| |
2 <title>IndexedDB: UpgradeNeeded Tests</title> | |
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 db.createObjectStore('store'); | |
16 }); | |
17 openRequest.onsuccess = t.step_func(function(e) { | |
18 var db = e.target.result; | |
19 var trans1 = db.transaction('store', 'readwrite'); | |
20 var store = trans1.objectStore('store'); | |
jsbell
2016/05/20 00:36:12
Just to simplify this a bit, I'd do the put()s in
palakj1
2016/05/20 19:13:46
Done
| |
21 for (var i = 1; i <= 10; ++i) { | |
22 store.put(i,i); | |
23 } | |
24 trans1.oncomplete = t.step_func(function() { | |
25 var trans2 = db.transaction('store', 'readwrite'); | |
26 store = trans2.objectStore('store'); | |
27 deleteRequest1 = store.delete(IDBKeyRange.bound( | |
28 test.first.lower, | |
29 test.first.upper, | |
30 test.first.lowerOpen, | |
31 test.upperOpen)); | |
jsbell
2016/05/20 00:36:12
test.first.upperOpen?
palakj1
2016/05/20 19:13:46
code segment removed
| |
32 deleteRequest1.onsuccess = t.step_func(function(e) { | |
33 var delete_count = e.target.result; | |
34 assert_equals(delete_count, test.first.expected, 'Delete Count'); | |
35 var trans3 = db.transaction('store', 'readwrite'); | |
36 store = trans3.objectStore('store'); | |
37 deleteRequest2 = store.delete(IDBKeyRange.bound( | |
38 test.second.lower, | |
39 test.second.upper, | |
40 test.second.lowerOpen, | |
41 test.second.upperOpen)); | |
42 deleteRequest2.onsuccess = t.step_func(function(e) { | |
43 delete_count = e.target.result; | |
44 assert_equals(delete_count, test.second.expected, 'S ome records already been deleted'); | |
45 t.done(); | |
46 }); | |
47 }); | |
48 }); | |
49 }); | |
50 openRequest.onerror = t.unreached_func('open failed'); | |
51 }); | |
52 }, description); | |
53 } | |
54 | |
55 (function() { | |
56 var tests = [ | |
57 { first: { lower: 3, upper: 4, lowerOpen: false, upperOpen: false, expec ted: 2}, | |
jsbell
2016/05/20 00:36:12
You can leave out falsy values like lowerOpen: fal
palakj1
2016/05/20 19:13:45
Done
| |
58 second: { lower: 1, upper: 5, lowerOpen: false, upperOpen: false, expec ted: 3} | |
59 }, | |
60 { first: { lower: 3, upper: 8, lowerOpen: true, upperOpen: false, expect ed: 5}, | |
61 second: { lower: 3, upper: 8, lowerOpen: true, upperOpen: false, expect ed: 0} | |
62 }]; | |
63 | |
64 delete_count(tests[0], 'Delete Range for Overlapping Intervals'); | |
65 delete_count(tests[1], 'Delete Range for Repeated Intervals'); | |
66 }()); | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 </script> | |
OLD | NEW |