Index: chrome/browser/extensions/api/declarative_content/content_action_unittest.cc |
diff --git a/chrome/browser/extensions/api/declarative_content/content_action_unittest.cc b/chrome/browser/extensions/api/declarative_content/content_action_unittest.cc |
index bf29bb5dfcd4372223ab480dd77bd1724fa67c5f..53e8348fccdcb41c6e91ed5c0348bbb120f14f96 100644 |
--- a/chrome/browser/extensions/api/declarative_content/content_action_unittest.cc |
+++ b/chrome/browser/extensions/api/declarative_content/content_action_unittest.cc |
@@ -4,13 +4,20 @@ |
#include "chrome/browser/extensions/api/declarative_content/content_action.h" |
+#include "base/run_loop.h" |
#include "base/test/values_test_util.h" |
#include "chrome/browser/extensions/extension_action.h" |
#include "chrome/browser/extensions/extension_action_manager.h" |
+#include "chrome/browser/extensions/extension_service_test_base.h" |
#include "chrome/browser/extensions/extension_tab_util.h" |
#include "chrome/browser/extensions/test_extension_environment.h" |
+#include "chrome/browser/extensions/test_extension_system.h" |
+#include "chrome/test/base/testing_profile.h" |
#include "chrome/test/base/testing_profile.h" |
#include "content/public/browser/web_contents.h" |
+#include "extensions/browser/extension_registry.h" |
+#include "extensions/browser/extension_system.h" |
+#include "extensions/common/extension.h" |
#include "extensions/common/extension_builder.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -21,6 +28,38 @@ namespace { |
using base::test::ParseJson; |
using testing::HasSubstr; |
+ |
+scoped_ptr<base::DictionaryValue> SimpleManifest() { |
+ return DictionaryBuilder() |
+ .Set("name", "extension") |
+ .Set("manifest_version", 2) |
+ .Set("version", "1.0") |
+ .Build(); |
+} |
+ |
+class RequestContentScriptTest : public ExtensionServiceTestBase { |
+ public: |
+ RequestContentScriptTest(); |
+ |
+ virtual void SetUp() OVERRIDE; |
+ |
+ Profile* profile() { return profile_.get(); } |
+ Extension* extension() { return extension_.get(); } |
+ |
+ private: |
+ scoped_refptr<Extension> extension_; |
+}; |
+ |
+RequestContentScriptTest::RequestContentScriptTest() |
+ : extension_(ExtensionBuilder().SetManifest(SimpleManifest()).Build()) {} |
+ |
+void RequestContentScriptTest::SetUp() { |
Devlin
2014/08/28 17:58:10
You should always call the superclass's SetUp() me
Mark Dittmer
2014/08/28 19:57:08
I'll keep that in mind. This has been replaced wit
|
+ InitializeEmptyExtensionService(); |
+ static_cast<TestExtensionSystem*>(ExtensionSystem::Get(profile()))-> |
+ SetReady(); |
+ base::RunLoop().RunUntilIdle(); |
+} |
+ |
TEST(DeclarativeContentActionTest, InvalidCreation) { |
TestExtensionEnvironment env; |
std::string error; |
@@ -29,21 +68,23 @@ TEST(DeclarativeContentActionTest, InvalidCreation) { |
// Test wrong data type passed. |
error.clear(); |
- result = ContentAction::Create(NULL, *ParseJson("[]"), &error, &bad_message); |
+ result = ContentAction::Create( |
+ NULL, NULL, *ParseJson("[]"), &error, &bad_message); |
EXPECT_TRUE(bad_message); |
EXPECT_EQ("", error); |
EXPECT_FALSE(result.get()); |
// Test missing instanceType element. |
error.clear(); |
- result = ContentAction::Create(NULL, *ParseJson("{}"), &error, &bad_message); |
+ result = ContentAction::Create( |
+ NULL, NULL, *ParseJson("{}"), &error, &bad_message); |
EXPECT_TRUE(bad_message); |
EXPECT_EQ("", error); |
EXPECT_FALSE(result.get()); |
// Test wrong instanceType element. |
error.clear(); |
- result = ContentAction::Create(NULL, *ParseJson( |
+ result = ContentAction::Create(NULL, NULL, *ParseJson( |
"{\n" |
" \"instanceType\": \"declarativeContent.UnknownType\",\n" |
"}"), |
@@ -59,6 +100,7 @@ TEST(DeclarativeContentActionTest, ShowPageActionWithoutPageAction) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
+ NULL, |
extension, |
*ParseJson( |
"{\n" |
@@ -79,6 +121,7 @@ TEST(DeclarativeContentActionTest, ShowPageAction) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
+ NULL, |
extension, |
*ParseJson( |
"{\n" |
@@ -109,13 +152,12 @@ TEST(DeclarativeContentActionTest, ShowPageAction) { |
EXPECT_FALSE(page_action->GetIsVisible(tab_id)); |
} |
-TEST(DeclarativeContentActionTest, RequestContentScriptMissingScripts) { |
- TestExtensionEnvironment env; |
- |
+TEST_F(RequestContentScriptTest, MissingScripts) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
- NULL, |
+ profile(), |
+ extension(), |
*ParseJson( |
"{\n" |
" \"instanceType\": \"declarativeContent.RequestContentScript\",\n" |
@@ -129,13 +171,12 @@ TEST(DeclarativeContentActionTest, RequestContentScriptMissingScripts) { |
ASSERT_FALSE(result.get()); |
} |
-TEST(DeclarativeContentActionTest, RequestContentScriptCSS) { |
- TestExtensionEnvironment env; |
- |
+TEST_F(RequestContentScriptTest, CSS) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
- NULL, |
+ profile(), |
+ extension(), |
*ParseJson( |
"{\n" |
" \"instanceType\": \"declarativeContent.RequestContentScript\",\n" |
@@ -149,13 +190,12 @@ TEST(DeclarativeContentActionTest, RequestContentScriptCSS) { |
EXPECT_EQ(ContentAction::ACTION_REQUEST_CONTENT_SCRIPT, result->GetType()); |
} |
-TEST(DeclarativeContentActionTest, RequestContentScriptJS) { |
- TestExtensionEnvironment env; |
- |
+TEST_F(RequestContentScriptTest, JS) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
- NULL, |
+ profile(), |
+ extension(), |
*ParseJson( |
"{\n" |
" \"instanceType\": \"declarativeContent.RequestContentScript\",\n" |
@@ -169,13 +209,12 @@ TEST(DeclarativeContentActionTest, RequestContentScriptJS) { |
EXPECT_EQ(ContentAction::ACTION_REQUEST_CONTENT_SCRIPT, result->GetType()); |
} |
-TEST(DeclarativeContentActionTest, RequestContentScriptCSSBadType) { |
- TestExtensionEnvironment env; |
- |
+TEST_F(RequestContentScriptTest, CSSBadType) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
- NULL, |
+ profile(), |
+ extension(), |
*ParseJson( |
"{\n" |
" \"instanceType\": \"declarativeContent.RequestContentScript\",\n" |
@@ -187,13 +226,12 @@ TEST(DeclarativeContentActionTest, RequestContentScriptCSSBadType) { |
ASSERT_FALSE(result.get()); |
} |
-TEST(DeclarativeContentActionTest, RequestContentScriptJSBadType) { |
- TestExtensionEnvironment env; |
- |
+TEST_F(RequestContentScriptTest, JSBadType) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
- NULL, |
+ profile(), |
+ extension(), |
*ParseJson( |
"{\n" |
" \"instanceType\": \"declarativeContent.RequestContentScript\",\n" |
@@ -205,13 +243,12 @@ TEST(DeclarativeContentActionTest, RequestContentScriptJSBadType) { |
ASSERT_FALSE(result.get()); |
} |
-TEST(DeclarativeContentActionTest, RequestContentScriptAllFrames) { |
- TestExtensionEnvironment env; |
- |
+TEST_F(RequestContentScriptTest, AllFrames) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
- NULL, |
+ profile(), |
+ extension(), |
*ParseJson( |
"{\n" |
" \"instanceType\": \"declarativeContent.RequestContentScript\",\n" |
@@ -226,13 +263,12 @@ TEST(DeclarativeContentActionTest, RequestContentScriptAllFrames) { |
EXPECT_EQ(ContentAction::ACTION_REQUEST_CONTENT_SCRIPT, result->GetType()); |
} |
-TEST(DeclarativeContentActionTest, RequestContentScriptMatchAboutBlank) { |
- TestExtensionEnvironment env; |
- |
+TEST_F(RequestContentScriptTest, MatchAboutBlank) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
- NULL, |
+ profile(), |
+ extension(), |
*ParseJson( |
"{\n" |
" \"instanceType\": \"declarativeContent.RequestContentScript\",\n" |
@@ -247,13 +283,12 @@ TEST(DeclarativeContentActionTest, RequestContentScriptMatchAboutBlank) { |
EXPECT_EQ(ContentAction::ACTION_REQUEST_CONTENT_SCRIPT, result->GetType()); |
} |
-TEST(DeclarativeContentActionTest, RequestContentScriptAllFramesBadType) { |
- TestExtensionEnvironment env; |
- |
+TEST_F(RequestContentScriptTest, AllFramesBadType) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
- NULL, |
+ profile(), |
+ extension(), |
*ParseJson( |
"{\n" |
" \"instanceType\": \"declarativeContent.RequestContentScript\",\n" |
@@ -266,13 +301,12 @@ TEST(DeclarativeContentActionTest, RequestContentScriptAllFramesBadType) { |
ASSERT_FALSE(result.get()); |
} |
-TEST(DeclarativeContentActionTest, RequestContentScriptMatchAboutBlankBadType) { |
- TestExtensionEnvironment env; |
- |
+TEST_F(RequestContentScriptTest, MatchAboutBlankBadType) { |
std::string error; |
bool bad_message = false; |
scoped_refptr<const ContentAction> result = ContentAction::Create( |
- NULL, |
+ profile(), |
+ extension(), |
*ParseJson( |
"{\n" |
" \"instanceType\": \"declarativeContent.RequestContentScript\",\n" |