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

Unified Diff: chrome/common/extensions/api/extension_action/script_badge_manifest_unittest.cc

Issue 11588004: Move ScriptBadge, ActionInfo out of Extension; preparation for BrowserAction (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Yoyo's requested changes Created 8 years 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/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

Powered by Google App Engine
This is Rietveld 408576698