| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/strings/utf_string_conversions.h" | 5 #include "base/strings/utf_string_conversions.h" |
| 6 #include "chrome/browser/ui/views/menu_test_base.h" | 6 #include "chrome/browser/ui/views/menu_test_base.h" |
| 7 #include "ui/views/controls/menu/menu_item_view.h" | 7 #include "ui/views/controls/menu/menu_item_view.h" |
| 8 #include "ui/views/controls/menu/submenu_view.h" | 8 #include "ui/views/controls/menu/submenu_view.h" |
| 9 | 9 |
| 10 using base::ASCIIToUTF16; | 10 using base::ASCIIToUTF16; |
| 11 | 11 |
| 12 // Simple test for clicking a menu item. This template class clicks on an | 12 // Simple test for clicking a menu item. This template class clicks on an |
| 13 // item and checks that the returned id matches. The index of the item | 13 // item and checks that the returned id matches. The index of the item |
| 14 // is the template argument. | 14 // is the template argument. |
| 15 template<int INDEX> | 15 template<int INDEX> |
| 16 class MenuItemViewTestBasic : public MenuTestBase { | 16 class MenuItemViewTestBasic : public MenuTestBase { |
| 17 public: | 17 public: |
| 18 MenuItemViewTestBasic() { | 18 MenuItemViewTestBasic() { |
| 19 } | 19 } |
| 20 | 20 |
| 21 virtual ~MenuItemViewTestBasic() { | 21 virtual ~MenuItemViewTestBasic() { |
| 22 } | 22 } |
| 23 | 23 |
| 24 // MenuTestBase implementation | 24 // MenuTestBase implementation |
| 25 virtual void BuildMenu(views::MenuItemView* menu) OVERRIDE { | 25 virtual void BuildMenu(views::MenuItemView* menu) override { |
| 26 menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); | 26 menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); |
| 27 menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); | 27 menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); |
| 28 menu->AppendSeparator(); | 28 menu->AppendSeparator(); |
| 29 menu->AppendMenuItemWithLabel(3, ASCIIToUTF16("item 3")); | 29 menu->AppendMenuItemWithLabel(3, ASCIIToUTF16("item 3")); |
| 30 } | 30 } |
| 31 | 31 |
| 32 // Click on item INDEX. | 32 // Click on item INDEX. |
| 33 virtual void DoTestWithMenuOpen() OVERRIDE { | 33 virtual void DoTestWithMenuOpen() override { |
| 34 views::SubmenuView* submenu = menu()->GetSubmenu(); | 34 views::SubmenuView* submenu = menu()->GetSubmenu(); |
| 35 ASSERT_TRUE(submenu); | 35 ASSERT_TRUE(submenu); |
| 36 ASSERT_TRUE(submenu->IsShowing()); | 36 ASSERT_TRUE(submenu->IsShowing()); |
| 37 ASSERT_EQ(3, submenu->GetMenuItemCount()); | 37 ASSERT_EQ(3, submenu->GetMenuItemCount()); |
| 38 | 38 |
| 39 // click an item and pass control to the next step | 39 // click an item and pass control to the next step |
| 40 views::MenuItemView* item = submenu->GetMenuItemAt(INDEX); | 40 views::MenuItemView* item = submenu->GetMenuItemAt(INDEX); |
| 41 ASSERT_TRUE(item); | 41 ASSERT_TRUE(item); |
| 42 Click(item, CreateEventTask(this, &MenuItemViewTestBasic::Step2)); | 42 Click(item, CreateEventTask(this, &MenuItemViewTestBasic::Step2)); |
| 43 } | 43 } |
| (...skipping 21 matching lines...) Expand all Loading... |
| 65 template<int INSERT_INDEX, int SELECT_INDEX> | 65 template<int INSERT_INDEX, int SELECT_INDEX> |
| 66 class MenuItemViewTestInsert : public MenuTestBase { | 66 class MenuItemViewTestInsert : public MenuTestBase { |
| 67 public: | 67 public: |
| 68 MenuItemViewTestInsert() : inserted_item_(NULL) { | 68 MenuItemViewTestInsert() : inserted_item_(NULL) { |
| 69 } | 69 } |
| 70 | 70 |
| 71 virtual ~MenuItemViewTestInsert() { | 71 virtual ~MenuItemViewTestInsert() { |
| 72 } | 72 } |
| 73 | 73 |
| 74 // MenuTestBase implementation | 74 // MenuTestBase implementation |
| 75 virtual void BuildMenu(views::MenuItemView* menu) OVERRIDE { | 75 virtual void BuildMenu(views::MenuItemView* menu) override { |
| 76 menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); | 76 menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); |
| 77 menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); | 77 menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); |
| 78 } | 78 } |
| 79 | 79 |
| 80 // Insert item at INSERT_INDEX and click item at SELECT_INDEX. | 80 // Insert item at INSERT_INDEX and click item at SELECT_INDEX. |
| 81 virtual void DoTestWithMenuOpen() OVERRIDE { | 81 virtual void DoTestWithMenuOpen() override { |
| 82 views::SubmenuView* submenu = menu()->GetSubmenu(); | 82 views::SubmenuView* submenu = menu()->GetSubmenu(); |
| 83 ASSERT_TRUE(submenu); | 83 ASSERT_TRUE(submenu); |
| 84 ASSERT_TRUE(submenu->IsShowing()); | 84 ASSERT_TRUE(submenu->IsShowing()); |
| 85 ASSERT_EQ(2, submenu->GetMenuItemCount()); | 85 ASSERT_EQ(2, submenu->GetMenuItemCount()); |
| 86 | 86 |
| 87 inserted_item_ = menu()->AddMenuItemAt(INSERT_INDEX, | 87 inserted_item_ = menu()->AddMenuItemAt(INSERT_INDEX, |
| 88 1000, | 88 1000, |
| 89 ASCIIToUTF16("inserted item"), | 89 ASCIIToUTF16("inserted item"), |
| 90 base::string16(), | 90 base::string16(), |
| 91 base::string16(), | 91 base::string16(), |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 public: | 147 public: |
| 148 MenuItemViewTestInsertWithSubmenu() : | 148 MenuItemViewTestInsertWithSubmenu() : |
| 149 submenu_(NULL), | 149 submenu_(NULL), |
| 150 inserted_item_(NULL) { | 150 inserted_item_(NULL) { |
| 151 } | 151 } |
| 152 | 152 |
| 153 virtual ~MenuItemViewTestInsertWithSubmenu() { | 153 virtual ~MenuItemViewTestInsertWithSubmenu() { |
| 154 } | 154 } |
| 155 | 155 |
| 156 // MenuTestBase implementation | 156 // MenuTestBase implementation |
| 157 virtual void BuildMenu(views::MenuItemView* menu) OVERRIDE { | 157 virtual void BuildMenu(views::MenuItemView* menu) override { |
| 158 submenu_ = menu->AppendSubMenu(1, ASCIIToUTF16("My Submenu")); | 158 submenu_ = menu->AppendSubMenu(1, ASCIIToUTF16("My Submenu")); |
| 159 submenu_->AppendMenuItemWithLabel(101, ASCIIToUTF16("submenu item 1")); | 159 submenu_->AppendMenuItemWithLabel(101, ASCIIToUTF16("submenu item 1")); |
| 160 submenu_->AppendMenuItemWithLabel(101, ASCIIToUTF16("submenu item 2")); | 160 submenu_->AppendMenuItemWithLabel(101, ASCIIToUTF16("submenu item 2")); |
| 161 menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); | 161 menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); |
| 162 } | 162 } |
| 163 | 163 |
| 164 // Post submenu. | 164 // Post submenu. |
| 165 virtual void DoTestWithMenuOpen() OVERRIDE { | 165 virtual void DoTestWithMenuOpen() override { |
| 166 Click(submenu_, | 166 Click(submenu_, |
| 167 CreateEventTask(this, &MenuItemViewTestInsertWithSubmenu::Step2)); | 167 CreateEventTask(this, &MenuItemViewTestInsertWithSubmenu::Step2)); |
| 168 } | 168 } |
| 169 | 169 |
| 170 // Insert item at INSERT_INDEX. | 170 // Insert item at INSERT_INDEX. |
| 171 void Step2() { | 171 void Step2() { |
| 172 inserted_item_ = menu()->AddMenuItemAt(INSERT_INDEX, | 172 inserted_item_ = menu()->AddMenuItemAt(INSERT_INDEX, |
| 173 1000, | 173 1000, |
| 174 ASCIIToUTF16("inserted item"), | 174 ASCIIToUTF16("inserted item"), |
| 175 base::string16(), | 175 base::string16(), |
| (...skipping 30 matching lines...) Expand all Loading... |
| 206 template<int REMOVE_INDEX, int SELECT_INDEX> | 206 template<int REMOVE_INDEX, int SELECT_INDEX> |
| 207 class MenuItemViewTestRemove : public MenuTestBase { | 207 class MenuItemViewTestRemove : public MenuTestBase { |
| 208 public: | 208 public: |
| 209 MenuItemViewTestRemove() { | 209 MenuItemViewTestRemove() { |
| 210 } | 210 } |
| 211 | 211 |
| 212 virtual ~MenuItemViewTestRemove() { | 212 virtual ~MenuItemViewTestRemove() { |
| 213 } | 213 } |
| 214 | 214 |
| 215 // MenuTestBase implementation | 215 // MenuTestBase implementation |
| 216 virtual void BuildMenu(views::MenuItemView* menu) OVERRIDE { | 216 virtual void BuildMenu(views::MenuItemView* menu) override { |
| 217 menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); | 217 menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); |
| 218 menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); | 218 menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); |
| 219 menu->AppendMenuItemWithLabel(3, ASCIIToUTF16("item 3")); | 219 menu->AppendMenuItemWithLabel(3, ASCIIToUTF16("item 3")); |
| 220 } | 220 } |
| 221 | 221 |
| 222 // Remove item at REMOVE_INDEX and click item at SELECT_INDEX. | 222 // Remove item at REMOVE_INDEX and click item at SELECT_INDEX. |
| 223 virtual void DoTestWithMenuOpen() OVERRIDE { | 223 virtual void DoTestWithMenuOpen() override { |
| 224 views::SubmenuView* submenu = menu()->GetSubmenu(); | 224 views::SubmenuView* submenu = menu()->GetSubmenu(); |
| 225 ASSERT_TRUE(submenu); | 225 ASSERT_TRUE(submenu); |
| 226 ASSERT_TRUE(submenu->IsShowing()); | 226 ASSERT_TRUE(submenu->IsShowing()); |
| 227 ASSERT_EQ(3, submenu->GetMenuItemCount()); | 227 ASSERT_EQ(3, submenu->GetMenuItemCount()); |
| 228 | 228 |
| 229 // remove | 229 // remove |
| 230 menu()->RemoveMenuItemAt(REMOVE_INDEX); | 230 menu()->RemoveMenuItemAt(REMOVE_INDEX); |
| 231 menu()->ChildrenChanged(); | 231 menu()->ChildrenChanged(); |
| 232 | 232 |
| 233 // click | 233 // click |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 template<int REMOVE_INDEX> | 272 template<int REMOVE_INDEX> |
| 273 class MenuItemViewTestRemoveWithSubmenu : public MenuTestBase { | 273 class MenuItemViewTestRemoveWithSubmenu : public MenuTestBase { |
| 274 public: | 274 public: |
| 275 MenuItemViewTestRemoveWithSubmenu() : submenu_(NULL) { | 275 MenuItemViewTestRemoveWithSubmenu() : submenu_(NULL) { |
| 276 } | 276 } |
| 277 | 277 |
| 278 virtual ~MenuItemViewTestRemoveWithSubmenu() { | 278 virtual ~MenuItemViewTestRemoveWithSubmenu() { |
| 279 } | 279 } |
| 280 | 280 |
| 281 // MenuTestBase implementation | 281 // MenuTestBase implementation |
| 282 virtual void BuildMenu(views::MenuItemView* menu) OVERRIDE { | 282 virtual void BuildMenu(views::MenuItemView* menu) override { |
| 283 menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); | 283 menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); |
| 284 submenu_ = menu->AppendSubMenu(2, ASCIIToUTF16("My Submenu")); | 284 submenu_ = menu->AppendSubMenu(2, ASCIIToUTF16("My Submenu")); |
| 285 submenu_->AppendMenuItemWithLabel(101, ASCIIToUTF16("submenu item 1")); | 285 submenu_->AppendMenuItemWithLabel(101, ASCIIToUTF16("submenu item 1")); |
| 286 submenu_->AppendMenuItemWithLabel(102, ASCIIToUTF16("submenu item 2")); | 286 submenu_->AppendMenuItemWithLabel(102, ASCIIToUTF16("submenu item 2")); |
| 287 } | 287 } |
| 288 | 288 |
| 289 // Post submenu. | 289 // Post submenu. |
| 290 virtual void DoTestWithMenuOpen() OVERRIDE { | 290 virtual void DoTestWithMenuOpen() override { |
| 291 views::SubmenuView* submenu = menu()->GetSubmenu(); | 291 views::SubmenuView* submenu = menu()->GetSubmenu(); |
| 292 ASSERT_TRUE(submenu); | 292 ASSERT_TRUE(submenu); |
| 293 ASSERT_TRUE(submenu->IsShowing()); | 293 ASSERT_TRUE(submenu->IsShowing()); |
| 294 | 294 |
| 295 Click(submenu_, | 295 Click(submenu_, |
| 296 CreateEventTask(this, &MenuItemViewTestRemoveWithSubmenu::Step2)); | 296 CreateEventTask(this, &MenuItemViewTestRemoveWithSubmenu::Step2)); |
| 297 } | 297 } |
| 298 | 298 |
| 299 // Remove item at REMOVE_INDEX and press escape to exit the menu loop. | 299 // Remove item at REMOVE_INDEX and press escape to exit the menu loop. |
| 300 void Step2() { | 300 void Step2() { |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 334 // ozone bringup - http://crbug.com/401304 | 334 // ozone bringup - http://crbug.com/401304 |
| 335 #define MAYBE_RemoveItemWithSubmenu0 DISABLED_RemoveItemWithSubmenu0 | 335 #define MAYBE_RemoveItemWithSubmenu0 DISABLED_RemoveItemWithSubmenu0 |
| 336 #define MAYBE_RemoveItemWithSubmenu1 DISABLED_RemoveItemWithSubmenu1 | 336 #define MAYBE_RemoveItemWithSubmenu1 DISABLED_RemoveItemWithSubmenu1 |
| 337 #else | 337 #else |
| 338 #define MAYBE_RemoveItemWithSubmenu0 RemoveItemWithSubmenu0 | 338 #define MAYBE_RemoveItemWithSubmenu0 RemoveItemWithSubmenu0 |
| 339 #define MAYBE_RemoveItemWithSubmenu1 RemoveItemWithSubmenu1 | 339 #define MAYBE_RemoveItemWithSubmenu1 RemoveItemWithSubmenu1 |
| 340 #endif | 340 #endif |
| 341 | 341 |
| 342 VIEW_TEST(MenuItemViewTestRemoveWithSubmenu0, MAYBE_RemoveItemWithSubmenu0) | 342 VIEW_TEST(MenuItemViewTestRemoveWithSubmenu0, MAYBE_RemoveItemWithSubmenu0) |
| 343 VIEW_TEST(MenuItemViewTestRemoveWithSubmenu1, MAYBE_RemoveItemWithSubmenu1) | 343 VIEW_TEST(MenuItemViewTestRemoveWithSubmenu1, MAYBE_RemoveItemWithSubmenu1) |
| OLD | NEW |