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..e011bc9e43ae500f6728b61e1f6f31dde423da96 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,7 +79,7 @@ TEST_F(ExtensionSettingsQuotaTest, ZeroQuotaBytes) { |
DictionaryValue empty; |
CreateStorage(0, UINT_MAX, UINT_MAX); |
- EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
+ EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
EXPECT_FALSE(storage_->Remove("a").HasError()); |
EXPECT_FALSE(storage_->Remove("b").HasError()); |
EXPECT_TRUE(SettingsEqual(empty)); |
@@ -84,7 +88,8 @@ TEST_F(ExtensionSettingsQuotaTest, ZeroQuotaBytes) { |
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,7 +132,7 @@ TEST_F(ExtensionSettingsQuotaTest, ZeroMaxKeys) { |
DictionaryValue empty; |
CreateStorage(UINT_MAX, UINT_MAX, 0); |
- EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
+ EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
EXPECT_FALSE(storage_->Remove("a").HasError()); |
EXPECT_FALSE(storage_->Remove("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()); |
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()); |
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,10 +220,10 @@ 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. |
@@ -230,17 +235,17 @@ TEST_F(ExtensionSettingsQuotaTest, RemovingNonexistentSettings) { |
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)); |
@@ -253,7 +258,7 @@ TEST_F(ExtensionSettingsQuotaTest, RemovingNonexistentSettings) { |
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,14 +271,14 @@ 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()); |
// (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. |
@@ -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(); |
// (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,44 +350,44 @@ 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"); |
@@ -392,21 +397,21 @@ TEST_F(ExtensionSettingsQuotaTest, WithInitialDataAndByteQuota) { |
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,14 +444,14 @@ 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. |
@@ -456,13 +461,13 @@ TEST_F(ExtensionSettingsQuotaTest, InitiallyOverMaxKeys) { |
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,7 +475,7 @@ TEST_F(ExtensionSettingsQuotaTest, ZeroQuotaBytesPerSetting) { |
DictionaryValue empty; |
CreateStorage(UINT_MAX, 0, UINT_MAX); |
- EXPECT_TRUE(storage_->Set("a", *byte_value_1_).HasError()); |
+ EXPECT_TRUE(storage_->Set(DEFAULTS, "a", *byte_value_1_).HasError()); |
EXPECT_FALSE(storage_->Remove("a").HasError()); |
EXPECT_FALSE(storage_->Remove("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) { |
+ // 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)); |
} |