| 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));
|
| }
|
|
|