| Index: chrome/browser/extensions/extension_settings_storage_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_settings_storage_unittest.cc b/chrome/browser/extensions/extension_settings_storage_unittest.cc
|
| index a36bed9c0e109d8be33c6611f65cd0ad9b45c6f2..f3080aca0dff9d6d7bef28cb79c12564cc031ff2 100644
|
| --- a/chrome/browser/extensions/extension_settings_storage_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_settings_storage_unittest.cc
|
| @@ -33,48 +33,86 @@ std::string ToString(const std::set<std::string>& strings) {
|
|
|
| } // namespace
|
|
|
| +// Compares two possibly NULL values for equality, filling |error| with an
|
| +// appropriate error message if they're different.
|
| +bool ValuesEqual(
|
| + const Value* expected, const Value* actual, std::string* error) {
|
| + if (expected == actual) {
|
| + return true;
|
| + }
|
| + if (expected && !actual) {
|
| + *error = "Expected: " + GetJSON(*expected) + ", actual: NULL";
|
| + return false;
|
| + }
|
| + if (actual && !expected) {
|
| + *error = "Expected: NULL, actual: " + GetJSON(*actual);
|
| + return false;
|
| + }
|
| + if (!expected->Equals(actual)) {
|
| + *error =
|
| + "Expected: " + GetJSON(*expected) + ", actual: " + GetJSON(*actual);
|
| + return false;
|
| + }
|
| + return true;
|
| +}
|
| +
|
| // Returns whether the result of a storage operation has the expected settings
|
| // and changed keys.
|
| testing::AssertionResult SettingsEq(
|
| - const char* _1, const char* _2, const char* _3,
|
| + const char* _1, const char* _2, const char* _3, const char* _4,
|
| DictionaryValue* expected_settings,
|
| + DictionaryValue* expected_old_settings,
|
| std::set<std::string>* expected_changed_keys,
|
| ExtensionSettingsStorage::Result actual) {
|
| + std::string error;
|
| +
|
| if (actual.HasError()) {
|
| return testing::AssertionFailure() <<
|
| "Expected: " << GetJSON(*expected_settings) <<
|
| ", " << ToString(*expected_changed_keys) << "\n" <<
|
| ", actual has error: " << actual.GetError();
|
| }
|
| - if (expected_settings == NULL && actual.GetSettings() != NULL) {
|
| - return testing::AssertionFailure() <<
|
| - "Expected NULL settings, actual: " << GetJSON(*actual.GetSettings());
|
| +
|
| + if (!ValuesEqual(expected_settings, actual.GetSettings(), &error)) {
|
| + return testing::AssertionFailure() << "For settings, " << error;
|
| }
|
| - if (expected_changed_keys == NULL && actual.GetChangedKeys() != NULL) {
|
| +
|
| + if (!expected_changed_keys && actual.GetChangedKeys()) {
|
| return testing::AssertionFailure() <<
|
| "Expected NULL changed keys, actual: " <<
|
| ToString(*actual.GetChangedKeys());
|
| }
|
| - if (expected_settings != NULL && actual.GetSettings() == NULL) {
|
| - return testing::AssertionFailure() <<
|
| - "Expected: " << GetJSON(*expected_settings) << ", actual NULL";
|
| - }
|
| - if (expected_changed_keys != NULL && actual.GetChangedKeys() == NULL) {
|
| + if (expected_changed_keys && !actual.GetChangedKeys()) {
|
| return testing::AssertionFailure() <<
|
| "Expected: " << ToString(*expected_changed_keys) << ", actual NULL";
|
| }
|
| - if (expected_settings != actual.GetSettings() &&
|
| - !expected_settings->Equals(actual.GetSettings())) {
|
| - return testing::AssertionFailure() <<
|
| - "Expected: " << GetJSON(*expected_settings) <<
|
| - ", actual: " << GetJSON(*actual.GetSettings());
|
| - }
|
| if (expected_changed_keys != actual.GetChangedKeys() &&
|
| *expected_changed_keys != *actual.GetChangedKeys()) {
|
| return testing::AssertionFailure() <<
|
| "Expected: " << ToString(*expected_changed_keys) <<
|
| ", actual: " << ToString(*actual.GetChangedKeys());
|
| }
|
| +
|
| + const std::set<std::string>* changed_keys = actual.GetChangedKeys();
|
| + if (changed_keys) {
|
| + for (std::set<std::string>::const_iterator it = changed_keys->begin();
|
| + it != changed_keys->end(); ++it) {
|
| + Value *expected_old_value = NULL;
|
| + expected_old_settings->GetWithoutPathExpansion(*it, &expected_old_value);
|
| + if (!ValuesEqual(expected_old_value, actual.GetOldValue(*it), &error)) {
|
| + return testing::AssertionFailure() << "Old values not equal: " << error;
|
| + }
|
| +
|
| + Value *expected_new_value = NULL;
|
| + if (expected_settings) {
|
| + expected_settings->GetWithoutPathExpansion(*it, &expected_new_value);
|
| + }
|
| + if (!ValuesEqual(expected_new_value, actual.GetNewValue(*it), &error)) {
|
| + return testing::AssertionFailure() << "New values not equal: " << error;
|
| + }
|
| + }
|
| + }
|
| +
|
| return testing::AssertionSuccess();
|
| }
|
|
|
| @@ -82,10 +120,11 @@ ExtensionSettingsStorageTest::ExtensionSettingsStorageTest()
|
| : key1_("foo"),
|
| key2_("bar"),
|
| key3_("baz"),
|
| - empty_dict_(new DictionaryValue),
|
| - dict1_(new DictionaryValue),
|
| - dict12_(new DictionaryValue),
|
| - dict123_(new DictionaryValue),
|
| + empty_dict_(new DictionaryValue()),
|
| + dict1_(new DictionaryValue()),
|
| + dict3_(new DictionaryValue()),
|
| + dict12_(new DictionaryValue()),
|
| + dict123_(new DictionaryValue()),
|
| ui_thread_(BrowserThread::UI, MessageLoop::current()),
|
| file_thread_(BrowserThread::FILE, MessageLoop::current()) {
|
| val1_.reset(Value::CreateStringValue(key1_ + "Value"));
|
| @@ -111,6 +150,7 @@ ExtensionSettingsStorageTest::ExtensionSettingsStorageTest()
|
| set123_.insert(list123_.begin(), list123_.end());
|
|
|
| dict1_->Set(key1_, val1_->DeepCopy());
|
| + dict3_->Set(key3_, val3_->DeepCopy());
|
| dict12_->Set(key1_, val1_->DeepCopy());
|
| dict12_->Set(key2_, val2_->DeepCopy());
|
| dict123_->Set(key1_, val1_->DeepCopy());
|
| @@ -131,179 +171,179 @@ void ExtensionSettingsStorageTest::TearDown() {
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, GetWhenEmpty) {
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(empty_list_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(list123_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(empty_list_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(list123_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get());
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, GetWithSingleValue) {
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), &set1_, storage_->Set(key1_, *val1_));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), NULL, storage_->Get(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key2_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key3_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(empty_list_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), NULL, storage_->Get(list123_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), NULL, storage_->Get());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), empty_dict_.get(), &set1_, storage_->Set(key1_, *val1_));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), NULL, NULL, storage_->Get(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key2_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key3_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(empty_list_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), NULL, NULL, storage_->Get(list123_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), NULL, NULL, storage_->Get());
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, GetWithMultipleValues) {
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), &set12_, storage_->Set(*dict12_));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), NULL, storage_->Get(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key3_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(empty_list_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), NULL, storage_->Get(list123_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), NULL, storage_->Get());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), empty_dict_.get(), &set12_, storage_->Set(*dict12_));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), NULL, NULL, storage_->Get(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key3_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(empty_list_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), NULL, NULL, storage_->Get(list123_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), NULL, NULL, storage_->Get());
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, RemoveWhenEmpty) {
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &empty_set_, storage_->Remove(key1_));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(list1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, empty_dict_.get(), &empty_set_, storage_->Remove(key1_));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(list1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get());
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, RemoveWithSingleValue) {
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), &set1_, storage_->Set(*dict1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &set1_, storage_->Remove(key1_));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key2_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(list1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(list12_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), empty_dict_.get(), &set1_, storage_->Set(*dict1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, dict1_.get(), &set1_, storage_->Remove(key1_));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key2_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(list1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(list12_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get());
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, RemoveWithMultipleValues) {
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict123_.get(), &set123_, storage_->Set(*dict123_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &set3_, storage_->Remove(key3_));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), NULL, storage_->Get(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key3_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(empty_list_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), NULL, storage_->Get(list1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), NULL, storage_->Get(list12_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), NULL, storage_->Get(list13_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), NULL, storage_->Get(list123_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), NULL, storage_->Get());
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &set12_, storage_->Remove(list12_));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key3_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(empty_list_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(list1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(list12_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(list13_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(list123_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict123_.get(), empty_dict_.get(), &set123_, storage_->Set(*dict123_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, dict3_.get(), &set3_, storage_->Remove(key3_));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), NULL, NULL, storage_->Get(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key3_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(empty_list_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), NULL, NULL, storage_->Get(list1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), NULL, NULL, storage_->Get(list12_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), NULL, NULL, storage_->Get(list13_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), NULL, NULL, storage_->Get(list123_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), NULL, NULL, storage_->Get());
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, dict12_.get(), &set12_, storage_->Remove(list12_));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key3_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(empty_list_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(list1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(list12_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(list13_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(list123_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get());
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, SetWhenOverwriting) {
|
| DictionaryValue key1_val2;
|
| key1_val2.Set(key1_, val2_->DeepCopy());
|
|
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &key1_val2, &set1_, storage_->Set(key1_, *val2_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), &set12_, storage_->Set(*dict12_));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), NULL, storage_->Get(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key3_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(empty_list_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), NULL, storage_->Get(list1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), NULL, storage_->Get(list12_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), NULL, storage_->Get(list13_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), NULL, storage_->Get(list123_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), NULL, storage_->Get());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &key1_val2, empty_dict_.get(), &set1_, storage_->Set(key1_, *val2_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), &key1_val2, &set12_, storage_->Set(*dict12_));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), NULL, NULL, storage_->Get(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key3_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(empty_list_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), NULL, NULL, storage_->Get(list1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), NULL, NULL, storage_->Get(list12_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), NULL, NULL, storage_->Get(list13_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), NULL, NULL, storage_->Get(list123_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), NULL, NULL, storage_->Get());
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, ClearWhenEmpty) {
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &empty_set_, storage_->Clear());
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(empty_list_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(list123_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, empty_dict_.get(), &empty_set_, storage_->Clear());
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(empty_list_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(list123_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get());
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, ClearWhenNotEmpty) {
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), &set12_, storage_->Set(*dict12_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &set12_, storage_->Clear());
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(empty_list_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(list123_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), empty_dict_.get(), &set12_, storage_->Set(*dict12_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, dict12_.get(), &set12_, storage_->Clear());
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(empty_list_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(list123_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get());
|
| }
|
|
|
| // Dots should be allowed in key names; they shouldn't be interpreted as
|
| @@ -318,33 +358,35 @@ TEST_P(ExtensionSettingsStorageTest, DotsInKeyNames) {
|
| DictionaryValue dot_dict;
|
| dot_dict.SetWithoutPathExpansion(dot_key, dot_value.DeepCopy());
|
|
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(dot_key));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &dot_dict, &dot_set, storage_->Set(dot_key, dot_value));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &dot_dict, &empty_set_, storage_->Set(dot_key, dot_value));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &dot_dict, NULL, storage_->Get(dot_key));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &dot_set, storage_->Remove(dot_key));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &empty_set_, storage_->Remove(dot_key));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &dot_dict, &dot_set, storage_->Set(dot_dict));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &dot_dict, NULL, storage_->Get(dot_list));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &dot_dict, NULL, storage_->Get());
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &dot_set, storage_->Remove(dot_list));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get(dot_key));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(dot_key));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &dot_dict, empty_dict_.get(), &dot_set,
|
| + storage_->Set(dot_key, dot_value));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &dot_dict, &dot_dict, &empty_set_,
|
| + storage_->Set(dot_key, dot_value));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &dot_dict, NULL, NULL, storage_->Get(dot_key));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, &dot_dict, &dot_set, storage_->Remove(dot_key));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, empty_dict_.get(), &empty_set_, storage_->Remove(dot_key));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &dot_dict, empty_dict_.get(), &dot_set, storage_->Set(dot_dict));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &dot_dict, NULL, NULL, storage_->Get(dot_list));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &dot_dict, NULL, NULL, storage_->Get());
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, &dot_dict, &dot_set, storage_->Remove(dot_list));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get(dot_key));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get());
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, DotsInKeyNamesWithDicts) {
|
| @@ -355,12 +397,12 @@ TEST_P(ExtensionSettingsStorageTest, DotsInKeyNamesWithDicts) {
|
| std::set<std::string> changed_keys;
|
| changed_keys.insert("foo");
|
|
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &outer_dict, &changed_keys, storage_->Set(outer_dict));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &outer_dict, NULL, storage_->Get("foo"));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - empty_dict_.get(), NULL, storage_->Get("foo.bar"));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &outer_dict, empty_dict_.get(), &changed_keys, storage_->Set(outer_dict));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &outer_dict, NULL, NULL, storage_->Get("foo"));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + empty_dict_.get(), NULL, NULL, storage_->Get("foo.bar"));
|
| }
|
|
|
| TEST_P(ExtensionSettingsStorageTest, ComplexChangedKeysScenarios) {
|
| @@ -371,66 +413,82 @@ TEST_P(ExtensionSettingsStorageTest, ComplexChangedKeysScenarios) {
|
| std::vector<std::string> complex_list;
|
| std::set<std::string> complex_set;
|
| DictionaryValue complex_dict;
|
| + DictionaryValue complex_changed_dict;
|
|
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), &set1_, storage_->Set(key1_, *val1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), &empty_set_, storage_->Set(key1_, *val1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), empty_dict_.get(), &set1_, storage_->Set(key1_, *val1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), dict1_.get(), &empty_set_, storage_->Set(key1_, *val1_));
|
|
|
| complex_dict.Clear();
|
| complex_dict.Set(key1_, val2_->DeepCopy());
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &complex_dict, &set1_, storage_->Set(key1_, *val2_));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &set1_, storage_->Remove(key1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &empty_set_, storage_->Remove(key1_));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict1_.get(), &set1_, storage_->Set(key1_, *val1_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &set1_, storage_->Clear());
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &empty_set_, storage_->Clear());
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), &set12_, storage_->Set(*dict12_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict12_.get(), &empty_set_, storage_->Set(*dict12_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - dict123_.get(), &set3_, storage_->Set(*dict123_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &complex_dict, dict1_.get(), &set1_, storage_->Set(key1_, *val2_));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, &complex_dict, &set1_, storage_->Remove(key1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, empty_dict_.get(), &empty_set_, storage_->Remove(key1_));
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict1_.get(), empty_dict_.get(), &set1_, storage_->Set(key1_, *val1_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, dict1_.get(), &set1_, storage_->Clear());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, empty_dict_.get(), &empty_set_, storage_->Clear());
|
| +
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), empty_dict_.get(), &set12_, storage_->Set(*dict12_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict12_.get(), dict12_.get(), &empty_set_, storage_->Set(*dict12_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + dict123_.get(), dict12_.get(), &set3_, storage_->Set(*dict123_));
|
|
|
| complex_dict.Clear();
|
| complex_dict.Set(key1_, val2_->DeepCopy());
|
| complex_dict.Set(key2_, val2_->DeepCopy());
|
| complex_dict.Set("asdf", val1_->DeepCopy());
|
| complex_dict.Set("qwerty", val3_->DeepCopy());
|
| + complex_changed_dict.Clear();
|
| + complex_changed_dict.Set(key1_, val1_->DeepCopy());
|
| + complex_changed_dict.Set(key2_, val2_->DeepCopy());
|
| complex_set.clear();
|
| complex_set.insert(key1_);
|
| complex_set.insert("asdf");
|
| complex_set.insert("qwerty");
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - &complex_dict, &complex_set, storage_->Set(complex_dict));
|
| -
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &set12_, storage_->Remove(list12_));
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &empty_set_, storage_->Remove(list12_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + &complex_dict, &complex_changed_dict, &complex_set,
|
| + storage_->Set(complex_dict));
|
| +
|
| + complex_changed_dict.Clear();
|
| + complex_changed_dict.Set(key1_, val2_->DeepCopy());
|
| + complex_changed_dict.Set(key2_, val2_->DeepCopy());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, &complex_changed_dict, &set12_, storage_->Remove(list12_));
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, empty_dict_.get(), &empty_set_, storage_->Remove(list12_));
|
|
|
| complex_list.clear();
|
| complex_list.push_back(key1_);
|
| complex_list.push_back("asdf");
|
| + complex_changed_dict.Clear();
|
| + complex_changed_dict.Set("asdf", val1_->DeepCopy());
|
| complex_set.clear();
|
| complex_set.insert("asdf");
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &complex_set, storage_->Remove(complex_list));
|
| -
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL,
|
| + &complex_changed_dict,
|
| + &complex_set,
|
| + storage_->Remove(complex_list));
|
| +
|
| + complex_changed_dict.Clear();
|
| + complex_changed_dict.Set(key3_, val3_->DeepCopy());
|
| + complex_changed_dict.Set("qwerty", val3_->DeepCopy());
|
| complex_set.clear();
|
| complex_set.insert(key3_);
|
| complex_set.insert("qwerty");
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &complex_set, storage_->Clear());
|
| - EXPECT_PRED_FORMAT3(SettingsEq,
|
| - NULL, &empty_set_, storage_->Clear());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, &complex_changed_dict, &complex_set, storage_->Clear());
|
| + EXPECT_PRED_FORMAT4(SettingsEq,
|
| + NULL, empty_dict_.get(), &empty_set_, storage_->Clear());
|
| }
|
|
|