| 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..9c1a01139aaacf1f795625776bbd960da77ae144 100644
|
| --- a/ui/base/accelerators/accelerator_manager_unittest.cc
|
| +++ b/ui/base/accelerators/accelerator_manager_unittest.cc
|
| @@ -96,12 +96,19 @@ class TestAcceleratorManagerDelegate : public AcceleratorManagerDelegate {
|
| commands_ += " ";
|
| commands_ += "Register " + accelerator_to_id_[accelerator];
|
| }
|
| +
|
| void OnAcceleratorUnregistered(const Accelerator& accelerator) override {
|
| if (!commands_.empty())
|
| commands_ += " ";
|
| commands_ += "Unregister " + accelerator_to_id_[accelerator];
|
| }
|
|
|
| + void OnAcceleratorsRegistered(
|
| + const std::vector<ui::Accelerator>& accelerators) override {
|
| + for (auto iter = accelerators.begin(); iter != accelerators.end(); ++iter)
|
| + OnAcceleratorRegistered(*iter);
|
| + }
|
| +
|
| private:
|
| std::map<Accelerator, std::string> accelerator_to_id_;
|
| std::string commands_;
|
| @@ -125,8 +132,8 @@ TEST_F(AcceleratorManagerTest, Register) {
|
| const Accelerator accelerator_a(VKEY_A, EF_NONE);
|
| TestTarget target;
|
| delegate_.SetIdForAccelerator(accelerator_a, "a");
|
| - manager_.Register(accelerator_a, AcceleratorManager::kNormalPriority,
|
| - &target);
|
| + const std::vector<ui::Accelerator>& accelerators = {accelerator_a};
|
| + manager_.Register(accelerators, AcceleratorManager::kNormalPriority, &target);
|
| EXPECT_EQ("Register a", delegate_.GetAndClearCommands());
|
|
|
| // The registered accelerator is processed.
|
| @@ -138,11 +145,12 @@ 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,
|
| + const std::vector<ui::Accelerator>& accelerators = {accelerator_a};
|
| + manager_.Register(accelerators, AcceleratorManager::kNormalPriority,
|
| &target1);
|
| EXPECT_EQ("Register a", delegate_.GetAndClearCommands());
|
| TestTarget target2;
|
| - manager_.Register(accelerator_a, AcceleratorManager::kNormalPriority,
|
| + manager_.Register(accelerators, AcceleratorManager::kNormalPriority,
|
| &target2);
|
| // Registering the same command shouldn't notify the delegate.
|
| EXPECT_TRUE(delegate_.GetAndClearCommands().empty());
|
| @@ -158,14 +166,16 @@ 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());
|
| +
|
| + const std::vector<ui::Accelerator>& accelerators = {accelerator_a,
|
| + accelerator_b};
|
| +
|
| + manager_.Register(accelerators, AcceleratorManager::kNormalPriority, &target);
|
| +
|
| + EXPECT_EQ("Register a Register b", delegate_.GetAndClearCommands());
|
|
|
| // Unregistering a different accelerator does not affect the other
|
| // accelerator.
|
| @@ -186,17 +196,25 @@ 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,
|
| +
|
| + const std::vector<ui::Accelerator>& accelerators = {accelerator_a,
|
| + accelerator_b};
|
| +
|
| + manager_.Register(accelerators, AcceleratorManager::kNormalPriority,
|
| &target1);
|
| +
|
| const Accelerator accelerator_c(VKEY_C, EF_NONE);
|
| delegate_.SetIdForAccelerator(accelerator_c, "c");
|
| +
|
| + const std::vector<ui::Accelerator>& accelerators_2 = {accelerator_c};
|
| +
|
| TestTarget target2;
|
| - manager_.Register(accelerator_c, AcceleratorManager::kNormalPriority,
|
| + manager_.Register(accelerators_2, AcceleratorManager::kNormalPriority,
|
| &target2);
|
| +
|
| EXPECT_EQ("Register a Register b Register c",
|
| delegate_.GetAndClearCommands());
|
| manager_.UnregisterAll(&target1);
|
| @@ -224,7 +242,8 @@ 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,
|
| + const std::vector<ui::Accelerator>& accelerators = {accelerator};
|
| + manager_.Register(accelerators, AcceleratorManager::kNormalPriority,
|
| &target);
|
|
|
| // The registered accelerator is processed.
|
| @@ -267,13 +286,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,
|
| - &target);
|
| + const std::vector<ui::Accelerator>& accelerators = {accelerator_a};
|
| + manager_.Register(accelerators, AcceleratorManager::kNormalPriority, &target);
|
| EXPECT_EQ("Register a", delegate_.GetAndClearCommands());
|
| manager_.UnregisterAll(&target);
|
| EXPECT_EQ("Unregister a", delegate_.GetAndClearCommands());
|
| - manager_.Register(accelerator_a, AcceleratorManager::kNormalPriority,
|
| - &target);
|
| + manager_.Register(accelerators, AcceleratorManager::kNormalPriority, &target);
|
| EXPECT_EQ("Register a", delegate_.GetAndClearCommands());
|
| }
|
|
|
|
|