Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/storage/indexeddb/delete-range-count.html |
| diff --git a/third_party/WebKit/LayoutTests/storage/indexeddb/delete-range-count.html b/third_party/WebKit/LayoutTests/storage/indexeddb/delete-range-count.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..775d84487c777494a872faea3bea7509ff21d9b5 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/storage/indexeddb/delete-range-count.html |
| @@ -0,0 +1,64 @@ |
| +<!DOCTYPE html> |
| +<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
|
| +<script src="../../resources/testharness.js"></script> |
| +<script src="../../resources/testharnessreport.js"></script> |
| +<script> |
| + |
| +function delete_count(test, description) { |
| + async_test(function(t) { |
| + var dbname = location.pathname + ' - ' + description; |
| + var deleteRequest = indexedDB.deleteDatabase(dbname); |
| + deleteRequest.onsuccess = t.step_func(function() { |
| + var openRequest = indexedDB.open(dbname); |
| + openRequest.onupgradeneeded = t.step_func(function(e) { |
| + var db = e.target.result; |
| + var store = db.createObjectStore('store'); |
| + for (var i = 1; i <= 10; ++i) { |
| + store.put(i,i); |
|
jsbell
2016/05/20 19:34:51
nit: space after comma
|
| + } |
| + }); |
| + openRequest.onsuccess = t.step_func(function(e) { |
| + var db = e.target.result; |
| + var trans1 = db.transaction('store', 'readwrite'); |
| + var store = trans1.objectStore('store'); |
| + deleteRequest1 = store.delete(IDBKeyRange.bound( |
| + test.first.lower, |
| + test.first.upper)); |
| + deleteRequest1.onsuccess = t.step_func(function(e) { |
| + var delete_count = e.target.result; |
| + assert_equals(delete_count, test.first.expected, 'Delete Count'); |
| + var trans2 = db.transaction('store', 'readwrite'); |
| + store = trans2.objectStore('store'); |
| + deleteRequest2 = store.delete(IDBKeyRange.bound( |
| + test.second.lower, |
| + test.second.upper)); |
| + deleteRequest2.onsuccess = t.step_func(function(e) { |
| + delete_count = e.target.result; |
| + assert_equals(delete_count, test.second.expected, 'Some records already been deleted'); |
| + t.done(); |
| + }); |
| + }); |
| + }); |
| + openRequest.onerror = t.unreached_func('open failed'); |
| + }); |
| + }, description); |
| +} |
| + |
| +(function() { |
|
jsbell
2016/05/20 19:34:51
This closure doesn't really provide any benefit he
|
| + var tests = [ |
| + { first: { lower: 3, upper: 4, expected: 2}, |
|
jsbell
2016/05/20 19:34:51
These cases could just be inline, since we're neve
|
| + second: { lower: 1, upper: 5, expected: 3} |
| + }, |
| + { first: { lower: 3, upper: 8, expected: 6}, |
| + second: { lower: 3, upper: 8, expected: 0} |
| + }]; |
| + |
| + 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
|
| + delete_count(tests[1], 'Delete Range for Repeated Intervals'); |
| +}()); |
| + |
|
jsbell
2016/05/20 19:34:51
Nit: remove some of his extra whitespace
|
| + |
| + |
| + |
| + |
| +</script> |