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

Unified Diff: chrome/common/extensions/manifest_tests/extension_manifests_scriptbadge_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: 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/manifest_tests/extension_manifests_scriptbadge_unittest.cc
diff --git a/chrome/common/extensions/manifest_tests/extension_manifests_scriptbadge_unittest.cc b/chrome/common/extensions/manifest_tests/extension_manifests_scriptbadge_unittest.cc
index 736be658e57672309088f4767abbd57548abc22a..5e375ddfcc6b7dde106dbc6b3115d531277b0679 100644
--- a/chrome/common/extensions/manifest_tests/extension_manifests_scriptbadge_unittest.cc
+++ b/chrome/common/extensions/manifest_tests/extension_manifests_scriptbadge_unittest.cc
@@ -2,20 +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_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 {
+namespace extensions {
std::vector<Extension::InstallWarning> StripMissingFlagWarning(
const std::vector<Extension::InstallWarning>& install_warnings) {
@@ -28,6 +28,10 @@ std::vector<Extension::InstallWarning> StripMissingFlagWarning(
}
TEST_F(ExtensionManifestTest, ScriptBadgeBasic) {
+ // We need to make a profile so that the ProfileKeyedServices (some of which
+ // are used in manifest-parsing) are initialized.
Yoyo Zhou 2012/12/18 02:01:41 It would be preferable to just register the manife
Devlin 2012/12/18 20:42:07 File has been moved and ScriptBadgeManifestTest::S
Yoyo Zhou 2012/12/19 01:38:50 I think it's okay to make unit tests explicitly re
+ scoped_ptr<TestingProfile> profile(new TestingProfile());
+
scoped_refptr<Extension> extension(
ExtensionBuilder()
.SetManifest(DictionaryBuilder()
@@ -45,12 +49,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 +69,15 @@ 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) {
+ // We need to make a profile so that the ProfileKeyedServices (some of which
+ // are used in manifest-parsing) are initialized.
+ scoped_ptr<TestingProfile> profile(new TestingProfile());
+
scoped_refptr<Extension> extension(
ExtensionBuilder()
.SetManifest(DictionaryBuilder()
@@ -83,7 +93,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 +107,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 +115,14 @@ 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) {
+ // We need to make a profile so that the ProfileKeyedServices (some of which
+ // are used in manifest-parsing) are initialized.
+ scoped_ptr<TestingProfile> profile(new TestingProfile());
+
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 =
+ 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 +153,4 @@ TEST_F(ExtensionManifestTest, ScriptBadgeIconFallsBackToPuzzlePiece) {
ExtensionIconSet::MATCH_EXACTLY));
}
-} // namespace
+} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698