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

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

Issue 1137733002: Fix an off-by-one error in checking # of action context menu items in (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add thorough test + git cl format Created 5 years, 7 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/context_menu_matcher.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/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
« no previous file with comments | « chrome/browser/extensions/context_menu_matcher.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698