Chromium Code Reviews| 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 8328c2136c8132d7da4e598afd057cb31590176d..3ba535ba6b2b89a5bab0bf0725971720cf29e1b6 100644 |
| --- a/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-tests.js |
| +++ b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-tests.js |
| @@ -90,6 +90,67 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac |
| var expectedChanges = { |
| dbName: db1_name, |
| records: { |
| + 'store2': [{type: 'add', key: 'z', value: 'z'}] |
| + } |
| + }; |
| + |
| + var connection = null; |
| + var observeFunction = function(changes) { |
| + compareChanges(changes, expectedChanges); |
| + assert_true(connection != null); |
|
pwnall
2017/01/10 01:41:11
Can you add a description for the meaning of this
dmurph
2017/01/10 20:40:06
Done.
|
| + obs.unobserve(connection); |
| + t.done(); |
| + }; |
| + |
| + 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, {operationTypes: ['add'], values: true}); |
| + txn.oncomplete = observers_added_callback; |
| + txn.onerror = t.unreached_func('transaction should not fail') |
| + })); |
| +}, 'IDB Observers: Values'); |
| + |
| + |
| +indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callback) { |
| + var expectedChanges = { |
| + dbName: db1_name, |
| + records: { |
| + 'store2': [{type: 'add', key: 'z'}] |
|
pwnall
2017/01/10 01:41:11
comma at the end of the line, to minimize future c
dmurph
2017/01/10 20:40:06
Done.
|
| + } |
| + }; |
| + |
| + var connection = null; |
| + var observeFunction = function(changes) { |
| + compareChanges(changes, expectedChanges); |
| + assert_true(connection != null); |
| + obs.unobserve(connection); |
| + assert_true(changes.transaction != null); |
| + var store2 = changes.transaction.objectStore('store2'); |
| + var request = store2.get('z'); |
| + request.onsuccess = t.step_func(function() { |
| + assert_equals(request.result, 'z'); |
| + t.done(); |
| + }); |
| + }; |
| + |
| + 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, {operationTypes: ['add'], transaction: true}); |
| + txn.oncomplete = observers_added_callback; |
| + txn.onerror = t.unreached_func('transaction should not fail') |
| + })); |
| +}, 'IDB Observers: Transaction'); |
| + |
| +indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callback) { |
| + var expectedChanges = { |
| + dbName: db1_name, |
| + records: { |
| 'store2': [{type: 'add', key: 'z'}] |
| } |
| }; |
| @@ -227,16 +288,18 @@ indexeddb_observers_test(function(t, db1_name, db2_name, observers_added_callbac |
| var connection = null; |
| var changeNumber = 0; |
| var observeFunction = function(changes) { |
| - assert_true(connection != null); |
| - if (changeNumber === 0) { |
| + assert_true(connection != null, "connection is null"); |
|
pwnall
2017/01/10 01:41:11
The comment appears to be redundant with the condi
dmurph
2017/01/10 20:40:06
Done.
|
| + if (changes.records.has('store1')) { |
| compareChanges(changes, expectedChanges1); |
| - } else if(changeNumber === 1) { |
| + } else if(changes.records.has('store2')) { |
| compareChanges(changes, expectedChanges2); |
| + } |
| + ++changeNumber; |
| + assert_less_than_equal(changeNumber, 2, "incorrect pendingObserves"); |
| + if (changeNumber == 2) { |
| obs.unobserve(connection); |
| t.done(); |
| } |
| - ++changeNumber; |
| - assert_less_than_equal(changeNumber, 1, "incorrect pendingObserves"); |
| }; |
| var obs = new IDBObserver(t.step_func(observeFunction)); |