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

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

Issue 2459113002: [IDBObservers] Moving options from constructor to .observe call. (Closed)
Patch Set: change bitset to pass by value Created 4 years, 1 month 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-tests.js
diff --git a/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-tests.js b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-tests.js
index 8d3025720610885e3b63461999f1155761fe6ba6..8328c2136c8132d7da4e598afd057cb31590176d 100644
--- a/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-tests.js
+++ b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-tests.js
@@ -33,9 +33,7 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
t.done();
};
- var obs = new IDBObserver(
- t.step_func(observeFunction),
- { operationTypes: ['clear', 'put', 'add', 'delete'] });
+ var obs = new IDBObserver(t.step_func(observeFunction));
openDB(t, db1_name, t.step_func(function(db) {
connection = db;
@@ -54,7 +52,7 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
});
// Start observing!
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = observers_added_callback;
txn.onerror = t.unreached_func('transaction should not fail');
@@ -77,14 +75,12 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
t.done();
};
- var obs = new IDBObserver(
- t.step_func(observeFunction),
- { operationTypes: ['add'] });
+ var obs = new IDBObserver(t.step_func(observeFunction));
openDB(t, db1_name, t.step_func(function(db) {
connection = db;
var txn = db.transaction(['store2'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['add']});
txn.oncomplete = observers_added_callback;
txn.onerror = t.unreached_func('transaction should not fail')
}));
@@ -106,14 +102,12 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
t.done();
};
- var obs = new IDBObserver(
- t.step_func(observeFunction),
- { operationTypes: ['clear', 'put', 'add', 'delete'] });
+ var obs = new IDBObserver(t.step_func(observeFunction));
openDB(t, db1_name, t.step_func(function(db) {
connection = db;
var txn = db.transaction(['store2'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = observers_added_callback;
txn.onerror = t.unreached_func('transaction should not fail')
}));
@@ -160,15 +154,13 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
}
};
- var obs = new IDBObserver(
- t.step_func(observeFunction),
- { operationTypes: ['clear', 'put', 'add', 'delete'] });
+ var obs = new IDBObserver(t.step_func(observeFunction));
var cb1 = observers_added_barrier(t);
openDB(t, db1_name, t.step_func(function(db) {
connection1 = db;
var txn = db.transaction(['store1', 'store2'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = cb1;
txn.onerror = t.unreached_func('transaction should not fail')
}));
@@ -176,7 +168,7 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
openDB(t, db2_name, t.step_func(function(db) {
connection2 = db;
var txn = db.transaction(['store3', 'store4'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = cb2;
txn.onerror = t.unreached_func('transaction should not fail')
}));
@@ -206,21 +198,60 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
}
};
- var obs = new IDBObserver(
- t.step_func(observeFunction),
- { operationTypes: ['clear', 'put', 'add', 'delete'] });
+ var obs = new IDBObserver(t.step_func(observeFunction));
openDB(t, db1_name, t.step_func(function(db) {
connection = db;
var txn = db.transaction(['store1', 'store2'], 'readonly');
- obs.observe(db, txn);
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = observers_added_callback;
txn.onerror = t.unreached_func('transaction should not fail');
}));
}, 'IDB Observers: Multiple observer calls');
indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callback) {
+ var expectedChanges1 = {
+ dbName: db1_name,
+ records: {
+ 'store1': [{type: 'put', key: 'a'}]
+ }
+ };
+ var expectedChanges2 = {
+ dbName: db1_name,
+ records: {
+ 'store2': [{type: 'add', key: 'z'}]
+ }
+ };
+
+ var connection = null;
+ var changeNumber = 0;
+ var observeFunction = function(changes) {
+ assert_true(connection != null);
+ if (changeNumber === 0) {
+ compareChanges(changes, expectedChanges1);
+ } else if(changeNumber === 1) {
+ compareChanges(changes, expectedChanges2);
+ obs.unobserve(connection);
+ t.done();
+ }
+ ++changeNumber;
+ assert_less_than_equal(changeNumber, 1, "incorrect pendingObserves");
+ };
+
+ var obs = new IDBObserver(t.step_func(observeFunction));
+
+ openDB(t, db1_name, t.step_func(function(db) {
+ connection = db;
+ var txn = db.transaction(['store1', 'store2'], 'readonly');
+ obs.observe(db, txn, {operationTypes: ['put']});
+ obs.observe(db, txn, {operationTypes: ['add']});
+ txn.oncomplete = observers_added_callback;
+ txn.onerror = t.unreached_func('transaction should not fail');
+ }));
+}, 'IDB Observers: Multiple observer calls with filtering');
+
+indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callback) {
var partOneChanges1 = {
dbName: db1_name,
records: {
@@ -284,15 +315,13 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
}
};
- var obs = new IDBObserver(
- t.step_func(observeFunction),
- { operationTypes: ['clear', 'put', 'add', 'delete'] });
+ var obs = new IDBObserver(t.step_func(observeFunction));
var cb1 = observers_added_barrier(t);
openDB(t, db1_name, t.step_func(function(db) {
connection1 = db;
var txn = db.transaction(['store1'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = cb1;
txn.onerror = t.unreached_func('transaction should not fail');
}));
@@ -300,7 +329,7 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
openDB(t, db1_name, t.step_func(function(db) {
connection2 = db;
var txn = db.transaction(['store2'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = cb2;
txn.onerror = t.unreached_func('transaction should not fail');
}));
@@ -308,7 +337,7 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
openDB(t, db2_name, t.step_func(function(db) {
connection3 = db;
var txn = db.transaction(['store3', 'store4'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = cb3;
txn.onerror = t.unreached_func('transaction should not fail')
}));
@@ -324,20 +353,19 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
t.done();
};
- var obs = new IDBObserver(
- t.step_func(observeFunction),
- { operationTypes: ['clear', 'put', 'add', 'delete'] });
+ var obs = new IDBObserver(t.step_func(observeFunction));
openDB(t, db1_name, t.step_func(function(db) {
connection1 = db;
var txn = db.transaction(['store1'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
obs.unobserve(db);
txn.oncomplete = t.step_func(function() {
openDB(t, db1_name, t.step_func(function(db) {
connection2 = db;
var txn = db.transaction(['store2'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(
+ db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = observers_added_callback;
txn.onerror = t.unreached_func('transaction should not fail');
}));
@@ -356,22 +384,21 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
t.done();
};
- var obs = new IDBObserver(
- t.step_func(observeFunction),
- { operationTypes: ['clear', 'put', 'add', 'delete'] });
+ var obs = new IDBObserver(t.step_func(observeFunction));
openDB(t, db1_name, t.step_func(function(db) {
connection1 = db;
var txn = db.transaction(['store1'], 'readonly');
- obs.observe(db, txn);
- obs.observe(db, txn);
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
obs.unobserve(db);
txn.oncomplete = t.step_func(function() {
openDB(t, db1_name, t.step_func(function(db) {
connection2 = db;
var txn = db.transaction(['store2'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(
+ db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = observers_added_callback;
txn.onerror = t.unreached_func('transaction should not fail');
}));
@@ -425,9 +452,7 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
}
};
- var obs = new IDBObserver(
- t.step_func(observeFunction),
- { operationTypes: ['clear', 'put', 'add', 'delete'] });
+ var obs = new IDBObserver(t.step_func(observeFunction));
var cb1 = observers_added_barrier(t);
var cb2 = observers_added_barrier(t);
@@ -436,8 +461,8 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
var txn1 = db.transaction(['store1'], 'readonly');
var txn2 = db.transaction(['store2'], 'readonly');
// Start observing!
- obs.observe(db, txn1);
- obs.observe(db, txn2);
+ obs.observe(db, txn1, {operationTypes: ['clear', 'put', 'add', 'delete']});
+ obs.observe(db, txn2, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn1.oncomplete = cb1;
txn2.oncomplete = cb2;
@@ -448,7 +473,7 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
openDB(t, db2_name, t.step_func(function(db) {
connection2 = db;
var txn = db.transaction(['store3'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = cb3;
txn.onerror = t.unreached_func('transaction should not fail');
}));
@@ -499,9 +524,7 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
}
};
- var obs = new IDBObserver(
- t.step_func(observeFunction),
- { operationTypes: ['clear', 'put', 'add', 'delete'] });
+ var obs = new IDBObserver(t.step_func(observeFunction));
var cb1 = observers_added_barrier(t);
var cb2 = observers_added_barrier(t);
@@ -510,8 +533,8 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
var txn1 = db.transaction(['store1'], 'readonly');
var txn2 = db.transaction(['store2'], 'readonly');
// Start observing!
- obs.observe(db, txn1);
- obs.observe(db, txn2);
+ obs.observe(db, txn1, {operationTypes: ['clear', 'put', 'add', 'delete']});
+ obs.observe(db, txn2, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn1.oncomplete = cb1;
txn2.oncomplete = cb2;
@@ -522,7 +545,7 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac
openDB(t, db2_name, t.step_func(function(db) {
connection2 = db;
var txn = db.transaction(['store3'], 'readonly');
- obs.observe(db, txn);
+ obs.observe(db, txn, {operationTypes: ['clear', 'put', 'add', 'delete']});
txn.oncomplete = cb3;
txn.onerror = t.unreached_func('transaction should not fail');
}));

Powered by Google App Engine
This is Rietveld 408576698