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

Unified Diff: chrome/browser/extensions/menu_manager_unittest.cc

Issue 10664037: Moved ExtensionMenuManager and ExtensionMenuItem into extensions namespace (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Merged with latest master Created 8 years, 5 months 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
« no previous file with comments | « chrome/browser/extensions/menu_manager.cc ('k') | chrome/browser/tab_contents/render_view_context_menu.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/menu_manager_unittest.cc
diff --git a/chrome/browser/extensions/extension_menu_manager_unittest.cc b/chrome/browser/extensions/menu_manager_unittest.cc
similarity index 78%
rename from chrome/browser/extensions/extension_menu_manager_unittest.cc
rename to chrome/browser/extensions/menu_manager_unittest.cc
index a88b32f9aae09a12331c5aa9feac2e0a015b6cb3..fb238e862ff6afb0568a58e7fc96bbc5665d7ed6 100644
--- a/chrome/browser/extensions/extension_menu_manager_unittest.cc
+++ b/chrome/browser/extensions/menu_manager_unittest.cc
@@ -13,7 +13,7 @@
#include "base/values.h"
#include "chrome/browser/extensions/extension_event_names.h"
#include "chrome/browser/extensions/extension_event_router.h"
-#include "chrome/browser/extensions/extension_menu_manager.h"
+#include "chrome/browser/extensions/menu_manager.h"
#include "chrome/browser/extensions/test_extension_prefs.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/chrome_paths.h"
@@ -27,40 +27,40 @@
#include "testing/gtest/include/gtest/gtest.h"
using content::BrowserThread;
-using extensions::Extension;
using testing::_;
using testing::AtLeast;
using testing::InSequence;
using testing::Return;
using testing::SaveArg;
+namespace extensions {
+
// Base class for tests.
-class ExtensionMenuManagerTest : public testing::Test {
+class MenuManagerTest : public testing::Test {
public:
- ExtensionMenuManagerTest()
- : ui_thread_(BrowserThread::UI, &message_loop_),
- file_thread_(BrowserThread::FILE, &message_loop_),
- manager_(&profile_),
- next_id_(1) {
+ MenuManagerTest() : ui_thread_(BrowserThread::UI, &message_loop_),
+ file_thread_(BrowserThread::FILE, &message_loop_),
+ manager_(&profile_),
+ next_id_(1) {
}
// Returns a test item.
- ExtensionMenuItem* CreateTestItem(Extension* extension) {
- ExtensionMenuItem::Type type = ExtensionMenuItem::NORMAL;
- ExtensionMenuItem::ContextList contexts(ExtensionMenuItem::ALL);
- ExtensionMenuItem::Id id(false, extension->id());
+ MenuItem* CreateTestItem(Extension* extension) {
+ MenuItem::Type type = MenuItem::NORMAL;
+ MenuItem::ContextList contexts(MenuItem::ALL);
+ MenuItem::Id id(false, extension->id());
id.uid = next_id_++;
- return new ExtensionMenuItem(id, "test", false, true, type, contexts);
+ return new MenuItem(id, "test", false, true, type, contexts);
}
// Returns a test item with the given string ID.
- ExtensionMenuItem* CreateTestItemWithID(Extension* extension,
- const std::string& string_id) {
- ExtensionMenuItem::Type type = ExtensionMenuItem::NORMAL;
- ExtensionMenuItem::ContextList contexts(ExtensionMenuItem::ALL);
- ExtensionMenuItem::Id id(false, extension->id());
+ MenuItem* CreateTestItemWithID(Extension* extension,
+ const std::string& string_id) {
+ MenuItem::Type type = MenuItem::NORMAL;
+ MenuItem::ContextList contexts(MenuItem::ALL);
+ MenuItem::Id id(false, extension->id());
id.string_uid = string_id;
- return new ExtensionMenuItem(id, "test", false, true, type, contexts);
+ return new MenuItem(id, "test", false, true, type, contexts);
}
// Creates and returns a test Extension. The caller does *not* own the return
@@ -77,31 +77,30 @@ class ExtensionMenuManagerTest : public testing::Test {
content::TestBrowserThread ui_thread_;
content::TestBrowserThread file_thread_;
- ExtensionMenuManager manager_;
- extensions::ExtensionList extensions_;
+ MenuManager manager_;
+ ExtensionList extensions_;
TestExtensionPrefs prefs_;
int next_id_;
private:
- DISALLOW_COPY_AND_ASSIGN(ExtensionMenuManagerTest);
+ DISALLOW_COPY_AND_ASSIGN(MenuManagerTest);
};
// Tests adding, getting, and removing items.
-TEST_F(ExtensionMenuManagerTest, AddGetRemoveItems) {
+TEST_F(MenuManagerTest, AddGetRemoveItems) {
Extension* extension = AddExtension("test");
// Add a new item, make sure you can get it back.
- ExtensionMenuItem* item1 = CreateTestItem(extension);
+ MenuItem* item1 = CreateTestItem(extension);
ASSERT_TRUE(item1 != NULL);
ASSERT_TRUE(manager_.AddContextItem(extension, item1));
ASSERT_EQ(item1, manager_.GetItemById(item1->id()));
- const ExtensionMenuItem::List* items =
- manager_.MenuItems(item1->extension_id());
+ const MenuItem::List* items = manager_.MenuItems(item1->extension_id());
ASSERT_EQ(1u, items->size());
ASSERT_EQ(item1, items->at(0));
// Add a second item, make sure it comes back too.
- ExtensionMenuItem* item2 = CreateTestItemWithID(extension, "id2");
+ MenuItem* item2 = CreateTestItemWithID(extension, "id2");
ASSERT_TRUE(manager_.AddContextItem(extension, item2));
ASSERT_EQ(item2, manager_.GetItemById(item2->id()));
items = manager_.MenuItems(item2->extension_id());
@@ -110,8 +109,8 @@ TEST_F(ExtensionMenuManagerTest, AddGetRemoveItems) {
ASSERT_EQ(item2, items->at(1));
// Try adding item 3, then removing it.
- ExtensionMenuItem* item3 = CreateTestItem(extension);
- ExtensionMenuItem::Id id3 = item3->id();
+ MenuItem* item3 = CreateTestItem(extension);
+ MenuItem::Id id3 = item3->id();
std::string extension_id = item3->extension_id();
ASSERT_TRUE(manager_.AddContextItem(extension, item3));
ASSERT_EQ(item3, manager_.GetItemById(id3));
@@ -121,49 +120,48 @@ TEST_F(ExtensionMenuManagerTest, AddGetRemoveItems) {
ASSERT_EQ(2u, manager_.MenuItems(extension_id)->size());
// Make sure removing a non-existent item returns false.
- ExtensionMenuItem::Id id(false, extension->id());
+ MenuItem::Id id(false, extension->id());
id.uid = id3.uid + 50;
ASSERT_FALSE(manager_.RemoveContextMenuItem(id));
// Make sure adding an item with the same string ID returns false.
- scoped_ptr<ExtensionMenuItem> item2too(
- CreateTestItemWithID(extension, "id2"));
+ scoped_ptr<MenuItem> item2too(CreateTestItemWithID(extension, "id2"));
ASSERT_FALSE(manager_.AddContextItem(extension, item2too.get()));
// But the same string ID should not collide with another extension.
Extension* extension2 = AddExtension("test2");
- ExtensionMenuItem* item2other = CreateTestItemWithID(extension2, "id2");
+ MenuItem* item2other = CreateTestItemWithID(extension2, "id2");
ASSERT_TRUE(manager_.AddContextItem(extension2, item2other));
}
// Test adding/removing child items.
-TEST_F(ExtensionMenuManagerTest, ChildFunctions) {
+TEST_F(MenuManagerTest, ChildFunctions) {
Extension* extension1 = AddExtension("1111");
Extension* extension2 = AddExtension("2222");
Extension* extension3 = AddExtension("3333");
- ExtensionMenuItem* item1 = CreateTestItem(extension1);
- ExtensionMenuItem* item2 = CreateTestItem(extension2);
- ExtensionMenuItem* item2_child = CreateTestItemWithID(extension2, "2child");
- ExtensionMenuItem* item2_grandchild = CreateTestItem(extension2);
+ MenuItem* item1 = CreateTestItem(extension1);
+ MenuItem* item2 = CreateTestItem(extension2);
+ MenuItem* item2_child = CreateTestItemWithID(extension2, "2child");
+ MenuItem* item2_grandchild = CreateTestItem(extension2);
// This third item we expect to fail inserting, so we use a scoped_ptr to make
// sure it gets deleted.
- scoped_ptr<ExtensionMenuItem> item3(CreateTestItem(extension3));
+ scoped_ptr<MenuItem> item3(CreateTestItem(extension3));
// Add in the first two items.
ASSERT_TRUE(manager_.AddContextItem(extension1, item1));
ASSERT_TRUE(manager_.AddContextItem(extension2, item2));
- ExtensionMenuItem::Id id1 = item1->id();
- ExtensionMenuItem::Id id2 = item2->id();
+ MenuItem::Id id1 = item1->id();
+ MenuItem::Id id2 = item2->id();
// Try adding item3 as a child of item2 - this should fail because item3 has
// a different extension id.
ASSERT_FALSE(manager_.AddChildItem(id2, item3.get()));
// Add item2_child as a child of item2.
- ExtensionMenuItem::Id id2_child = item2_child->id();
+ MenuItem::Id id2_child = item2_child->id();
ASSERT_TRUE(manager_.AddChildItem(id2, item2_child));
ASSERT_EQ(1, item2->child_count());
ASSERT_EQ(0, item1->child_count());
@@ -173,7 +171,7 @@ TEST_F(ExtensionMenuManagerTest, ChildFunctions) {
ASSERT_EQ(item1, manager_.MenuItems(item1->extension_id())->at(0));
// Add item2_grandchild as a child of item2_child, then remove it.
- ExtensionMenuItem::Id id2_grandchild = item2_grandchild->id();
+ MenuItem::Id id2_grandchild = item2_grandchild->id();
ASSERT_TRUE(manager_.AddChildItem(id2_child, item2_grandchild));
ASSERT_EQ(1, item2->child_count());
ASSERT_EQ(1, item2_child->child_count());
@@ -192,22 +190,22 @@ TEST_F(ExtensionMenuManagerTest, ChildFunctions) {
}
// Tests that deleting a parent properly removes descendants.
-TEST_F(ExtensionMenuManagerTest, DeleteParent) {
+TEST_F(MenuManagerTest, DeleteParent) {
Extension* extension = AddExtension("1111");
// Set up 5 items to add.
- ExtensionMenuItem* item1 = CreateTestItem(extension);
- ExtensionMenuItem* item2 = CreateTestItem(extension);
- ExtensionMenuItem* item3 = CreateTestItemWithID(extension, "id3");
- ExtensionMenuItem* item4 = CreateTestItemWithID(extension, "id4");
- ExtensionMenuItem* item5 = CreateTestItem(extension);
- ExtensionMenuItem* item6 = CreateTestItem(extension);
- ExtensionMenuItem::Id item1_id = item1->id();
- ExtensionMenuItem::Id item2_id = item2->id();
- ExtensionMenuItem::Id item3_id = item3->id();
- ExtensionMenuItem::Id item4_id = item4->id();
- ExtensionMenuItem::Id item5_id = item5->id();
- ExtensionMenuItem::Id item6_id = item6->id();
+ MenuItem* item1 = CreateTestItem(extension);
+ MenuItem* item2 = CreateTestItem(extension);
+ MenuItem* item3 = CreateTestItemWithID(extension, "id3");
+ MenuItem* item4 = CreateTestItemWithID(extension, "id4");
+ MenuItem* item5 = CreateTestItem(extension);
+ MenuItem* item6 = CreateTestItem(extension);
+ MenuItem::Id item1_id = item1->id();
+ MenuItem::Id item2_id = item2->id();
+ MenuItem::Id item3_id = item3->id();
+ MenuItem::Id item4_id = item4->id();
+ MenuItem::Id item5_id = item5->id();
+ MenuItem::Id item6_id = item6->id();
// Add the items in the hierarchy
// item1 -> item2 -> item3 -> item4 -> item5 -> item6.
@@ -257,25 +255,24 @@ TEST_F(ExtensionMenuManagerTest, DeleteParent) {
}
// Tests changing parents.
-TEST_F(ExtensionMenuManagerTest, ChangeParent) {
+TEST_F(MenuManagerTest, ChangeParent) {
Extension* extension1 = AddExtension("1111");
// First create two items and add them both to the manager.
- ExtensionMenuItem* item1 = CreateTestItem(extension1);
- ExtensionMenuItem* item2 = CreateTestItem(extension1);
+ MenuItem* item1 = CreateTestItem(extension1);
+ MenuItem* item2 = CreateTestItem(extension1);
ASSERT_TRUE(manager_.AddContextItem(extension1, item1));
ASSERT_TRUE(manager_.AddContextItem(extension1, item2));
- const ExtensionMenuItem::List* items =
- manager_.MenuItems(item1->extension_id());
+ const MenuItem::List* items = manager_.MenuItems(item1->extension_id());
ASSERT_EQ(2u, items->size());
ASSERT_EQ(item1, items->at(0));
ASSERT_EQ(item2, items->at(1));
// Now create a third item, initially add it as a child of item1, then move
// it to be a child of item2.
- ExtensionMenuItem* item3 = CreateTestItem(extension1);
+ MenuItem* item3 = CreateTestItem(extension1);
ASSERT_TRUE(manager_.AddChildItem(item1->id(), item3));
ASSERT_EQ(1, item1->child_count());
@@ -326,7 +323,7 @@ TEST_F(ExtensionMenuManagerTest, ChangeParent) {
// Make sure you can't move a node to be a child of another extension's item.
Extension* extension2 = AddExtension("2222");
- ExtensionMenuItem* item4 = CreateTestItem(extension2);
+ MenuItem* item4 = CreateTestItem(extension2);
ASSERT_TRUE(manager_.AddContextItem(extension2, item4));
ASSERT_FALSE(manager_.ChangeParent(item4->id(), &item1->id()));
ASSERT_FALSE(manager_.ChangeParent(item1->id(), &item4->id()));
@@ -337,7 +334,7 @@ TEST_F(ExtensionMenuManagerTest, ChangeParent) {
// Tests that we properly remove an extension's menu item when that extension is
// unloaded.
-TEST_F(ExtensionMenuManagerTest, ExtensionUnloadRemovesMenuItems) {
+TEST_F(MenuManagerTest, ExtensionUnloadRemovesMenuItems) {
content::NotificationService* notifier =
content::NotificationService::current();
ASSERT_TRUE(notifier != NULL);
@@ -345,26 +342,26 @@ TEST_F(ExtensionMenuManagerTest, ExtensionUnloadRemovesMenuItems) {
// Create a test extension.
Extension* extension1 = AddExtension("1111");
- // Create an ExtensionMenuItem and put it into the manager.
- ExtensionMenuItem* item1 = CreateTestItem(extension1);
- ExtensionMenuItem::Id id1 = item1->id();
+ // Create an MenuItem and put it into the manager.
+ MenuItem* item1 = CreateTestItem(extension1);
+ MenuItem::Id id1 = item1->id();
ASSERT_EQ(extension1->id(), item1->extension_id());
ASSERT_TRUE(manager_.AddContextItem(extension1, item1));
ASSERT_EQ(1u, manager_.MenuItems(extension1->id())->size());
// Create a menu item with a different extension id and add it to the manager.
Extension* extension2 = AddExtension("2222");
- ExtensionMenuItem* item2 = CreateTestItem(extension2);
+ MenuItem* item2 = CreateTestItem(extension2);
ASSERT_NE(item1->extension_id(), item2->extension_id());
ASSERT_TRUE(manager_.AddContextItem(extension2, item2));
// Notify that the extension was unloaded, and make sure the right item is
// gone.
- extensions::UnloadedExtensionInfo details(
+ UnloadedExtensionInfo details(
extension1, extension_misc::UNLOAD_REASON_DISABLE);
notifier->Notify(chrome::NOTIFICATION_EXTENSION_UNLOADED,
content::Source<Profile>(&profile_),
- content::Details<extensions::UnloadedExtensionInfo>(
+ content::Details<UnloadedExtensionInfo>(
&details));
ASSERT_EQ(NULL, manager_.MenuItems(extension1->id()));
ASSERT_EQ(1u, manager_.MenuItems(extension2->id())->size());
@@ -372,7 +369,7 @@ TEST_F(ExtensionMenuManagerTest, ExtensionUnloadRemovesMenuItems) {
ASSERT_TRUE(manager_.GetItemById(item2->id()) != NULL);
}
-// A mock message service for tests of ExtensionMenuManager::ExecuteCommand.
+// A mock message service for tests of MenuManager::ExecuteCommand.
class MockExtensionEventRouter : public ExtensionEventRouter {
public:
explicit MockExtensionEventRouter(Profile* profile) :
@@ -391,7 +388,7 @@ class MockExtensionEventRouter : public ExtensionEventRouter {
DISALLOW_COPY_AND_ASSIGN(MockExtensionEventRouter);
};
-// A mock profile for tests of ExtensionMenuManager::ExecuteCommand.
+// A mock profile for tests of MenuManager::ExecuteCommand.
class MockTestingProfile : public TestingProfile {
public:
MockTestingProfile() {}
@@ -402,22 +399,22 @@ class MockTestingProfile : public TestingProfile {
};
// Tests the RemoveAll functionality.
-TEST_F(ExtensionMenuManagerTest, RemoveAll) {
+TEST_F(MenuManagerTest, RemoveAll) {
// Try removing all items for an extension id that doesn't have any items.
manager_.RemoveAllContextItems("CCCC");
// Add 2 top-level and one child item for extension 1.
Extension* extension1 = AddExtension("1111");
- ExtensionMenuItem* item1 = CreateTestItem(extension1);
- ExtensionMenuItem* item2 = CreateTestItem(extension1);
- ExtensionMenuItem* item3 = CreateTestItem(extension1);
+ MenuItem* item1 = CreateTestItem(extension1);
+ MenuItem* item2 = CreateTestItem(extension1);
+ MenuItem* item3 = CreateTestItem(extension1);
ASSERT_TRUE(manager_.AddContextItem(extension1, item1));
ASSERT_TRUE(manager_.AddContextItem(extension1, item2));
ASSERT_TRUE(manager_.AddChildItem(item1->id(), item3));
// Add one top-level item for extension 2.
Extension* extension2 = AddExtension("2222");
- ExtensionMenuItem* item4 = CreateTestItem(extension2);
+ MenuItem* item4 = CreateTestItem(extension2);
ASSERT_TRUE(manager_.AddContextItem(extension2, item4));
EXPECT_EQ(2u, manager_.MenuItems(extension1->id())->size());
@@ -434,12 +431,12 @@ TEST_F(ExtensionMenuManagerTest, RemoveAll) {
}
// Tests that removing all items one-by-one doesn't leave an entry around.
-TEST_F(ExtensionMenuManagerTest, RemoveOneByOne) {
+TEST_F(MenuManagerTest, RemoveOneByOne) {
// Add 2 test items.
Extension* extension1 = AddExtension("1111");
- ExtensionMenuItem* item1 = CreateTestItem(extension1);
- ExtensionMenuItem* item2 = CreateTestItem(extension1);
- ExtensionMenuItem* item3 = CreateTestItemWithID(extension1, "id3");
+ MenuItem* item1 = CreateTestItem(extension1);
+ MenuItem* item2 = CreateTestItem(extension1);
+ MenuItem* item3 = CreateTestItemWithID(extension1, "id3");
ASSERT_TRUE(manager_.AddContextItem(extension1, item1));
ASSERT_TRUE(manager_.AddContextItem(extension1, item2));
ASSERT_TRUE(manager_.AddContextItem(extension1, item3));
@@ -453,7 +450,7 @@ TEST_F(ExtensionMenuManagerTest, RemoveOneByOne) {
ASSERT_TRUE(manager_.context_items_.empty());
}
-TEST_F(ExtensionMenuManagerTest, ExecuteCommand) {
+TEST_F(MenuManagerTest, ExecuteCommand) {
MockTestingProfile profile;
scoped_ptr<MockExtensionEventRouter> mock_event_router(
@@ -467,8 +464,8 @@ TEST_F(ExtensionMenuManagerTest, ExecuteCommand) {
params.is_editable = false;
Extension* extension = AddExtension("test");
- ExtensionMenuItem* item = CreateTestItem(extension);
- ExtensionMenuItem::Id id = item->id();
+ MenuItem* item = CreateTestItem(extension);
+ MenuItem::Id id = item->id();
ASSERT_TRUE(manager_.AddContextItem(extension, item));
EXPECT_CALL(profile, GetExtensionEventRouter())
@@ -538,13 +535,13 @@ TEST_F(ExtensionMenuManagerTest, ExecuteCommand) {
}
// Test that there is always only one radio item selected.
-TEST_F(ExtensionMenuManagerTest, SanitizeRadioButtons) {
+TEST_F(MenuManagerTest, SanitizeRadioButtons) {
Extension* extension = AddExtension("test");
// A single unchecked item should get checked
- ExtensionMenuItem* item1 = CreateTestItem(extension);
+ MenuItem* item1 = CreateTestItem(extension);
- item1->set_type(ExtensionMenuItem::RADIO);
+ item1->set_type(MenuItem::RADIO);
item1->SetChecked(false);
ASSERT_FALSE(item1->checked());
manager_.AddContextItem(extension, item1);
@@ -552,8 +549,8 @@ TEST_F(ExtensionMenuManagerTest, SanitizeRadioButtons) {
// In a run of two unchecked items, the first should get selected.
item1->SetChecked(false);
- ExtensionMenuItem* item2 = CreateTestItem(extension);
- item2->set_type(ExtensionMenuItem::RADIO);
+ MenuItem* item2 = CreateTestItem(extension);
+ item2->set_type(MenuItem::RADIO);
item2->SetChecked(false);
ASSERT_FALSE(item1->checked());
ASSERT_FALSE(item2->checked());
@@ -582,8 +579,8 @@ TEST_F(ExtensionMenuManagerTest, SanitizeRadioButtons) {
// If a checked item is added to a run that already has a checked item,
// then the new item should get checked.
item1->SetChecked(true);
- ExtensionMenuItem* new_item = CreateTestItem(extension);
- new_item->set_type(ExtensionMenuItem::RADIO);
+ MenuItem* new_item = CreateTestItem(extension);
+ new_item->set_type(MenuItem::RADIO);
new_item->SetChecked(true);
ASSERT_TRUE(item1->checked());
ASSERT_TRUE(new_item->checked());
@@ -591,13 +588,13 @@ TEST_F(ExtensionMenuManagerTest, SanitizeRadioButtons) {
ASSERT_FALSE(item1->checked());
ASSERT_TRUE(new_item->checked());
// Make sure that children are checked as well.
- ExtensionMenuItem* parent = CreateTestItem(extension);
+ MenuItem* parent = CreateTestItem(extension);
manager_.AddContextItem(extension, parent);
- ExtensionMenuItem* child1 = CreateTestItem(extension);
- child1->set_type(ExtensionMenuItem::RADIO);
+ MenuItem* child1 = CreateTestItem(extension);
+ child1->set_type(MenuItem::RADIO);
child1->SetChecked(false);
- ExtensionMenuItem* child2 = CreateTestItem(extension);
- child2->set_type(ExtensionMenuItem::RADIO);
+ MenuItem* child2 = CreateTestItem(extension);
+ child2->set_type(MenuItem::RADIO);
child2->SetChecked(true);
ASSERT_FALSE(child1->checked());
ASSERT_TRUE(child2->checked());
@@ -627,3 +624,5 @@ TEST_F(ExtensionMenuManagerTest, SanitizeRadioButtons) {
ASSERT_FALSE(new_item->checked());
ASSERT_TRUE(child1->checked());
}
+
+} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/menu_manager.cc ('k') | chrome/browser/tab_contents/render_view_context_menu.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698