Chromium Code Reviews

Unified Diff: chrome/common/extensions/extension_unittest.cc

Issue 332021: Move page actions over to ExtensionAction2 (Closed)
Patch Set: Review feedback Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: chrome/common/extensions/extension_unittest.cc
diff --git a/chrome/common/extensions/extension_unittest.cc b/chrome/common/extensions/extension_unittest.cc
index eeb4499cd2f554de40cad9c9c145a1b179812909..dd366fbbad78fbce5d8dbbc1ab406ec853d56656 100644
--- a/chrome/common/extensions/extension_unittest.cc
+++ b/chrome/common/extensions/extension_unittest.cc
@@ -297,18 +297,18 @@ TEST(ExtensionTest, LoadPageActionHelper) {
#endif
Extension extension(path);
std::string error_msg;
- scoped_ptr<ExtensionAction> action;
+ scoped_ptr<ExtensionAction2> action;
DictionaryValue input;
// First try with an empty dictionary. We should get nothing back.
- ASSERT_TRUE(extension.LoadExtensionActionHelper(
- &input, &error_msg, ExtensionAction::PAGE_ACTION) == NULL);
+ ASSERT_TRUE(extension.LoadExtensionAction2Helper(
+ &input, &error_msg) == NULL);
ASSERT_STRNE("", error_msg.c_str());
error_msg = "";
// Now try the same, but as a browser action. Ensure same results.
- ASSERT_TRUE(extension.LoadExtensionActionHelper(
- &input, &error_msg, ExtensionAction::BROWSER_ACTION) == NULL);
+ ASSERT_TRUE(extension.LoadExtensionAction2Helper(
+ &input, &error_msg) == NULL);
ASSERT_STRNE("", error_msg.c_str());
error_msg = "";
@@ -326,46 +326,23 @@ TEST(ExtensionTest, LoadPageActionHelper) {
icons->Set(1, Value::CreateStringValue(img2));
input.Set(keys::kPageActionIcons, icons);
- // Parse as page action and read back the values from the object.
- action.reset(extension.LoadExtensionActionHelper(
- &input, &error_msg, ExtensionAction::PAGE_ACTION));
+ // Parse and read back the values from the object.
+ action.reset(extension.LoadExtensionAction2Helper(
+ &input, &error_msg));
ASSERT_TRUE(NULL != action.get());
ASSERT_STREQ("", error_msg.c_str());
ASSERT_STREQ(id.c_str(), action->id().c_str());
- ASSERT_STREQ(name.c_str(), action->title().c_str());
- ASSERT_EQ(2u, action->icon_paths().size());
- ASSERT_STREQ(img1.c_str(), action->icon_paths()[0].c_str());
- ASSERT_STREQ(img2.c_str(), action->icon_paths()[1].c_str());
- ASSERT_EQ(ExtensionAction::PAGE_ACTION, action->type());
-
- // Now try the same, but as a browser action.
- action.reset(extension.LoadExtensionActionHelper(
- &input, &error_msg, ExtensionAction::BROWSER_ACTION));
- ASSERT_TRUE(NULL != action.get());
- ASSERT_STREQ("", error_msg.c_str());
- // Browser actions don't have an id, page actions do.
- ASSERT_STREQ("", action->id().c_str());
- ASSERT_STREQ(name.c_str(), action->title().c_str());
- ASSERT_EQ(2u, action->icon_paths().size());
- ASSERT_STREQ(img1.c_str(), action->icon_paths()[0].c_str());
- ASSERT_STREQ(img2.c_str(), action->icon_paths()[1].c_str());
- ASSERT_EQ(ExtensionAction::BROWSER_ACTION, action->type());
+ ASSERT_STREQ(name.c_str(), action->GetTitle(1).c_str());
+ ASSERT_EQ(2u, action->icon_paths()->size());
+ ASSERT_STREQ(img1.c_str(), action->icon_paths()->at(0).c_str());
+ ASSERT_STREQ(img2.c_str(), action->icon_paths()->at(1).c_str());
// Explicitly set the same type and parse again.
input.SetString(keys::kType, values::kPageActionTypeTab);
- action.reset(extension.LoadExtensionActionHelper(
- &input, &error_msg, ExtensionAction::BROWSER_ACTION));
- ASSERT_TRUE(NULL != action.get());
- ASSERT_STREQ("", error_msg.c_str());
- ASSERT_EQ(ExtensionAction::BROWSER_ACTION, action->type());
-
- // Explicitly set the PAGE_ACTION type and parse again.
- input.SetString(keys::kType, values::kPageActionTypePermanent);
- action.reset(extension.LoadExtensionActionHelper(
- &input, &error_msg, ExtensionAction::PAGE_ACTION));
+ action.reset(extension.LoadExtensionAction2Helper(
+ &input, &error_msg));
ASSERT_TRUE(NULL != action.get());
ASSERT_STREQ("", error_msg.c_str());
- ASSERT_EQ(ExtensionAction::PAGE_ACTION, action->type());
// Make a deep copy of the input and remove one key at a time and see if we
// get the right error.
@@ -374,18 +351,8 @@ TEST(ExtensionTest, LoadPageActionHelper) {
// First remove id key.
copy.reset(static_cast<DictionaryValue*>(input.DeepCopy()));
copy->Remove(keys::kPageActionId, NULL);
- action.reset(extension.LoadExtensionActionHelper(
- copy.get(), &error_msg, ExtensionAction::PAGE_ACTION));
- ASSERT_TRUE(NULL != action.get());
- ASSERT_STREQ("", error_msg.c_str());
- error_msg = "";
-
- // Same test (id key), but with browser action.
- copy.reset(static_cast<DictionaryValue*>(input.DeepCopy()));
- copy->Remove(keys::kPageActionId, NULL);
- action.reset(extension.LoadExtensionActionHelper(
- copy.get(), &error_msg, ExtensionAction::BROWSER_ACTION));
- // Having no id is valid for browser actions.
+ action.reset(extension.LoadExtensionAction2Helper(
+ copy.get(), &error_msg));
ASSERT_TRUE(NULL != action.get());
ASSERT_STREQ("", error_msg.c_str());
error_msg = "";
@@ -393,18 +360,8 @@ TEST(ExtensionTest, LoadPageActionHelper) {
// Then remove the name key.
copy.reset(static_cast<DictionaryValue*>(input.DeepCopy()));
copy->Remove(keys::kName, NULL);
- action.reset(extension.LoadExtensionActionHelper(
- copy.get(), &error_msg, ExtensionAction::PAGE_ACTION));
- ASSERT_TRUE(NULL == action.get());
- ASSERT_TRUE(MatchPattern(error_msg.c_str(),
- errors::kInvalidPageActionDefaultTitle));
- error_msg = "";
-
- // Same test (name key), but with browser action.
- copy.reset(static_cast<DictionaryValue*>(input.DeepCopy()));
- copy->Remove(keys::kName, NULL);
- action.reset(extension.LoadExtensionActionHelper(
- copy.get(), &error_msg, ExtensionAction::BROWSER_ACTION));
+ action.reset(extension.LoadExtensionAction2Helper(
+ copy.get(), &error_msg));
ASSERT_TRUE(NULL == action.get());
ASSERT_TRUE(MatchPattern(error_msg.c_str(),
errors::kInvalidPageActionDefaultTitle));
@@ -413,18 +370,11 @@ TEST(ExtensionTest, LoadPageActionHelper) {
// Then remove the icon paths key.
copy.reset(static_cast<DictionaryValue*>(input.DeepCopy()));
copy->Remove(keys::kPageActionIcons, NULL);
- action.reset(extension.LoadExtensionActionHelper(
- copy.get(), &error_msg, ExtensionAction::PAGE_ACTION));
+ action.reset(extension.LoadExtensionAction2Helper(
+ copy.get(), &error_msg));
ASSERT_TRUE(NULL != action.get());
error_msg = "";
- // Same test (name key), but with browser action.
- copy.reset(static_cast<DictionaryValue*>(input.DeepCopy()));
- copy->Remove(keys::kPageActionIcons, NULL);
- action.reset(extension.LoadExtensionActionHelper(
- copy.get(), &error_msg, ExtensionAction::BROWSER_ACTION));
- ASSERT_TRUE(NULL != action.get());
-
// Now test that we can parse the new format for page actions.
// Now setup some values to use in the page action.
@@ -436,15 +386,13 @@ TEST(ExtensionTest, LoadPageActionHelper) {
input.SetString(keys::kPageActionDefaultTitle, kTitle);
input.SetString(keys::kPageActionDefaultIcon, kIcon);
- // Parse as page action and read back the values from the object.
- action.reset(extension.LoadExtensionActionHelper(
- &input, &error_msg, ExtensionAction::PAGE_ACTION));
+ // Parse and read back the values from the object.
+ action.reset(extension.LoadExtensionAction2Helper(
+ &input, &error_msg));
ASSERT_TRUE(action.get());
ASSERT_STREQ("", error_msg.c_str());
- ASSERT_EQ(kTitle, action->title());
- ASSERT_EQ(1u, action->icon_paths().size());
- ASSERT_EQ(kIcon, action->icon_paths()[0]);
- ASSERT_EQ(ExtensionAction::PAGE_ACTION, action->type());
+ ASSERT_EQ(kTitle, action->GetTitle(1));
+ ASSERT_EQ(0u, action->icon_paths()->size());
}
TEST(ExtensionTest, IdIsValid) {

Powered by Google App Engine