| Index: chrome/browser/extensions/settings/settings_frontend_unittest.cc
|
| diff --git a/chrome/browser/extensions/settings/settings_frontend_unittest.cc b/chrome/browser/extensions/settings/settings_frontend_unittest.cc
|
| index e153ac3441bcd025fb5f0cf13eb008e1e79f1471..e77f2529308f28301c81d5a571b42311e69eb88b 100644
|
| --- a/chrome/browser/extensions/settings/settings_frontend_unittest.cc
|
| +++ b/chrome/browser/extensions/settings/settings_frontend_unittest.cc
|
| @@ -9,11 +9,13 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/message_loop.h"
|
| #include "base/scoped_temp_dir.h"
|
| +#include "base/string_number_conversions.h"
|
| #include "base/stringprintf.h"
|
| #include "chrome/browser/extensions/settings/settings_frontend.h"
|
| #include "chrome/browser/extensions/settings/settings_namespace.h"
|
| #include "chrome/browser/extensions/settings/settings_storage.h"
|
| #include "chrome/browser/extensions/settings/settings_test_util.h"
|
| +#include "chrome/common/extensions/api/extension_api.h"
|
| #include "chrome/common/chrome_notification_types.h"
|
| #include "content/test/test_browser_thread.h"
|
|
|
| @@ -86,6 +88,8 @@ class ExtensionSettingsFrontendTest : public testing::Test {
|
| storage_factory_->Reset(new SettingsLeveldbStorage::Factory());
|
| frontend_.reset(
|
| SettingsFrontend::Create(storage_factory_.get(), profile_.get()));
|
| + // frontend_ needs a message loop to initialise.
|
| + MessageLoop::current()->RunAllPending();
|
| }
|
|
|
| ScopedTempDir temp_dir_;
|
| @@ -305,4 +309,44 @@ TEST_F(ExtensionSettingsFrontendTest,
|
| MessageLoop::current()->RunAllPending();
|
| }
|
|
|
| +// Returns an int given as a string in |dict| at |path|, or -1 if there is not
|
| +// int located there.
|
| +static int GetInteger(const DictionaryValue& dict, const std::string& path) {
|
| + int integer = -1;
|
| + {
|
| + std::string integer_as_string;
|
| + dict.GetString(path, &integer_as_string);
|
| + base::StringToInt(integer_as_string, &integer);
|
| + }
|
| + return integer;
|
| +}
|
| +
|
| +TEST_F(ExtensionSettingsFrontendTest, QuotaLimitsMatchJson) {
|
| + const DictionaryValue* storage_api =
|
| + ExtensionAPI::GetInstance()->GetSchema("storage");
|
| + CHECK(storage_api);
|
| +
|
| + EXPECT_EQ(
|
| + (int) SettingsFrontend::kSyncQuota.quota_bytes,
|
| + GetInteger(*storage_api,
|
| + "properties.sync.properties.QUOTA_BYTES.value"));
|
| + EXPECT_EQ(
|
| + (int) SettingsFrontend::kSyncQuota.quota_bytes_per_item,
|
| + GetInteger(*storage_api,
|
| + "properties.sync.properties.QUOTA_BYTES_PER_ITEM.value"));
|
| + EXPECT_EQ(
|
| + (int) SettingsFrontend::kSyncQuota.max_items,
|
| + GetInteger(*storage_api,
|
| + "properties.sync.properties.MAX_ITEMS.value"));
|
| +
|
| + EXPECT_EQ(
|
| + (int) SettingsFrontend::kLocalQuota.quota_bytes,
|
| + GetInteger(*storage_api,
|
| + "properties.local.properties.QUOTA_BYTES.value"));
|
| + EXPECT_FALSE(storage_api->HasKey(
|
| + "properties.local.properties.QUOTA_BYTES_PER_ITEM.value"));
|
| + EXPECT_FALSE(storage_api->HasKey(
|
| + "properties.local.properties.MAX_ITEMS.value"));
|
| +}
|
| +
|
| } // namespace extensions
|
|
|