Chromium Code Reviews| 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 |