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

Unified Diff: ui/base/accelerators/accelerator_manager_unittest.cc

Issue 2586333003: Make mash register initial batch of accelerators in single shot. (Closed)
Patch Set: Fix comments. Move inline function to .h Created 3 years, 11 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 | « ui/base/accelerators/accelerator_manager_delegate.h ('k') | ui/views/focus/focus_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/accelerators/accelerator_manager_unittest.cc
diff --git a/ui/base/accelerators/accelerator_manager_unittest.cc b/ui/base/accelerators/accelerator_manager_unittest.cc
index 5383403be6799c3ebcd0900b668ef3a47f622eea..50e8841c4d6c27d22213d59bf89eedf8c7a9f314 100644
--- a/ui/base/accelerators/accelerator_manager_unittest.cc
+++ b/ui/base/accelerators/accelerator_manager_unittest.cc
@@ -71,8 +71,9 @@ int BuildAcceleratorModifier(int id) {
// AcceleratorManagerDelegate implementation that records calls to interface
// using the following format.
-// . OnAcceleratorRegistered() -> 'Register ' + id
-// . OnAcceleratorRegistered() -> 'Unregister' + id
+// . OnAcceleratorsRegistered() -> A list of "'Register ' + <id>" separated by
+// whitespaces.
+// . OnAcceleratorUnregistered() -> 'Unregister' + id
// where the id is specified using SetIdForAccelerator().
class TestAcceleratorManagerDelegate : public AcceleratorManagerDelegate {
public:
@@ -91,10 +92,13 @@ class TestAcceleratorManagerDelegate : public AcceleratorManagerDelegate {
}
// AcceleratorManagerDelegate:
- void OnAcceleratorRegistered(const Accelerator& accelerator) override {
- if (!commands_.empty())
- commands_ += " ";
- commands_ += "Register " + accelerator_to_id_[accelerator];
+ void OnAcceleratorsRegistered(
+ const std::vector<Accelerator>& accelerators) override {
+ for (const Accelerator& accelerator : accelerators) {
+ if (!commands_.empty())
+ commands_ += " ";
+ commands_ += "Register " + accelerator_to_id_[accelerator];
+ }
}
void OnAcceleratorUnregistered(const Accelerator& accelerator) override {
if (!commands_.empty())
@@ -122,27 +126,42 @@ class AcceleratorManagerTest : public testing::Test {
};
TEST_F(AcceleratorManagerTest, Register) {
- const Accelerator accelerator_a(VKEY_A, EF_NONE);
TestTarget target;
+ const Accelerator accelerator_a(VKEY_A, EF_NONE);
delegate_.SetIdForAccelerator(accelerator_a, "a");
- manager_.Register(accelerator_a, AcceleratorManager::kNormalPriority,
- &target);
- EXPECT_EQ("Register a", delegate_.GetAndClearCommands());
- // The registered accelerator is processed.
+ const Accelerator accelerator_b(VKEY_B, EF_NONE);
+ delegate_.SetIdForAccelerator(accelerator_b, "b");
+
+ const Accelerator accelerator_c(VKEY_C, EF_NONE);
+ delegate_.SetIdForAccelerator(accelerator_c, "c");
+
+ const Accelerator accelerator_d(VKEY_D, EF_NONE);
+ delegate_.SetIdForAccelerator(accelerator_d, "d");
+
+ manager_.Register(
+ {accelerator_a, accelerator_b, accelerator_c, accelerator_d},
+ AcceleratorManager::kNormalPriority, &target);
+ EXPECT_EQ("Register a Register b Register c Register d",
+ delegate_.GetAndClearCommands());
+
+ // The registered accelerators are processed.
EXPECT_TRUE(manager_.Process(accelerator_a));
- EXPECT_EQ(1, target.accelerator_pressed_count());
+ EXPECT_TRUE(manager_.Process(accelerator_b));
+ EXPECT_TRUE(manager_.Process(accelerator_c));
+ EXPECT_TRUE(manager_.Process(accelerator_d));
+ EXPECT_EQ(4, target.accelerator_pressed_count());
}
TEST_F(AcceleratorManagerTest, RegisterMultipleTarget) {
const Accelerator accelerator_a(VKEY_A, EF_NONE);
delegate_.SetIdForAccelerator(accelerator_a, "a");
TestTarget target1;
- manager_.Register(accelerator_a, AcceleratorManager::kNormalPriority,
+ manager_.Register({accelerator_a}, AcceleratorManager::kNormalPriority,
&target1);
EXPECT_EQ("Register a", delegate_.GetAndClearCommands());
TestTarget target2;
- manager_.Register(accelerator_a, AcceleratorManager::kNormalPriority,
+ manager_.Register({accelerator_a}, AcceleratorManager::kNormalPriority,
&target2);
// Registering the same command shouldn't notify the delegate.
EXPECT_TRUE(delegate_.GetAndClearCommands().empty());
@@ -158,14 +177,11 @@ TEST_F(AcceleratorManagerTest, Unregister) {
const Accelerator accelerator_a(VKEY_A, EF_NONE);
delegate_.SetIdForAccelerator(accelerator_a, "a");
TestTarget target;
- manager_.Register(accelerator_a, AcceleratorManager::kNormalPriority,
- &target);
- EXPECT_EQ("Register a", delegate_.GetAndClearCommands());
const Accelerator accelerator_b(VKEY_B, EF_NONE);
delegate_.SetIdForAccelerator(accelerator_b, "b");
- manager_.Register(accelerator_b, AcceleratorManager::kNormalPriority,
- &target);
- EXPECT_EQ("Register b", delegate_.GetAndClearCommands());
+ manager_.Register({accelerator_a, accelerator_b},
+ AcceleratorManager::kNormalPriority, &target);
+ EXPECT_EQ("Register a Register b", delegate_.GetAndClearCommands());
// Unregistering a different accelerator does not affect the other
// accelerator.
@@ -186,16 +202,14 @@ TEST_F(AcceleratorManagerTest, UnregisterAll) {
const Accelerator accelerator_a(VKEY_A, EF_NONE);
delegate_.SetIdForAccelerator(accelerator_a, "a");
TestTarget target1;
- manager_.Register(accelerator_a, AcceleratorManager::kNormalPriority,
- &target1);
const Accelerator accelerator_b(VKEY_B, EF_NONE);
delegate_.SetIdForAccelerator(accelerator_b, "b");
- manager_.Register(accelerator_b, AcceleratorManager::kNormalPriority,
- &target1);
+ manager_.Register({accelerator_a, accelerator_b},
+ AcceleratorManager::kNormalPriority, &target1);
const Accelerator accelerator_c(VKEY_C, EF_NONE);
delegate_.SetIdForAccelerator(accelerator_c, "c");
TestTarget target2;
- manager_.Register(accelerator_c, AcceleratorManager::kNormalPriority,
+ manager_.Register({accelerator_c}, AcceleratorManager::kNormalPriority,
&target2);
EXPECT_EQ("Register a Register b Register c",
delegate_.GetAndClearCommands());
@@ -224,7 +238,7 @@ TEST_F(AcceleratorManagerTest, Process) {
for (size_t i = 0; i < (1 << arraysize(kAcceleratorModifiers)); ++i) {
const int modifiers = BuildAcceleratorModifier(i);
Accelerator accelerator(GetAccelerator(VKEY_A, modifiers));
- manager_.Register(accelerator, AcceleratorManager::kNormalPriority,
+ manager_.Register({accelerator}, AcceleratorManager::kNormalPriority,
&target);
// The registered accelerator is processed.
@@ -267,12 +281,12 @@ TEST_F(AcceleratorManagerTest, Reregister) {
const Accelerator accelerator_a(VKEY_A, EF_NONE);
TestTarget target;
delegate_.SetIdForAccelerator(accelerator_a, "a");
- manager_.Register(accelerator_a, AcceleratorManager::kNormalPriority,
+ manager_.Register({accelerator_a}, AcceleratorManager::kNormalPriority,
&target);
EXPECT_EQ("Register a", delegate_.GetAndClearCommands());
manager_.UnregisterAll(&target);
EXPECT_EQ("Unregister a", delegate_.GetAndClearCommands());
- manager_.Register(accelerator_a, AcceleratorManager::kNormalPriority,
+ manager_.Register({accelerator_a}, AcceleratorManager::kNormalPriority,
&target);
EXPECT_EQ("Register a", delegate_.GetAndClearCommands());
}
« no previous file with comments | « ui/base/accelerators/accelerator_manager_delegate.h ('k') | ui/views/focus/focus_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698