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

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

Issue 11226037: Incognito-allowed package apps produce duplicate items in context menu (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fixed unittest Created 8 years, 2 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') | no next file » | 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/menu_manager_unittest.cc b/chrome/browser/extensions/menu_manager_unittest.cc
index fc6049da9564bd4745f44664bde84d9d1f01b964..a9aaef2e3d85a8fa7ff10a068a24dd743fc11d32 100644
--- a/chrome/browser/extensions/menu_manager_unittest.cc
+++ b/chrome/browser/extensions/menu_manager_unittest.cc
@@ -46,10 +46,10 @@ class MenuManagerTest : public testing::Test {
}
// Returns a test item.
- MenuItem* CreateTestItem(Extension* extension) {
+ MenuItem* CreateTestItem(Extension* extension, bool incognito = false) {
MenuItem::Type type = MenuItem::NORMAL;
MenuItem::ContextList contexts(MenuItem::ALL);
- MenuItem::Id id(false, extension->id());
+ MenuItem::Id id(incognito, extension->id());
id.uid = next_id_++;
return new MenuItem(id, "test", false, true, type, contexts);
}
@@ -691,4 +691,39 @@ TEST_F(MenuManagerTest, SanitizeRadioButtons) {
ASSERT_TRUE(child1->checked());
}
+// Tests the RemoveAllIncognitoContextItems functionality.
+TEST_F(MenuManagerTest, RemoveAllIncognito) {
+ Extension* extension1 = AddExtension("1111");
+ // Add 2 top-level and one child item for extension 1
+ // with incognito 'true'.
+ MenuItem* item1 = CreateTestItem(extension1, true);
+ MenuItem* item2 = CreateTestItem(extension1, true);
+ MenuItem* item3 = CreateTestItem(extension1, true);
+ ASSERT_TRUE(manager_.AddContextItem(extension1, item1));
+ ASSERT_TRUE(manager_.AddContextItem(extension1, item2));
+ ASSERT_TRUE(manager_.AddChildItem(item1->id(), item3));
+
+ // Add 2 top-level and one child item for extension 1
+ // with incognito 'false'.
+ MenuItem* item4 = CreateTestItem(extension1);
+ MenuItem* item5 = CreateTestItem(extension1);
+ MenuItem* item6 = CreateTestItem(extension1);
+ ASSERT_TRUE(manager_.AddContextItem(extension1, item4));
+ ASSERT_TRUE(manager_.AddContextItem(extension1, item5));
+ ASSERT_TRUE(manager_.AddChildItem(item4->id(), item6));
+
+ // Add one top-level item for extension 2.
+ Extension* extension2 = AddExtension("2222");
+ MenuItem* item7 = CreateTestItem(extension2);
+ ASSERT_TRUE(manager_.AddContextItem(extension2, item7));
+
+ EXPECT_EQ(4u, manager_.MenuItems(extension1->id())->size());
+ EXPECT_EQ(1u, manager_.MenuItems(extension2->id())->size());
+
+ // Remove all context menu items with incognito true.
+ manager_.RemoveAllIncognitoContextItems();
+ EXPECT_EQ(2u, manager_.MenuItems(extension1->id())->size());
+ EXPECT_EQ(1u, manager_.MenuItems(extension2->id())->size());
+}
+
} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/menu_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698