OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <title>IndexedDB: Delete Range Count 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 var store = db.createObjectStore('store'); |
| 16 for (var i = 1; i <= 10; ++i) { |
| 17 store.put(i, i); |
| 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 var 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 var 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 delete_count({ first: { lower: 3, upper: 4, expected: 2}, |
| 48 second: { lower: 1, upper: 5, expected: 3} }, |
| 49 'Delete Range for Overlapping Intervals'); |
| 50 delete_count({ first: { lower: 3, upper: 8, expected: 6}, |
| 51 second: { lower: 3, upper: 8, expected: 0} }, |
| 52 'Delete Range for Repeated Intervals'); |
| 53 |
| 54 </script> |
OLD | NEW |