Index: third_party/WebKit/LayoutTests/storage/indexeddb/resources/generic-idb-operations.js |
diff --git a/third_party/WebKit/LayoutTests/storage/indexeddb/resources/generic-idb-operations.js b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/generic-idb-operations.js |
index e1974e111b82546ae6342ff979148e820aa12ead..8b076729ec1425fc18177af5c469a1ce1e791ded 100644 |
--- a/third_party/WebKit/LayoutTests/storage/indexeddb/resources/generic-idb-operations.js |
+++ b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/generic-idb-operations.js |
@@ -2,31 +2,31 @@ if (this.importScripts) { |
importScripts('../../../resources/testharness.js'); |
} |
-function compareChanges(actual, expected) { |
+function assertChangesEqual(actual, expected) { |
assert_equals(actual.database.name, expected.dbName, 'The change record database should be the same as the database being acted on'); |
var stores = Object.keys(expected.records); |
assert_equals(actual.records.size, stores.length, 'Incorrect number of objectStores recorded by observer'); |
+ var storeNamesString = Array.from(actual.records.keys()).join(", "); |
for (var i in stores) { |
var key = stores[i]; |
- assert_true(actual.records.has(key)); |
- var actual_obsv = actual.records.get(key); |
- var expected_obsv = expected.records[key]; |
- assert_equals(actual_obsv.length, expected_obsv.length, 'Number of observations recorded for objectStore '+ key + ' should match observed operations'); |
- for (var j in expected_obsv) |
- compareObservations(actual_obsv[j], expected_obsv[j]); |
+ assert_true(actual.records.has(key), "Store '" + key + "' not found in changes. Stores: " + storeNamesString); |
+ var actualObsv = actual.records.get(key); |
+ var expectedObsv = expected.records[key]; |
+ assert_equals(actualObsv.length, expectedObsv.length, 'Number of observations recorded for objectStore '+ key + ' should match observed operations'); |
+ for (var j in expectedObsv) |
+ assertObservationsEqual(actualObsv[j], expectedObsv[j]); |
} |
} |
-function compareObservations(actual, expected) { |
+function assertObservationsEqual(actual, expected) { |
assert_equals(actual.type, expected.type); |
- assert_not_equals(actual.type, 'kDelete'); |
- if (actual.type == 'clear') { |
+ if (actual.type === 'clear') { |
assert_equals(actual.key, undefined, 'clear operation has no key'); |
assert_equals(actual.value, null, 'clear operation has no value'); |
return; |
} |
- if (actual.type == 'delete') { |
+ if (actual.type === 'delete') { |
assert_equals(actual.key.lower, expected.key.lower, 'Observed operation key lower bound should match operation performed'); |
assert_equals(actual.key.upper, expected.key.upper, 'Observed operation key upper bound should match operation performed'); |
assert_equals(actual.key.lower_open, expected.key.lower_open, 'Observed operation key lower open should match operation performed'); |
@@ -37,8 +37,11 @@ function compareObservations(actual, expected) { |
} |
assert_equals(actual.key.lower, expected.key, 'Observed operation key lower bound should match operation performed'); |
assert_equals(actual.key.upper, expected.key, 'Observed operation key upper bound should match operation performed'); |
- // TODO(dmurph): Value needs to be updated, once returned correctly. Issue crbug.com/609934. |
- assert_equals(actual.value, null, 'Put/Add operation value does not match'); |
+ if (expected.value != undefined) { |
+ assert_equals(actual.value, expected.value, 'Put/Add operation value does not match'); |
+ } else { |
+ assert_equals(actual.value, null, 'Put/Add operation has unexpected value'); |
+ } |
} |
function countCallbacks(actual, expected) { |