Chromium Code Reviews| 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 |