OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 #import "ui/base/ios/cru_context_menu_controller.h" | 5 #import "ios/chrome/browser/ui/context_menu/context_menu_controller.h" |
6 | 6 |
7 #import <UIKit/UIKit.h> | 7 #import <UIKit/UIKit.h> |
8 | 8 |
9 #include "base/mac/scoped_nsobject.h" | 9 #include "base/mac/scoped_nsobject.h" |
| 10 #import "ios/chrome/browser/ui/context_menu/context_menu_holder.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
11 #include "testing/platform_test.h" | 12 #include "testing/platform_test.h" |
12 #import "ui/base/ios/cru_context_menu_holder.h" | |
13 | 13 |
14 namespace { | 14 namespace { |
15 | 15 |
16 class ContextMenuControllerTest : public PlatformTest { | 16 class ContextMenuControllerTest : public PlatformTest { |
17 public: | 17 public: |
18 ContextMenuControllerTest() { } | 18 ContextMenuControllerTest() { |
19 | 19 _menuController.reset([[ContextMenuController alloc] init]); |
20 void SetUp() override { | |
21 _menuController.reset([[CRUContextMenuController alloc] init]); | |
22 _window.reset( | 20 _window.reset( |
23 [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]); | 21 [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]); |
24 [_window makeKeyAndVisible]; | 22 [_window makeKeyAndVisible]; |
25 } | 23 } |
26 | 24 |
27 protected: | 25 protected: |
28 base::scoped_nsobject<CRUContextMenuController> _menuController; | 26 base::scoped_nsobject<ContextMenuController> _menuController; |
29 base::scoped_nsobject<UIWindow> _window; | 27 base::scoped_nsobject<UIWindow> _window; |
30 }; | 28 }; |
31 | 29 |
32 TEST_F(ContextMenuControllerTest, OneEntry) { | 30 TEST_F(ContextMenuControllerTest, OneEntry) { |
33 base::scoped_nsobject<CRUContextMenuHolder> holder( | 31 base::scoped_nsobject<ContextMenuHolder> holder( |
34 [[CRUContextMenuHolder alloc] init]); | 32 [[ContextMenuHolder alloc] init]); |
35 BOOL clicked = NO; | 33 BOOL clicked = NO; |
36 BOOL* clickedPtr = &clicked; | 34 BOOL* clickedPtr = &clicked; |
37 | 35 |
38 [holder appendItemWithTitle:@"foo" action:^{ *clickedPtr = YES; }]; | 36 [holder appendItemWithTitle:@"foo" action:^{ |
| 37 *clickedPtr = YES; |
| 38 }]; |
39 [holder setMenuTitle:@"FooTitle"]; | 39 [holder setMenuTitle:@"FooTitle"]; |
40 | 40 |
41 [_menuController showWithHolder:holder atPoint:CGPointZero inView:_window]; | 41 [_menuController showWithHolder:holder atPoint:CGPointZero inView:_window]; |
42 | 42 |
43 EXPECT_TRUE([_menuController isVisible]); | 43 EXPECT_TRUE([_menuController isVisible]); |
44 } | 44 } |
45 | 45 |
46 TEST_F(ContextMenuControllerTest, ShouldDismissImmediately) { | 46 TEST_F(ContextMenuControllerTest, ShouldDismissImmediately) { |
47 base::scoped_nsobject<CRUContextMenuHolder> holder( | 47 base::scoped_nsobject<ContextMenuHolder> holder( |
48 [[CRUContextMenuHolder alloc] init]); | 48 [[ContextMenuHolder alloc] init]); |
49 [holder appendItemWithTitle:@"foo" action:^{}]; | 49 [holder appendItemWithTitle:@"foo" action:^{}]; |
50 [holder appendItemWithTitle:@"bar" action:^{} dismissImmediately:YES]; | 50 [holder appendItemWithTitle:@"bar" action:^{} dismissImmediately:YES]; |
51 [holder appendItemWithTitle:@"baz" action:^{} dismissImmediately:NO]; | 51 [holder appendItemWithTitle:@"baz" action:^{} dismissImmediately:NO]; |
52 | 52 |
53 EXPECT_FALSE([holder shouldDismissImmediatelyOnClickedAtIndex:0]); | 53 EXPECT_FALSE([holder shouldDismissImmediatelyOnClickedAtIndex:0]); |
54 EXPECT_TRUE([holder shouldDismissImmediatelyOnClickedAtIndex:1]); | 54 EXPECT_TRUE([holder shouldDismissImmediatelyOnClickedAtIndex:1]); |
55 EXPECT_FALSE([holder shouldDismissImmediatelyOnClickedAtIndex:2]); | 55 EXPECT_FALSE([holder shouldDismissImmediatelyOnClickedAtIndex:2]); |
56 } | 56 } |
57 | 57 |
58 } // namespace | 58 } // namespace |
OLD | NEW |