Chromium Code Reviews| Index: chrome/browser/extensions/settings/settings_quota_unittest.cc |
| diff --git a/chrome/browser/extensions/settings/settings_quota_unittest.cc b/chrome/browser/extensions/settings/settings_quota_unittest.cc |
| index b3a0ee5360a7b243a3d78a3602313fe78147d209..3ebcffcde17fbe93e45818c518e83dd6283e4aa8 100644 |
| --- a/chrome/browser/extensions/settings/settings_quota_unittest.cc |
| +++ b/chrome/browser/extensions/settings/settings_quota_unittest.cc |
| @@ -15,6 +15,10 @@ |
| namespace extensions { |
| +// To save typing SettingsStorage::DEFAULTS/FORCE everywhere. |
| +const SettingsStorage::WriteOptions DEFAULTS = SettingsStorage::DEFAULTS; |
| +const SettingsStorage::WriteOptions FORCE = SettingsStorage::FORCE; |
| + |
| class ExtensionSettingsQuotaTest : public testing::Test { |
| public: |
| ExtensionSettingsQuotaTest() |
| @@ -75,16 +79,17 @@ TEST_F(ExtensionSettingsQuotaTest, ZeroQuotaBytes) { |
| DictionaryValue empty; |
| CreateStorage(0, UINT_MAX, UINT_MAX); |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
| - EXPECT_FALSE(storage_->Remove("a").HasError()); |
| - EXPECT_FALSE(storage_->Remove("b").HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, "a").HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, "b").HasError()); |
| EXPECT_TRUE(SettingsEqual(empty)); |
| } |
| TEST_F(ExtensionSettingsQuotaTest, KeySizeTakenIntoAccount) { |
| DictionaryValue empty; |
| CreateStorage(8u, UINT_MAX, UINT_MAX); |
| - EXPECT_TRUE(storage_->Set("Really long key", *byte_value_1_).HasError()); |
| + EXPECT_TRUE( |
| + storage_->Set(DEFAULTS, "Really long key", *byte_value_1_).HasError()); |
| EXPECT_TRUE(SettingsEqual(empty)); |
| } |
| @@ -92,12 +97,12 @@ TEST_F(ExtensionSettingsQuotaTest, SmallByteQuota) { |
| DictionaryValue settings; |
| CreateStorage(8u, UINT_MAX, UINT_MAX); |
| - EXPECT_FALSE(storage_->Set("a", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| settings.Set("a", byte_value_1_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| - EXPECT_TRUE(storage_->Set("b", *byte_value_16_).HasError()); |
| - EXPECT_TRUE(storage_->Set("c", *byte_value_256_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "b", *byte_value_16_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "c", *byte_value_256_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -108,18 +113,18 @@ TEST_F(ExtensionSettingsQuotaTest, MediumByteQuota) { |
| DictionaryValue to_set; |
| to_set.Set("a", byte_value_1_->DeepCopy()); |
| to_set.Set("b", byte_value_16_->DeepCopy()); |
| - EXPECT_FALSE(storage_->Set(to_set).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, to_set).HasError()); |
| settings.Set("a", byte_value_1_->DeepCopy()); |
| settings.Set("b", byte_value_16_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Should be able to set value to other under-quota value. |
| to_set.Set("a", byte_value_16_->DeepCopy()); |
| - EXPECT_FALSE(storage_->Set(to_set).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, to_set).HasError()); |
| settings.Set("a", byte_value_16_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| - EXPECT_TRUE(storage_->Set("c", *byte_value_256_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "c", *byte_value_256_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -127,9 +132,9 @@ TEST_F(ExtensionSettingsQuotaTest, ZeroMaxKeys) { |
| DictionaryValue empty; |
| CreateStorage(UINT_MAX, UINT_MAX, 0); |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
| - EXPECT_FALSE(storage_->Remove("a").HasError()); |
| - EXPECT_FALSE(storage_->Remove("b").HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, "a").HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, "b").HasError()); |
| EXPECT_TRUE(SettingsEqual(empty)); |
| } |
| @@ -137,17 +142,17 @@ TEST_F(ExtensionSettingsQuotaTest, SmallMaxKeys) { |
| DictionaryValue settings; |
| CreateStorage(UINT_MAX, UINT_MAX, 1); |
| - EXPECT_FALSE(storage_->Set("a", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| settings.Set("a", byte_value_1_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Should be able to set existing key to other value without going over quota. |
| - EXPECT_FALSE(storage_->Set("a", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "a", *byte_value_16_).HasError()); |
| settings.Set("a", byte_value_16_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| - EXPECT_TRUE(storage_->Set("b", *byte_value_16_).HasError()); |
| - EXPECT_TRUE(storage_->Set("c", *byte_value_256_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "b", *byte_value_16_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "c", *byte_value_256_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -158,7 +163,7 @@ TEST_F(ExtensionSettingsQuotaTest, MediumMaxKeys) { |
| DictionaryValue to_set; |
| to_set.Set("a", byte_value_1_->DeepCopy()); |
| to_set.Set("b", byte_value_16_->DeepCopy()); |
| - EXPECT_FALSE(storage_->Set(to_set).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, to_set).HasError()); |
| settings.Set("a", byte_value_1_->DeepCopy()); |
| settings.Set("b", byte_value_16_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| @@ -166,11 +171,11 @@ TEST_F(ExtensionSettingsQuotaTest, MediumMaxKeys) { |
| // Should be able to set existing keys to other values without going over |
| // quota. |
| to_set.Set("a", byte_value_16_->DeepCopy()); |
| - EXPECT_FALSE(storage_->Set(to_set).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, to_set).HasError()); |
| settings.Set("a", byte_value_16_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| - EXPECT_TRUE(storage_->Set("c", *byte_value_256_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "c", *byte_value_256_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -178,31 +183,31 @@ TEST_F(ExtensionSettingsQuotaTest, RemovingExistingSettings) { |
| DictionaryValue settings; |
| CreateStorage(266, UINT_MAX, 2); |
| - storage_->Set("b", *byte_value_16_); |
| + storage_->Set(DEFAULTS, "b", *byte_value_16_); |
| settings.Set("b", byte_value_16_->DeepCopy()); |
| // Not enough quota. |
| - storage_->Set("c", *byte_value_256_); |
| + storage_->Set(DEFAULTS, "c", *byte_value_256_); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Try again with "b" removed, enough quota. |
| - EXPECT_FALSE(storage_->Remove("b").HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, "b").HasError()); |
| settings.Remove("b", NULL); |
| - EXPECT_FALSE(storage_->Set("c", *byte_value_256_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "c", *byte_value_256_).HasError()); |
| settings.Set("c", byte_value_256_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Enough byte quota but max keys not high enough. |
| - EXPECT_FALSE(storage_->Set("a", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| settings.Set("a", byte_value_1_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| - EXPECT_TRUE(storage_->Set("b", *byte_value_1_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "b", *byte_value_1_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Back under max keys. |
| - EXPECT_FALSE(storage_->Remove("a").HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, "a").HasError()); |
| settings.Remove("a", NULL); |
| - EXPECT_FALSE(storage_->Set("b", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "b", *byte_value_1_).HasError()); |
| settings.Set("b", byte_value_1_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -215,32 +220,32 @@ TEST_F(ExtensionSettingsQuotaTest, RemovingNonexistentSettings) { |
| DictionaryValue to_set; |
| to_set.Set("b1", byte_value_16_->DeepCopy()); |
| to_set.Set("b2", byte_value_16_->DeepCopy()); |
| - storage_->Set(to_set); |
| + storage_->Set(DEFAULTS, to_set); |
| settings.Set("b1", byte_value_16_->DeepCopy()); |
| settings.Set("b2", byte_value_16_->DeepCopy()); |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Remove some settings that don't exist. |
| std::vector<std::string> to_remove; |
| to_remove.push_back("a1"); |
| to_remove.push_back("a2"); |
| - EXPECT_FALSE(storage_->Remove(to_remove).HasError()); |
| - EXPECT_FALSE(storage_->Remove("b").HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, to_remove).HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, "b").HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Still no quota. |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Max out key count. |
| to_set.Clear(); |
| to_set.Set("b1", byte_value_1_->DeepCopy()); |
| to_set.Set("b2", byte_value_1_->DeepCopy()); |
| - storage_->Set(to_set); |
| + storage_->Set(DEFAULTS, to_set); |
| settings.Set("b1", byte_value_1_->DeepCopy()); |
| settings.Set("b2", byte_value_1_->DeepCopy()); |
| - storage_->Set("b3", *byte_value_1_); |
| + storage_->Set(DEFAULTS, "b3", *byte_value_1_); |
| settings.Set("b3", byte_value_1_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| @@ -248,12 +253,12 @@ TEST_F(ExtensionSettingsQuotaTest, RemovingNonexistentSettings) { |
| to_remove.clear(); |
| to_remove.push_back("a1"); |
| to_remove.push_back("a2"); |
| - EXPECT_FALSE(storage_->Remove(to_remove).HasError()); |
| - EXPECT_FALSE(storage_->Remove("b").HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, to_remove).HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, "b").HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Still no quota. |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -266,18 +271,18 @@ TEST_F(ExtensionSettingsQuotaTest, Clear) { |
| DictionaryValue to_set; |
| to_set.Set("a", byte_value_16_->DeepCopy()); |
| to_set.Set("b", byte_value_16_->DeepCopy()); |
| - EXPECT_FALSE(storage_->Set(to_set).HasError()); |
| - EXPECT_TRUE(storage_->Set("c", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, to_set).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "c", *byte_value_16_).HasError()); |
| - EXPECT_FALSE(storage_->Clear().HasError()); |
| + EXPECT_FALSE(storage_->Clear(DEFAULTS).HasError()); |
| // (repeat) |
| - EXPECT_FALSE(storage_->Set(to_set).HasError()); |
| - EXPECT_TRUE(storage_->Set("c", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, to_set).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "c", *byte_value_16_).HasError()); |
| } |
| // Test reaching max keys. |
| - storage_->Clear(); |
| + storage_->Clear(DEFAULTS); |
| { |
| DictionaryValue to_set; |
| to_set.Set("a", byte_value_1_->DeepCopy()); |
| @@ -285,14 +290,14 @@ TEST_F(ExtensionSettingsQuotaTest, Clear) { |
| to_set.Set("c", byte_value_1_->DeepCopy()); |
| to_set.Set("d", byte_value_1_->DeepCopy()); |
| to_set.Set("e", byte_value_1_->DeepCopy()); |
| - EXPECT_FALSE(storage_->Set(to_set).HasError()); |
| - EXPECT_TRUE(storage_->Set("f", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, to_set).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "f", *byte_value_1_).HasError()); |
| - storage_->Clear(); |
| + storage_->Clear(DEFAULTS); |
| // (repeat) |
| - EXPECT_FALSE(storage_->Set(to_set).HasError()); |
| - EXPECT_TRUE(storage_->Set("f", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, to_set).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "f", *byte_value_1_).HasError()); |
| } |
| } |
| @@ -301,19 +306,19 @@ TEST_F(ExtensionSettingsQuotaTest, ChangingUsedBytesWithSet) { |
| CreateStorage(20, UINT_MAX, UINT_MAX); |
| // Change a setting to make it go over quota. |
| - storage_->Set("a", *byte_value_16_); |
| + storage_->Set(DEFAULTS, "a", *byte_value_16_); |
| settings.Set("a", byte_value_16_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_256_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_256_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Change a setting to reduce usage and room for another setting. |
| - EXPECT_TRUE(storage_->Set("foobar", *byte_value_1_).HasError()); |
| - storage_->Set("a", *byte_value_1_); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "foobar", *byte_value_1_).HasError()); |
| + storage_->Set(DEFAULTS, "a", *byte_value_1_); |
| settings.Set("a", byte_value_1_->DeepCopy()); |
| - EXPECT_FALSE(storage_->Set("foobar", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "foobar", *byte_value_1_).HasError()); |
| settings.Set("foobar", byte_value_1_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -322,19 +327,19 @@ TEST_F(ExtensionSettingsQuotaTest, SetsOnlyEntirelyCompletedWithByteQuota) { |
| DictionaryValue settings; |
| CreateStorage(40, UINT_MAX, UINT_MAX); |
| - storage_->Set("a", *byte_value_16_); |
| + storage_->Set(DEFAULTS, "a", *byte_value_16_); |
| settings.Set("a", byte_value_16_->DeepCopy()); |
| // The entire change is over quota. |
| DictionaryValue to_set; |
| to_set.Set("b", byte_value_16_->DeepCopy()); |
| to_set.Set("c", byte_value_16_->DeepCopy()); |
| - EXPECT_TRUE(storage_->Set(to_set).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, to_set).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // The entire change is over quota, but quota reduced in existing key. |
| to_set.Set("a", byte_value_1_->DeepCopy()); |
| - EXPECT_FALSE(storage_->Set(to_set).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, to_set).HasError()); |
| settings.Set("a", byte_value_1_->DeepCopy()); |
| settings.Set("b", byte_value_16_->DeepCopy()); |
| settings.Set("c", byte_value_16_->DeepCopy()); |
| @@ -345,68 +350,68 @@ TEST_F(ExtensionSettingsQuotaTest, SetsOnlyEntireCompletedWithMaxKeys) { |
| DictionaryValue settings; |
| CreateStorage(UINT_MAX, UINT_MAX, 2); |
| - storage_->Set("a", *byte_value_1_); |
| + storage_->Set(DEFAULTS, "a", *byte_value_1_); |
| settings.Set("a", byte_value_1_->DeepCopy()); |
| DictionaryValue to_set; |
| to_set.Set("b", byte_value_16_->DeepCopy()); |
| to_set.Set("c", byte_value_16_->DeepCopy()); |
| - EXPECT_TRUE(storage_->Set(to_set).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, to_set).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| TEST_F(ExtensionSettingsQuotaTest, WithInitialDataAndByteQuota) { |
| DictionaryValue settings; |
| - delegate_->Set("a", *byte_value_256_); |
| + delegate_->Set(DEFAULTS, "a", *byte_value_256_); |
| settings.Set("a", byte_value_256_->DeepCopy()); |
| CreateStorage(280, UINT_MAX, UINT_MAX); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Add some data. |
| - EXPECT_FALSE(storage_->Set("b", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "b", *byte_value_16_).HasError()); |
| settings.Set("b", byte_value_16_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Not enough quota. |
| - EXPECT_TRUE(storage_->Set("c", *byte_value_16_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "c", *byte_value_16_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Reduce usage of original setting so that "c" can fit. |
| - EXPECT_FALSE(storage_->Set("a", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "a", *byte_value_16_).HasError()); |
| settings.Set("a", byte_value_16_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| - EXPECT_FALSE(storage_->Set("c", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "c", *byte_value_16_).HasError()); |
| settings.Set("c", byte_value_16_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Remove to free up some more data. |
| - EXPECT_TRUE(storage_->Set("d", *byte_value_256_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "d", *byte_value_256_).HasError()); |
| std::vector<std::string> to_remove; |
| to_remove.push_back("a"); |
| to_remove.push_back("b"); |
| - storage_->Remove(to_remove); |
| + storage_->Remove(DEFAULTS, to_remove); |
| settings.Remove("a", NULL); |
| settings.Remove("b", NULL); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| - EXPECT_FALSE(storage_->Set("d", *byte_value_256_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "d", *byte_value_256_).HasError()); |
| settings.Set("d", byte_value_256_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| TEST_F(ExtensionSettingsQuotaTest, WithInitialDataAndMaxKeys) { |
| DictionaryValue settings; |
| - delegate_->Set("a", *byte_value_1_); |
| + delegate_->Set(DEFAULTS, "a", *byte_value_1_); |
| settings.Set("a", byte_value_1_->DeepCopy()); |
| CreateStorage(UINT_MAX, UINT_MAX, 2); |
| - EXPECT_FALSE(storage_->Set("b", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "b", *byte_value_1_).HasError()); |
| settings.Set("b", byte_value_1_->DeepCopy()); |
| - EXPECT_TRUE(storage_->Set("c", *byte_value_1_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "c", *byte_value_1_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -416,20 +421,20 @@ TEST_F(ExtensionSettingsQuotaTest, InitiallyOverByteQuota) { |
| settings.Set("a", byte_value_16_->DeepCopy()); |
| settings.Set("b", byte_value_16_->DeepCopy()); |
| settings.Set("c", byte_value_16_->DeepCopy()); |
| - delegate_->Set(settings); |
| + delegate_->Set(DEFAULTS, settings); |
| CreateStorage(40, UINT_MAX, UINT_MAX); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| - EXPECT_TRUE(storage_->Set("d", *byte_value_16_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "d", *byte_value_16_).HasError()); |
| // Take under quota by reducing size of an existing setting |
| - EXPECT_FALSE(storage_->Set("a", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| settings.Set("a", byte_value_1_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Should be able set another small setting. |
| - EXPECT_FALSE(storage_->Set("d", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "d", *byte_value_1_).HasError()); |
| settings.Set("d", byte_value_1_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -439,30 +444,30 @@ TEST_F(ExtensionSettingsQuotaTest, InitiallyOverMaxKeys) { |
| settings.Set("a", byte_value_16_->DeepCopy()); |
| settings.Set("b", byte_value_16_->DeepCopy()); |
| settings.Set("c", byte_value_16_->DeepCopy()); |
| - delegate_->Set(settings); |
| + delegate_->Set(DEFAULTS, settings); |
| CreateStorage(UINT_MAX, UINT_MAX, 2); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Can't set either an existing or new setting. |
| - EXPECT_TRUE(storage_->Set("d", *byte_value_16_).HasError()); |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "d", *byte_value_16_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Should be able after removing 2. |
| - storage_->Remove("a"); |
| + storage_->Remove(DEFAULTS, "a"); |
| settings.Remove("a", NULL); |
| - storage_->Remove("b"); |
| + storage_->Remove(DEFAULTS, "b"); |
| settings.Remove("b", NULL); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| - EXPECT_FALSE(storage_->Set("e", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "e", *byte_value_1_).HasError()); |
| settings.Set("e", byte_value_1_->DeepCopy()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| // Still can't set any. |
| - EXPECT_TRUE(storage_->Set("d", *byte_value_16_).HasError()); |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "d", *byte_value_16_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -470,9 +475,9 @@ TEST_F(ExtensionSettingsQuotaTest, ZeroQuotaBytesPerSetting) { |
| DictionaryValue empty; |
| CreateStorage(UINT_MAX, 0, UINT_MAX); |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
| - EXPECT_FALSE(storage_->Remove("a").HasError()); |
| - EXPECT_FALSE(storage_->Remove("b").HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, "a").HasError()); |
| + EXPECT_FALSE(storage_->Remove(DEFAULTS, "b").HasError()); |
| EXPECT_TRUE(SettingsEqual(empty)); |
| } |
| @@ -481,15 +486,15 @@ TEST_F(ExtensionSettingsQuotaTest, QuotaBytesPerSetting) { |
| CreateStorage(UINT_MAX, 20, UINT_MAX); |
| - EXPECT_FALSE(storage_->Set("a", *byte_value_1_).HasError()); |
| - EXPECT_FALSE(storage_->Set("a", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "a", *byte_value_16_).HasError()); |
| settings.Set("a", byte_value_16_->DeepCopy()); |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_256_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_256_).HasError()); |
| - EXPECT_FALSE(storage_->Set("b", *byte_value_1_).HasError()); |
| - EXPECT_FALSE(storage_->Set("b", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "b", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "b", *byte_value_16_).HasError()); |
| settings.Set("b", byte_value_16_->DeepCopy()); |
| - EXPECT_TRUE(storage_->Set("b", *byte_value_256_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "b", *byte_value_256_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |
| @@ -497,25 +502,56 @@ TEST_F(ExtensionSettingsQuotaTest, QuotaBytesPerSetting) { |
| TEST_F(ExtensionSettingsQuotaTest, QuotaBytesPerSettingWithInitialSettings) { |
| DictionaryValue settings; |
| - delegate_->Set("a", *byte_value_1_); |
| - delegate_->Set("b", *byte_value_16_); |
| - delegate_->Set("c", *byte_value_256_); |
| + delegate_->Set(DEFAULTS, "a", *byte_value_1_); |
| + delegate_->Set(DEFAULTS, "b", *byte_value_16_); |
| + delegate_->Set(DEFAULTS, "c", *byte_value_256_); |
| CreateStorage(UINT_MAX, 20, UINT_MAX); |
| - EXPECT_FALSE(storage_->Set("a", *byte_value_1_).HasError()); |
| - EXPECT_FALSE(storage_->Set("a", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "a", *byte_value_16_).HasError()); |
| settings.Set("a", byte_value_16_->DeepCopy()); |
| - EXPECT_TRUE(storage_->Set("a", *byte_value_256_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_256_).HasError()); |
| - EXPECT_FALSE(storage_->Set("b", *byte_value_1_).HasError()); |
| - EXPECT_FALSE(storage_->Set("b", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "b", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "b", *byte_value_16_).HasError()); |
| settings.Set("b", byte_value_16_->DeepCopy()); |
| - EXPECT_TRUE(storage_->Set("b", *byte_value_256_).HasError()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "b", *byte_value_256_).HasError()); |
| + |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "c", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(DEFAULTS, "c", *byte_value_16_).HasError()); |
| + settings.Set("c", byte_value_16_->DeepCopy()); |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "c", *byte_value_256_).HasError()); |
| + |
| + EXPECT_TRUE(SettingsEqual(settings)); |
| +} |
| + |
| +TEST_F(ExtensionSettingsQuotaTest, |
| + QuotaBytesPerSettingWithInitialSettingsForced) { |
|
not at google - send to devlin
2011/11/17 07:02:53
Change #1: a test.
|
| + // This is a lazy test to make sure FORCE lets through changes: the test above |
| + // copied, but using FORCE and asserting nothing is ever rejected... |
| + DictionaryValue settings; |
| + |
| + delegate_->Set(DEFAULTS, "a", *byte_value_1_); |
| + delegate_->Set(DEFAULTS, "b", *byte_value_16_); |
| + delegate_->Set(DEFAULTS, "c", *byte_value_256_); |
| + CreateStorage(UINT_MAX, 20, UINT_MAX); |
| - EXPECT_FALSE(storage_->Set("c", *byte_value_1_).HasError()); |
| - EXPECT_FALSE(storage_->Set("c", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(FORCE, "a", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(FORCE, "a", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(FORCE, "a", *byte_value_256_).HasError()); |
| + settings.Set("a", byte_value_256_->DeepCopy()); |
| + |
| + EXPECT_FALSE(storage_->Set(FORCE, "b", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(FORCE, "b", *byte_value_16_).HasError()); |
| + EXPECT_FALSE(storage_->Set(FORCE, "b", *byte_value_256_).HasError()); |
| + settings.Set("b", byte_value_256_->DeepCopy()); |
| + |
| + EXPECT_FALSE(storage_->Set(FORCE, "c", *byte_value_1_).HasError()); |
| + EXPECT_FALSE(storage_->Set(FORCE, "c", *byte_value_16_).HasError()); |
| settings.Set("c", byte_value_16_->DeepCopy()); |
| - EXPECT_TRUE(storage_->Set("c", *byte_value_256_).HasError()); |
| + |
| + // ... except the last. Make sure it can still fail. |
| + EXPECT_TRUE(storage_->Set(DEFAULTS, "c", *byte_value_256_).HasError()); |
| EXPECT_TRUE(SettingsEqual(settings)); |
| } |