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 |