Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1778)

Unified Diff: chrome/common/extensions/manifest_tests/extension_manifests_background_unittest.cc

Issue 12253022: Manifest handler for all keys background-related. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/manifest_tests/extension_manifests_background_unittest.cc
diff --git a/chrome/common/extensions/manifest_tests/extension_manifests_background_unittest.cc b/chrome/common/extensions/manifest_tests/extension_manifests_background_unittest.cc
index 2913f72edaba9e426bea0bc96ae2fca303aaed2c..f54391f6ddcd7142fac6d4fe6a8f6c1aa1740c59 100644
--- a/chrome/common/extensions/manifest_tests/extension_manifests_background_unittest.cc
+++ b/chrome/common/extensions/manifest_tests/extension_manifests_background_unittest.cc
@@ -8,10 +8,12 @@
#include "base/memory/scoped_ptr.h"
#include "base/values.h"
#include "chrome/common/chrome_switches.h"
+#include "chrome/common/extensions/background_info.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/features/base_feature_provider.h"
#include "chrome/common/extensions/features/feature.h"
+#include "chrome/common/extensions/manifest_handler.h"
#include "extensions/common/error_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -20,12 +22,25 @@ namespace keys = extension_manifest_keys;
namespace extensions {
-TEST_F(ExtensionManifestTest, BackgroundPermission) {
+class ExtensionManifestBackgroundTest : public ExtensionManifestTest {
+ virtual void SetUp() OVERRIDE {
+ ExtensionManifestTest::SetUp();
+ std::vector<std::string> background_keys(BackgroundManifestHandler::keys());
+ linked_ptr<BackgroundManifestHandler> background_handler(
+ new BackgroundManifestHandler);
+ for (size_t i = 0; i < background_keys.size(); ++i) {
+ extensions::ManifestHandler::Register(background_keys[i],
+ background_handler);
+ }
+ }
+};
+
+TEST_F(ExtensionManifestBackgroundTest, BackgroundPermission) {
LoadAndExpectError("background_permission.json",
errors::kBackgroundPermissionNeeded);
}
-TEST_F(ExtensionManifestTest, BackgroundScripts) {
+TEST_F(ExtensionManifestBackgroundTest, BackgroundScripts) {
std::string error;
scoped_ptr<DictionaryValue> manifest(
LoadManifest("background_scripts.json", &error));
@@ -34,26 +49,28 @@ TEST_F(ExtensionManifestTest, BackgroundScripts) {
scoped_refptr<Extension> extension(
LoadAndExpectSuccess(Manifest(manifest.get(), "")));
ASSERT_TRUE(extension);
- EXPECT_EQ(2u, extension->background_scripts().size());
- EXPECT_EQ("foo.js", extension->background_scripts()[0u]);
- EXPECT_EQ("bar/baz.js", extension->background_scripts()[1u]);
+ const std::vector<std::string>& background_scripts =
+ BackgroundInfo::GetBackgroundScripts(extension);
+ ASSERT_EQ(2u, background_scripts.size());
+ EXPECT_EQ("foo.js", background_scripts[0u]);
+ EXPECT_EQ("bar/baz.js", background_scripts[1u]);
- EXPECT_TRUE(extension->has_background_page());
+ EXPECT_TRUE(BackgroundInfo::HasBackgroundPage(extension));
EXPECT_EQ(std::string("/") +
extension_filenames::kGeneratedBackgroundPageFilename,
- extension->GetBackgroundURL().path());
+ BackgroundInfo::GetBackgroundURL(extension).path());
manifest->SetString("background_page", "monkey.html");
LoadAndExpectError(Manifest(manifest.get(), ""),
errors::kInvalidBackgroundCombination);
}
-TEST_F(ExtensionManifestTest, BackgroundPage) {
+TEST_F(ExtensionManifestBackgroundTest, BackgroundPage) {
scoped_refptr<Extension> extension(
LoadAndExpectSuccess("background_page.json"));
ASSERT_TRUE(extension);
- EXPECT_EQ("/foo.html", extension->GetBackgroundURL().path());
- EXPECT_TRUE(extension->allow_background_js_access());
+ EXPECT_EQ("/foo.html", BackgroundInfo::GetBackgroundURL(extension).path());
+ EXPECT_TRUE(BackgroundInfo::AllowJSAccess(extension));
std::string error;
scoped_ptr<DictionaryValue> manifest(
@@ -61,7 +78,7 @@ TEST_F(ExtensionManifestTest, BackgroundPage) {
ASSERT_TRUE(manifest.get());
extension = LoadAndExpectSuccess(Manifest(manifest.get(), ""));
ASSERT_TRUE(extension);
- EXPECT_EQ("/foo.html", extension->GetBackgroundURL().path());
+ EXPECT_EQ("/foo.html", BackgroundInfo::GetBackgroundURL(extension).path());
manifest->SetInteger(keys::kManifestVersion, 2);
LoadAndExpectWarning(
@@ -69,18 +86,18 @@ TEST_F(ExtensionManifestTest, BackgroundPage) {
"'background_page' requires manifest version of 1 or lower.");
}
-TEST_F(ExtensionManifestTest, BackgroundAllowNoJsAccess) {
+TEST_F(ExtensionManifestBackgroundTest, BackgroundAllowNoJsAccess) {
scoped_refptr<Extension> extension;
extension = LoadAndExpectSuccess("background_allow_no_js_access.json");
ASSERT_TRUE(extension);
- EXPECT_FALSE(extension->allow_background_js_access());
+ EXPECT_FALSE(BackgroundInfo::AllowJSAccess(extension));
extension = LoadAndExpectSuccess("background_allow_no_js_access2.json");
ASSERT_TRUE(extension);
- EXPECT_FALSE(extension->allow_background_js_access());
+ EXPECT_FALSE(BackgroundInfo::AllowJSAccess(extension));
}
-TEST_F(ExtensionManifestTest, BackgroundPageWebRequest) {
+TEST_F(ExtensionManifestBackgroundTest, BackgroundPageWebRequest) {
CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kEnableExperimentalExtensionApis);
Feature::ScopedCurrentChannel current_channel(
@@ -95,7 +112,7 @@ TEST_F(ExtensionManifestTest, BackgroundPageWebRequest) {
scoped_refptr<Extension> extension(
LoadAndExpectSuccess(Manifest(manifest.get(), "")));
ASSERT_TRUE(extension);
- EXPECT_TRUE(extension->has_lazy_background_page());
+ EXPECT_TRUE(BackgroundInfo::HasLazyBackgroundPage(extension));
ListValue* permissions = new ListValue();
permissions->Append(Value::CreateStringValue("webRequest"));

Powered by Google App Engine
This is Rietveld 408576698