| Index: ios/chrome/browser/ui/fullscreen_controller_unittest.mm
|
| diff --git a/ios/chrome/browser/ui/fullscreen_controller_unittest.mm b/ios/chrome/browser/ui/fullscreen_controller_unittest.mm
|
| index 854a15bd8b3c9a60ef550c0d9e9abb71dc244fcb..4e179c5d3b3b11aec79c118c16a157309d945b51 100644
|
| --- a/ios/chrome/browser/ui/fullscreen_controller_unittest.mm
|
| +++ b/ios/chrome/browser/ui/fullscreen_controller_unittest.mm
|
| @@ -4,7 +4,6 @@
|
|
|
| #import "ios/chrome/browser/ui/fullscreen_controller.h"
|
|
|
| -#include "base/mac/scoped_nsobject.h"
|
| #import "ios/web/public/test/fakes/test_web_view_content_view.h"
|
| #import "ios/web/public/web_state/ui/crw_web_view_content_view.h"
|
| #import "ios/web/public/web_state/ui/crw_web_view_scroll_view_proxy.h"
|
| @@ -14,6 +13,10 @@
|
| #import "third_party/ocmock/OCMock/OCMock.h"
|
| #include "third_party/ocmock/ocmock_extensions.h"
|
|
|
| +#if !defined(__has_feature) || !__has_feature(objc_arc)
|
| +#error "This file requires ARC support."
|
| +#endif
|
| +
|
| namespace {
|
|
|
| CGFloat kContentHeight = 5000.0;
|
| @@ -77,43 +80,42 @@ class FullscreenControllerTest : public PlatformTest {
|
| CGRect frame = CGRectMake(0.0, 0.0, 300.0, 900.0);
|
| PlatformTest::SetUp();
|
|
|
| - scrollview_.reset([[UIScrollView alloc] initWithFrame:frame]);
|
| - scrollview_.get().contentInset = UIEdgeInsetsZero;
|
| + scrollview_ = [[UIScrollView alloc] initWithFrame:frame];
|
| + scrollview_.contentInset = UIEdgeInsetsZero;
|
| [GetWindow() addSubview:scrollview_];
|
|
|
| CGRect contentSize = CGRectMake(0.0, 0.0, frame.size.width, kContentHeight);
|
| - scrollview_.get().contentSize = contentSize.size;
|
| - mockWebController_.reset(
|
| - [[OCMockObject niceMockForClass:[CRWWebController class]] retain]);
|
| - mockDelegate_.reset([[MockFullScreenControllerDelegate alloc] init]);
|
| - mockWebView_.reset([[UIView alloc] init]);
|
| - mockContentView_.reset([[TestWebViewContentView alloc]
|
| - initWithMockWebView:mockWebView_
|
| - scrollView:scrollview_]);
|
| - webViewProxy_.reset(
|
| - [[CRWWebViewProxyImpl alloc] initWithWebController:mockWebController_]);
|
| + scrollview_.contentSize = contentSize.size;
|
| + mockWebController_ =
|
| + [OCMockObject niceMockForClass:[CRWWebController class]];
|
| + mockDelegate_ = [[MockFullScreenControllerDelegate alloc] init];
|
| + mockWebView_ = [[UIView alloc] init];
|
| + mockContentView_ =
|
| + [[TestWebViewContentView alloc] initWithMockWebView:mockWebView_
|
| + scrollView:scrollview_];
|
| + webViewProxy_ =
|
| + [[CRWWebViewProxyImpl alloc] initWithWebController:mockWebController_];
|
| [webViewProxy_ setContentView:mockContentView_];
|
| - webViewScrollViewProxy_.reset([[webViewProxy_ scrollViewProxy] retain]);
|
| - controller_.reset([[FullScreenController alloc]
|
| - initWithDelegate:mockDelegate_
|
| - navigationManager:NULL
|
| - sessionID:kFakeSessionId]);
|
| + webViewScrollViewProxy_ = [webViewProxy_ scrollViewProxy];
|
| + controller_ =
|
| + [[FullScreenController alloc] initWithDelegate:mockDelegate_
|
| + navigationManager:NULL
|
| + sessionID:kFakeSessionId];
|
| DCHECK(controller_);
|
| [webViewScrollViewProxy_ addObserver:controller_];
|
| // Simulate a CRWWebControllerObserver callback.
|
| [controller_ setWebViewProxy:webViewProxy_ controller:mockWebController_];
|
| [controller_ moveHeaderToRestingPosition:YES];
|
|
|
| - base::scoped_nsobject<UIView> awesome_view(
|
| - [[UIView alloc] initWithFrame:contentSize]);
|
| + UIView* awesome_view = [[UIView alloc] initWithFrame:contentSize];
|
| [scrollview_ addSubview:awesome_view];
|
|
|
| EXPECT_TRUE(IsHeaderVisible());
|
| - EXPECT_EQ(0.0f, webViewScrollViewProxy_.get().contentOffset.y);
|
| + EXPECT_EQ(0.0f, webViewScrollViewProxy_.contentOffset.y);
|
| }
|
|
|
| void TearDown() override {
|
| - [webViewScrollViewProxy_.get() removeObserver:controller_];
|
| + [webViewScrollViewProxy_ removeObserver:controller_];
|
| [webViewScrollViewProxy_ setScrollView:nil];
|
| [scrollview_ removeFromSuperview];
|
| PlatformTest::TearDown();
|
| @@ -122,13 +124,11 @@ class FullscreenControllerTest : public PlatformTest {
|
| void MoveMiddle() {
|
| // Move somewhere in the middle.
|
| CGFloat middle_point = kContentHeight / 2.0;
|
| - webViewScrollViewProxy_.get().contentOffset =
|
| - CGPointMake(0.0, middle_point);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, middle_point);
|
| }
|
|
|
| void MoveTop() {
|
| - webViewScrollViewProxy_.get().contentOffset =
|
| - CGPointMake(0.0, -kHeaderHeight);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, -kHeaderHeight);
|
| }
|
|
|
| void MoveMiddleAndHide() {
|
| @@ -154,16 +154,16 @@ class FullscreenControllerTest : public PlatformTest {
|
| // Adds |view| as a sub view to the underlying |scrollview_|.
|
| void AddSubViewToScrollView(UIView* view) { [scrollview_ addSubview:view]; }
|
|
|
| - base::scoped_nsobject<FullScreenController> controller_;
|
| - base::scoped_nsobject<MockFullScreenControllerDelegate> mockDelegate_;
|
| - base::scoped_nsobject<CRWWebViewScrollViewProxy> webViewScrollViewProxy_;
|
| - base::scoped_nsobject<id> mockWebView_;
|
| - base::scoped_nsobject<id> mockWebController_;
|
| - base::scoped_nsobject<TestWebViewContentView> mockContentView_;
|
| - base::scoped_nsobject<CRWWebViewProxyImpl> webViewProxy_;
|
| + FullScreenController* controller_;
|
| + MockFullScreenControllerDelegate* mockDelegate_;
|
| + CRWWebViewScrollViewProxy* webViewScrollViewProxy_;
|
| + id mockWebView_;
|
| + id mockWebController_;
|
| + TestWebViewContentView* mockContentView_;
|
| + CRWWebViewProxyImpl* webViewProxy_;
|
|
|
| private:
|
| - base::scoped_nsobject<UIScrollView> scrollview_;
|
| + UIScrollView* scrollview_;
|
| };
|
|
|
| #pragma mark - Programmatic moves
|
| @@ -171,7 +171,7 @@ class FullscreenControllerTest : public PlatformTest {
|
| TEST_F(FullscreenControllerTest, ForceHidden) {
|
| [controller_ moveHeaderToRestingPosition:NO];
|
| EXPECT_TRUE(IsHeaderHidden());
|
| - EXPECT_EQ(0.0, webViewScrollViewProxy_.get().contentOffset.y);
|
| + EXPECT_EQ(0.0, webViewScrollViewProxy_.contentOffset.y);
|
| }
|
|
|
| #pragma mark - Simulated user moves.
|
| @@ -181,11 +181,10 @@ TEST_F(FullscreenControllerTest, LargeManualScrollUpHides) {
|
|
|
| [controller_ webViewScrollViewWillBeginDragging:webViewScrollViewProxy_];
|
|
|
| - CGFloat middle_point = webViewScrollViewProxy_.get().contentOffset.y;
|
| + CGFloat middle_point = webViewScrollViewProxy_.contentOffset.y;
|
| // Move up a bit, multiple times
|
| for (float i = 0.0; i < kHeaderHeight * 2.0; i++) {
|
| - webViewScrollViewProxy_.get().contentOffset =
|
| - CGPointMake(0.0, middle_point + i);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, middle_point + i);
|
| }
|
| [controller_ webViewScrollViewDidEndDragging:webViewScrollViewProxy_
|
| willDecelerate:NO];
|
| @@ -197,11 +196,10 @@ TEST_F(FullscreenControllerTest, PartialManualScrollUpHides) {
|
|
|
| [controller_ webViewScrollViewWillBeginDragging:webViewScrollViewProxy_];
|
|
|
| - CGFloat middle_point = webViewScrollViewProxy_.get().contentOffset.y;
|
| + CGFloat middle_point = webViewScrollViewProxy_.contentOffset.y;
|
| // Move up a bit, multiple times
|
| for (float i = 0.0; i < (kHeaderHeight * (2.0 / 3.0)); i++) {
|
| - webViewScrollViewProxy_.get().contentOffset =
|
| - CGPointMake(0.0, middle_point + i);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, middle_point + i);
|
| }
|
| [controller_ webViewScrollViewDidEndDragging:webViewScrollViewProxy_
|
| willDecelerate:NO];
|
| @@ -213,11 +211,10 @@ TEST_F(FullscreenControllerTest, SmallPartialManualScrollUpNoEffect) {
|
|
|
| [controller_ webViewScrollViewWillBeginDragging:webViewScrollViewProxy_];
|
|
|
| - CGFloat middle_point = webViewScrollViewProxy_.get().contentOffset.y;
|
| + CGFloat middle_point = webViewScrollViewProxy_.contentOffset.y;
|
| // Move up a bit, multiple times
|
| for (float i = 0.0; i < (kHeaderHeight / 3.0); i++) {
|
| - webViewScrollViewProxy_.get().contentOffset =
|
| - CGPointMake(0.0, middle_point + i);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, middle_point + i);
|
| }
|
| [controller_ webViewScrollViewDidEndDragging:webViewScrollViewProxy_
|
| willDecelerate:NO];
|
| @@ -229,11 +226,10 @@ TEST_F(FullscreenControllerTest, LargeManualScrollDownShows) {
|
|
|
| [controller_ webViewScrollViewWillBeginDragging:webViewScrollViewProxy_];
|
|
|
| - CGFloat middle_point = webViewScrollViewProxy_.get().contentOffset.y;
|
| + CGFloat middle_point = webViewScrollViewProxy_.contentOffset.y;
|
| // Move down a bit, multiple times
|
| for (float i = 0.0; i < kHeaderHeight * 2.0; i++) {
|
| - webViewScrollViewProxy_.get().contentOffset =
|
| - CGPointMake(0.0, middle_point - i);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, middle_point - i);
|
| }
|
| [controller_ webViewScrollViewDidEndDragging:webViewScrollViewProxy_
|
| willDecelerate:NO];
|
| @@ -245,11 +241,10 @@ TEST_F(FullscreenControllerTest, PartialManualScrollDownShows) {
|
|
|
| [controller_ webViewScrollViewWillBeginDragging:webViewScrollViewProxy_];
|
|
|
| - CGFloat middle_point = webViewScrollViewProxy_.get().contentOffset.y;
|
| + CGFloat middle_point = webViewScrollViewProxy_.contentOffset.y;
|
| // Move down a bit, multiple times
|
| for (float i = 0.0; i < (kHeaderHeight * (2.0 / 3.0)); i++) {
|
| - webViewScrollViewProxy_.get().contentOffset =
|
| - CGPointMake(0.0, middle_point - i);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, middle_point - i);
|
| }
|
| [controller_ webViewScrollViewDidEndDragging:webViewScrollViewProxy_
|
| willDecelerate:NO];
|
| @@ -261,11 +256,10 @@ TEST_F(FullscreenControllerTest, SmallPartialManualScrollDownNoEffect) {
|
|
|
| [controller_ webViewScrollViewWillBeginDragging:webViewScrollViewProxy_];
|
|
|
| - CGFloat middle_point = webViewScrollViewProxy_.get().contentOffset.y;
|
| + CGFloat middle_point = webViewScrollViewProxy_.contentOffset.y;
|
| // Move up a bit, multiple times
|
| for (float i = 0.0; i < (kHeaderHeight / 3.0); i++) {
|
| - webViewScrollViewProxy_.get().contentOffset =
|
| - CGPointMake(0.0, middle_point - i);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, middle_point - i);
|
| }
|
| [controller_ webViewScrollViewDidEndDragging:webViewScrollViewProxy_
|
| willDecelerate:NO];
|
| @@ -276,7 +270,7 @@ TEST_F(FullscreenControllerTest, SmallPartialManualScrollDownNoEffect) {
|
|
|
| TEST_F(FullscreenControllerTest, NoHideOnEnable) {
|
| [controller_ disableFullScreen];
|
| - webViewScrollViewProxy_.get().contentOffset = CGPointMake(0.0, 10.0);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, 10.0);
|
| EXPECT_TRUE(IsHeaderVisible());
|
|
|
| [controller_ enableFullScreen];
|
| @@ -286,11 +280,11 @@ TEST_F(FullscreenControllerTest, NoHideOnEnable) {
|
|
|
| TEST_F(FullscreenControllerTest, NoHideOnEnableDueToManualScroll) {
|
| [controller_ disableFullScreen];
|
| - webViewScrollViewProxy_.get().contentOffset = CGPointMake(0.0, 1.0);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, 1.0);
|
| EXPECT_TRUE(IsHeaderVisible());
|
|
|
| [controller_ webViewScrollViewWillBeginDragging:webViewScrollViewProxy_];
|
| - webViewScrollViewProxy_.get().contentOffset = CGPointMake(0.0, 10.0);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, 10.0);
|
| EXPECT_TRUE(IsHeaderVisible());
|
| [controller_ webViewScrollViewDidEndDragging:webViewScrollViewProxy_
|
| willDecelerate:NO];
|
| @@ -304,7 +298,7 @@ TEST_F(FullscreenControllerTest, NoHideOnEnableDueToManualScroll) {
|
|
|
| TEST_F(FullscreenControllerTest, KeyboardAppearanceOnNonFullscreenPage) {
|
| // Add a textfield.
|
| - base::scoped_nsobject<UITextField> textField([[UITextField alloc] init]);
|
| + UITextField* textField = [[UITextField alloc] init];
|
| AddSubViewToScrollView(textField);
|
| EXPECT_TRUE(IsHeaderVisible());
|
|
|
| @@ -330,7 +324,7 @@ TEST_F(FullscreenControllerTest, MAYBE_KeyboardAppearanceOnFullscreenPage) {
|
| MoveMiddleAndHide();
|
|
|
| // Add a textfield.
|
| - base::scoped_nsobject<UITextField> textField([[UITextField alloc] init]);
|
| + UITextField* textField = [[UITextField alloc] init];
|
| AddSubViewToScrollView(textField);
|
| EXPECT_TRUE(IsHeaderHidden());
|
|
|
| @@ -356,7 +350,7 @@ TEST_F(FullscreenControllerTest, MAYBE_KeyboardAppearanceOnFullscreenPage) {
|
| TEST_F(FullscreenControllerTest,
|
| MAYBE_KeyboardStayOnUserScrollOnNonFullscreenPage) {
|
| // Add a textfield.
|
| - base::scoped_nsobject<UITextField> textField([[UITextField alloc] init]);
|
| + UITextField* textField = [[UITextField alloc] init];
|
| AddSubViewToScrollView(textField);
|
| EXPECT_TRUE(IsHeaderVisible());
|
|
|
| @@ -366,7 +360,7 @@ TEST_F(FullscreenControllerTest,
|
|
|
| // Scroll.
|
| [controller_ webViewScrollViewWillBeginDragging:webViewScrollViewProxy_];
|
| - webViewScrollViewProxy_.get().contentOffset = CGPointMake(0.0, 100.0);
|
| + webViewScrollViewProxy_.contentOffset = CGPointMake(0.0, 100.0);
|
| [controller_ webViewScrollViewDidEndDragging:webViewScrollViewProxy_
|
| willDecelerate:NO];
|
| EXPECT_TRUE(IsHeaderVisible());
|
|
|