Index: chrome/common/extensions/api/extension_action/script_badge_manifest_unittest.cc |
diff --git a/chrome/common/extensions/manifest_tests/extension_manifests_scriptbadge_unittest.cc b/chrome/common/extensions/api/extension_action/script_badge_manifest_unittest.cc |
similarity index 77% |
rename from chrome/common/extensions/manifest_tests/extension_manifests_scriptbadge_unittest.cc |
rename to chrome/common/extensions/api/extension_action/script_badge_manifest_unittest.cc |
index 736be658e57672309088f4767abbd57548abc22a..c66fb11cd3cb26a5b088c1ed755fd44e89e2ffb0 100644 |
--- a/chrome/common/extensions/manifest_tests/extension_manifests_scriptbadge_unittest.cc |
+++ b/chrome/common/extensions/api/extension_action/script_badge_manifest_unittest.cc |
@@ -2,18 +2,21 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "chrome/common/extensions/api/extension_action/action_info.h" |
+#include "chrome/common/extensions/api/extension_action/script_badge_handler.h" |
#include "chrome/common/extensions/extension_builder.h" |
#include "chrome/common/extensions/extension_constants.h" |
#include "chrome/common/extensions/extension_icon_set.h" |
#include "chrome/common/extensions/extension_manifest_constants.h" |
+#include "chrome/common/extensions/manifest_handler.h" |
#include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" |
+#include "chrome/test/base/testing_profile.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
namespace errors = extension_manifest_errors; |
-using extensions::DictionaryBuilder; |
-using extensions::Extension; |
-using extensions::ExtensionBuilder; |
+ |
+namespace extensions { |
namespace { |
@@ -27,7 +30,17 @@ std::vector<Extension::InstallWarning> StripMissingFlagWarning( |
return result; |
} |
-TEST_F(ExtensionManifestTest, ScriptBadgeBasic) { |
+class ScriptBadgeManifestTest : public ExtensionManifestTest { |
+ protected: |
+ virtual void SetUp() OVERRIDE { |
+ ManifestHandler::Register(extension_manifest_keys::kScriptBadge, |
+ new ScriptBadgeHandler); |
+ } |
+}; |
+ |
+} // namespace |
+ |
+TEST_F(ScriptBadgeManifestTest, ScriptBadgeBasic) { |
scoped_refptr<Extension> extension( |
ExtensionBuilder() |
.SetManifest(DictionaryBuilder() |
@@ -45,12 +58,14 @@ TEST_F(ExtensionManifestTest, ScriptBadgeBasic) { |
.Set("default_popup", "popup.html"))) |
.Build()); |
ASSERT_TRUE(extension.get()); |
- ASSERT_TRUE(extension->script_badge_info()); |
+ const ActionInfo* script_badge_info = |
+ ScriptBadgeInfo::GetScriptBadge(extension); |
+ ASSERT_TRUE(script_badge_info); |
EXPECT_THAT(StripMissingFlagWarning(extension->install_warnings()), |
testing::ElementsAre(/*empty*/)); |
const ExtensionIconSet& default_icon = |
- extension->script_badge_info()->default_icon; |
+ script_badge_info->default_icon; |
// Should have a default icon set. |
ASSERT_FALSE(default_icon.empty()); |
@@ -63,11 +78,11 @@ TEST_F(ExtensionManifestTest, ScriptBadgeBasic) { |
default_icon.Get(2 * extension_misc::EXTENSION_ICON_BITTY, |
ExtensionIconSet::MATCH_EXACTLY)); |
- EXPECT_EQ("my extension", extension->script_badge_info()->default_title); |
- EXPECT_FALSE(extension->script_badge_info()->default_popup_url.is_empty()); |
+ EXPECT_EQ("my extension", script_badge_info->default_title); |
+ EXPECT_FALSE(script_badge_info->default_popup_url.is_empty()); |
} |
-TEST_F(ExtensionManifestTest, ScriptBadgeExplicitTitleAndIconsIgnored) { |
+TEST_F(ScriptBadgeManifestTest, ScriptBadgeExplicitTitleAndIconsIgnored) { |
scoped_refptr<Extension> extension( |
ExtensionBuilder() |
.SetManifest(DictionaryBuilder() |
@@ -83,7 +98,9 @@ TEST_F(ExtensionManifestTest, ScriptBadgeExplicitTitleAndIconsIgnored) { |
.Set("default_icon", "malicious.png"))) |
.Build()); |
ASSERT_TRUE(extension.get()); |
- ASSERT_TRUE(extension->script_badge_info()); |
+ const ActionInfo* script_badge_info = |
+ ScriptBadgeInfo::GetScriptBadge(extension); |
+ ASSERT_TRUE(script_badge_info); |
EXPECT_THAT(StripMissingFlagWarning(extension->install_warnings()), |
testing::ElementsAre( |
@@ -95,7 +112,7 @@ TEST_F(ExtensionManifestTest, ScriptBadgeExplicitTitleAndIconsIgnored) { |
errors::kScriptBadgeIconIgnored))); |
const ExtensionIconSet& default_icon = |
- extension->script_badge_info()->default_icon; |
+ script_badge_info->default_icon; |
ASSERT_FALSE(default_icon.empty()); |
EXPECT_EQ(1u, default_icon.map().size()); |
@@ -103,10 +120,10 @@ TEST_F(ExtensionManifestTest, ScriptBadgeExplicitTitleAndIconsIgnored) { |
default_icon.Get(extension_misc::EXTENSION_ICON_BITTY, |
ExtensionIconSet::MATCH_EXACTLY)); |
- EXPECT_EQ("my extension", extension->script_badge_info()->default_title); |
+ EXPECT_EQ("my extension", script_badge_info->default_title); |
} |
-TEST_F(ExtensionManifestTest, ScriptBadgeIconFallsBackToPuzzlePiece) { |
+TEST_F(ScriptBadgeManifestTest, ScriptBadgeIconFallsBackToPuzzlePiece) { |
scoped_refptr<Extension> extension( |
ExtensionBuilder() |
.SetManifest(DictionaryBuilder() |
@@ -119,12 +136,14 @@ TEST_F(ExtensionManifestTest, ScriptBadgeIconFallsBackToPuzzlePiece) { |
.Set("128", "icon128.png"))) |
.Build()); |
ASSERT_TRUE(extension.get()); |
- ASSERT_TRUE(extension->script_badge_info()); |
+ const ActionInfo* script_badge_info = |
+ ScriptBadgeInfo::GetScriptBadge(extension); |
+ ASSERT_TRUE(script_badge_info); |
EXPECT_THAT(extension->install_warnings(), |
testing::ElementsAre(/*empty*/)); |
const ExtensionIconSet& default_icon = |
- extension->script_badge_info()->default_icon; |
+ script_badge_info->default_icon; |
ASSERT_FALSE(default_icon.empty()) << "Should fall back to the 128px icon."; |
EXPECT_EQ(2u, default_icon.map().size()); |
EXPECT_EQ("icon128.png", |
@@ -135,4 +154,4 @@ TEST_F(ExtensionManifestTest, ScriptBadgeIconFallsBackToPuzzlePiece) { |
ExtensionIconSet::MATCH_EXACTLY)); |
} |
-} // namespace |
+} // namespace extensions |