| 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
|
|
|