Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(973)

Unified Diff: third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-init.js

Issue 2449563002: [IndexedDB] Add Observer Tests (Closed)
Patch Set: Finished suite coverage Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-init.js
diff --git a/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-init.js b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-init.js
new file mode 100644
index 0000000000000000000000000000000000000000..24abc5459ae729385bf1bac821adca1a8a74c723
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-init.js
@@ -0,0 +1,49 @@
+var initObserverTestState = function(t, callback) {
+
+ var pendingRequests = 2;
+ var openDone = function() {
+ pendingRequests = pendingRequests - 1;
+ if (pendingRequests == 0) {
+ callback();
+ t.done();
+ }
+ else if (pendingRequests < 0) {
+ assert_unreached("Database added without incrementing pending count.");
+ }
+ };
+
+ var deleteAndOpen = function(dbName, onUpgrade, onOpen) {
+ var deleteRequest = indexedDB.deleteDatabase(dbName);
+ deleteRequest.onerror = t.unreached_func('deleteDatabase should not fail');
+ deleteRequest.onsuccess = t.step_func(function(e) {
+ var openRequest = indexedDB.open(dbName);
+ var upgradeCalled = false;
+ openRequest.onerror = t.unreached_func('open should not fail');
+ openRequest.onupgradeneeded = t.step_func(function() {
+ upgradeCalled = true;
+ var db = openRequest.result;
+ db.onerror = t.unreached_func('db should not fail');
+ onUpgrade(db);
+ });
+ openRequest.onsuccess = t.step_func(function() {
+ assert_true(upgradeCalled);
+ var db = openRequest.result;
+ onOpen(db);
+ });
+ });
+ };
+
+ deleteAndOpen("observersDB1", function(db) {
+ var os1 = db.createObjectStore('store1');
+ var os2 = db.createObjectStore('store2');
cmumford 2016/10/25 17:57:30 Nit: fix indent.
dmurph 2016/10/25 18:23:51 Done.
+ os1.put('b', 'a');
+ os2.put('y', 'x');
+ }, openDone);
+
+ deleteAndOpen("observersDB2", function(db) {
+ var os1 = db.createObjectStore('store3');
+ var os2 = db.createObjectStore('store4');
+ os1.put('c', 'c');
+ os2.put('w', 'w');
+ }, openDone);
+};

Powered by Google App Engine
This is Rietveld 408576698