Index: chrome/browser/extensions/extension_context_menu_model_unittest.cc |
diff --git a/chrome/browser/extensions/extension_context_menu_model_unittest.cc b/chrome/browser/extensions/extension_context_menu_model_unittest.cc |
index 0ae2aa3f4973e52fa2c8b21057f1b06c8e81c5c6..0b46e2601d1f428764ba6e5ca99f672efc4c7d68 100644 |
--- a/chrome/browser/extensions/extension_context_menu_model_unittest.cc |
+++ b/chrome/browser/extensions/extension_context_menu_model_unittest.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/browser/extensions/extension_context_menu_model.h" |
+#include "base/strings/utf_string_conversions.h" |
#include "chrome/browser/extensions/api/extension_action/extension_action_api.h" |
#include "chrome/browser/extensions/extension_service.h" |
#include "chrome/browser/extensions/extension_service_test_base.h" |
@@ -31,6 +32,9 @@ namespace extensions { |
namespace { |
+// Label for test extension menu item. |
+const char* kTestExtensionItemLabel = "test-ext-item"; |
+ |
// Build an extension to pass to the menu constructor, with the an action |
// specified by |action_key|. |
scoped_refptr<const Extension> BuildExtension(const std::string& name, |
@@ -84,6 +88,8 @@ class ExtensionContextMenuModelTest : public ExtensionServiceTestBase { |
void RefreshMenu(ExtensionContextMenuModel* model); |
// Returns the number of extension menu items that show up in |model|. |
+ // For this test, all the extension items have samel label |
+ // |kTestExtensionItemLabel|. |
int CountExtensionItems(ExtensionContextMenuModel* model); |
private: |
@@ -104,24 +110,29 @@ void ExtensionContextMenuModelTest::AddContextItemAndRefreshModel( |
const MenuItem::ExtensionKey key(extension->id()); |
MenuItem::Id id(false, key); |
id.uid = ++cur_id_; |
- manager->AddContextItem(extension, |
- new MenuItem(id, |
- "test", |
- false, // checked |
- true, // enabled |
- type, |
- contexts)); |
+ manager->AddContextItem(extension, new MenuItem(id, kTestExtensionItemLabel, |
+ false, // checked |
+ true, // enabled |
+ type, contexts)); |
RefreshMenu(model); |
} |
void ExtensionContextMenuModelTest::RefreshMenu( |
ExtensionContextMenuModel* model) { |
+ model->Clear(); |
lazyboy
2015/05/08 22:53:39
This used to be a bug in the test.
|
model->InitMenu(model->GetExtension(), ExtensionContextMenuModel::VISIBLE); |
} |
int ExtensionContextMenuModelTest::CountExtensionItems( |
ExtensionContextMenuModel* model) { |
- return model->extension_items_count_; |
+ base::string16 expected_label = base::ASCIIToUTF16(kTestExtensionItemLabel); |
+ int num_items_found = 0; |
+ for (int i = 0; i < model->GetItemCount(); ++i) { |
+ if (expected_label == model->GetLabelAt(i)) |
+ ++num_items_found; |
+ } |
+ EXPECT_EQ(num_items_found, model->extension_items_count_); |
+ return num_items_found; |
} |
// Tests that applicable menu items are disabled when a ManagementPolicy |