| 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 78%
|
| 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..98b5f17bcc2e9a5291ed02a62aefa5f6dbea3521 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,20 @@
|
| // 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 "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 +29,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 +57,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 =
|
| + ActionInfo::GetScriptBadgeInfo(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 +77,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 +97,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 =
|
| + ActionInfo::GetScriptBadgeInfo(extension);
|
| + ASSERT_TRUE(script_badge_info);
|
|
|
| EXPECT_THAT(StripMissingFlagWarning(extension->install_warnings()),
|
| testing::ElementsAre(
|
| @@ -95,7 +111,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 +119,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 +135,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 =
|
| + ActionInfo::GetScriptBadgeInfo(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 +153,4 @@ TEST_F(ExtensionManifestTest, ScriptBadgeIconFallsBackToPuzzlePiece) {
|
| ExtensionIconSet::MATCH_EXACTLY));
|
| }
|
|
|
| -} // namespace
|
| +} // namespace extensions
|
|
|