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 |
20 void SetUp() override { | 20 void SetUp() override { |
21 _menuController.reset([[CRUContextMenuController alloc] init]); | 21 _menuController.reset([[ContextMenuController alloc] init]); |
sdefresne
2016/04/18 08:47:29
Another buggy test that forgot to call "PlaformTes
Jackie Quinn
2016/04/19 14:24:27
No problem, done!
| |
22 _window.reset( | 22 _window.reset( |
23 [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]); | 23 [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]); |
24 [_window makeKeyAndVisible]; | 24 [_window makeKeyAndVisible]; |
25 } | 25 } |
26 | 26 |
27 protected: | 27 protected: |
28 base::scoped_nsobject<CRUContextMenuController> _menuController; | 28 base::scoped_nsobject<ContextMenuController> _menuController; |
29 base::scoped_nsobject<UIWindow> _window; | 29 base::scoped_nsobject<UIWindow> _window; |
30 }; | 30 }; |
31 | 31 |
32 TEST_F(ContextMenuControllerTest, OneEntry) { | 32 TEST_F(ContextMenuControllerTest, OneEntry) { |
33 base::scoped_nsobject<CRUContextMenuHolder> holder( | 33 base::scoped_nsobject<ContextMenuHolder> holder( |
34 [[CRUContextMenuHolder alloc] init]); | 34 [[ContextMenuHolder alloc] init]); |
35 BOOL clicked = NO; | 35 BOOL clicked = NO; |
36 BOOL* clickedPtr = &clicked; | 36 BOOL* clickedPtr = &clicked; |
37 | 37 |
38 [holder appendItemWithTitle:@"foo" action:^{ *clickedPtr = YES; }]; | 38 [holder appendItemWithTitle:@"foo" action:^{ |
39 *clickedPtr = YES; | |
40 }]; | |
39 [holder setMenuTitle:@"FooTitle"]; | 41 [holder setMenuTitle:@"FooTitle"]; |
40 | 42 |
41 [_menuController showWithHolder:holder atPoint:CGPointZero inView:_window]; | 43 [_menuController showWithHolder:holder atPoint:CGPointZero inView:_window]; |
42 | 44 |
43 EXPECT_TRUE([_menuController isVisible]); | 45 EXPECT_TRUE([_menuController isVisible]); |
44 } | 46 } |
45 | 47 |
46 TEST_F(ContextMenuControllerTest, ShouldDismissImmediately) { | 48 TEST_F(ContextMenuControllerTest, ShouldDismissImmediately) { |
47 base::scoped_nsobject<CRUContextMenuHolder> holder( | 49 base::scoped_nsobject<ContextMenuHolder> holder( |
48 [[CRUContextMenuHolder alloc] init]); | 50 [[ContextMenuHolder alloc] init]); |
49 [holder appendItemWithTitle:@"foo" action:^{}]; | 51 [holder appendItemWithTitle:@"foo" action:^{}]; |
50 [holder appendItemWithTitle:@"bar" action:^{} dismissImmediately:YES]; | 52 [holder appendItemWithTitle:@"bar" action:^{} dismissImmediately:YES]; |
51 [holder appendItemWithTitle:@"baz" action:^{} dismissImmediately:NO]; | 53 [holder appendItemWithTitle:@"baz" action:^{} dismissImmediately:NO]; |
52 | 54 |
53 EXPECT_FALSE([holder shouldDismissImmediatelyOnClickedAtIndex:0]); | 55 EXPECT_FALSE([holder shouldDismissImmediatelyOnClickedAtIndex:0]); |
54 EXPECT_TRUE([holder shouldDismissImmediatelyOnClickedAtIndex:1]); | 56 EXPECT_TRUE([holder shouldDismissImmediatelyOnClickedAtIndex:1]); |
55 EXPECT_FALSE([holder shouldDismissImmediatelyOnClickedAtIndex:2]); | 57 EXPECT_FALSE([holder shouldDismissImmediatelyOnClickedAtIndex:2]); |
56 } | 58 } |
57 | 59 |
58 } // namespace | 60 } // namespace |
OLD | NEW |