Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(508)

Side by Side Diff: ios/web/web_state/ui/crw_web_view_scroll_view_proxy_unittest.mm

Issue 2933363002: [ObjC ARC] Converts ios/web:ios_web_web_state_ui_unittests to ARC. (Closed)
Patch Set: Review nits. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #import "ios/web/public/web_state/ui/crw_web_view_scroll_view_proxy.h" 5 #import "ios/web/public/web_state/ui/crw_web_view_scroll_view_proxy.h"
6 6
7 #import <UIKit/UIKit.h> 7 #import <UIKit/UIKit.h>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #import "base/mac/scoped_nsobject.h"
11 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
12 #import "third_party/ocmock/OCMock/OCMock.h" 11 #import "third_party/ocmock/OCMock/OCMock.h"
13 #include "third_party/ocmock/gtest_support.h" 12 #include "third_party/ocmock/gtest_support.h"
14 13
14 #if !defined(__has_feature) || !__has_feature(objc_arc)
15 #error "This file requires ARC support."
16 #endif
17
15 namespace { 18 namespace {
16 19
17 class CRWWebViewScrollViewProxyTest : public ::testing::Test { 20 class CRWWebViewScrollViewProxyTest : public ::testing::Test {
18 protected: 21 protected:
19 void SetUp() override { 22 void SetUp() override {
20 mockScrollView_.reset( 23 mockScrollView_ = [OCMockObject niceMockForClass:[UIScrollView class]];
21 [[OCMockObject niceMockForClass:[UIScrollView class]] retain]); 24 webViewScrollViewProxy_ = [[CRWWebViewScrollViewProxy alloc] init];
22 webViewScrollViewProxy_.reset([[CRWWebViewScrollViewProxy alloc] init]);
23 } 25 }
24 base::scoped_nsobject<id> mockScrollView_; 26 id mockScrollView_;
25 base::scoped_nsobject<CRWWebViewScrollViewProxy> webViewScrollViewProxy_; 27 CRWWebViewScrollViewProxy* webViewScrollViewProxy_;
26 }; 28 };
27 29
28 // Tests that the UIScrollViewDelegate is set correctly. 30 // Tests that the UIScrollViewDelegate is set correctly.
29 TEST_F(CRWWebViewScrollViewProxyTest, testDelegate) { 31 TEST_F(CRWWebViewScrollViewProxyTest, testDelegate) {
30 [static_cast<UIScrollView*>([mockScrollView_ expect]) 32 [static_cast<UIScrollView*>([mockScrollView_ expect])
31 setDelegate:webViewScrollViewProxy_.get()]; 33 setDelegate:webViewScrollViewProxy_];
32 [webViewScrollViewProxy_ setScrollView:mockScrollView_]; 34 [webViewScrollViewProxy_ setScrollView:mockScrollView_];
33 EXPECT_OCMOCK_VERIFY(mockScrollView_); 35 EXPECT_OCMOCK_VERIFY(mockScrollView_);
34 } 36 }
35 37
36 // Tests that setting 2 scroll views consecutively, clears the delegate of the 38 // Tests that setting 2 scroll views consecutively, clears the delegate of the
37 // previous scroll view. 39 // previous scroll view.
38 TEST_F(CRWWebViewScrollViewProxyTest, testMultipleScrollView) { 40 TEST_F(CRWWebViewScrollViewProxyTest, testMultipleScrollView) {
39 base::scoped_nsobject<UIScrollView> mockScrollView1( 41 UIScrollView* mockScrollView1 = [[UIScrollView alloc] init];
40 [[UIScrollView alloc] init]); 42 UIScrollView* mockScrollView2 = [[UIScrollView alloc] init];
41 base::scoped_nsobject<UIScrollView> mockScrollView2(
42 [[UIScrollView alloc] init]);
43 [webViewScrollViewProxy_ setScrollView:mockScrollView1]; 43 [webViewScrollViewProxy_ setScrollView:mockScrollView1];
44 [webViewScrollViewProxy_ setScrollView:mockScrollView2]; 44 [webViewScrollViewProxy_ setScrollView:mockScrollView2];
45 EXPECT_FALSE([mockScrollView1 delegate]); 45 EXPECT_FALSE([mockScrollView1 delegate]);
46 EXPECT_EQ(webViewScrollViewProxy_.get(), [mockScrollView2 delegate]); 46 EXPECT_EQ(webViewScrollViewProxy_, [mockScrollView2 delegate]);
47 [webViewScrollViewProxy_ setScrollView:nil]; 47 [webViewScrollViewProxy_ setScrollView:nil];
48 } 48 }
49 49
50 // Tests that when releasing a scroll view from the CRWWebViewScrollViewProxy, 50 // Tests that when releasing a scroll view from the CRWWebViewScrollViewProxy,
51 // the UIScrollView's delegate is also cleared. 51 // the UIScrollView's delegate is also cleared.
52 TEST_F(CRWWebViewScrollViewProxyTest, testDelegateClearingUp) { 52 TEST_F(CRWWebViewScrollViewProxyTest, testDelegateClearingUp) {
53 base::scoped_nsobject<UIScrollView> mockScrollView1( 53 UIScrollView* mockScrollView1 = [[UIScrollView alloc] init];
54 [[UIScrollView alloc] init]);
55 [webViewScrollViewProxy_ setScrollView:mockScrollView1]; 54 [webViewScrollViewProxy_ setScrollView:mockScrollView1];
56 EXPECT_EQ(webViewScrollViewProxy_.get(), [mockScrollView1 delegate]); 55 EXPECT_EQ(webViewScrollViewProxy_, [mockScrollView1 delegate]);
57 [webViewScrollViewProxy_ setScrollView:nil]; 56 [webViewScrollViewProxy_ setScrollView:nil];
58 EXPECT_FALSE([mockScrollView1 delegate]); 57 EXPECT_FALSE([mockScrollView1 delegate]);
59 } 58 }
60 59
61 // Tests that CRWWebViewScrollViewProxy returns the correct property values from 60 // Tests that CRWWebViewScrollViewProxy returns the correct property values from
62 // the underlying UIScrollView. 61 // the underlying UIScrollView.
63 TEST_F(CRWWebViewScrollViewProxyTest, testScrollViewPresent) { 62 TEST_F(CRWWebViewScrollViewProxyTest, testScrollViewPresent) {
64 [webViewScrollViewProxy_ setScrollView:mockScrollView_]; 63 [webViewScrollViewProxy_ setScrollView:mockScrollView_];
65 BOOL yes = YES; 64 BOOL yes = YES;
66 [[[mockScrollView_ stub] andReturnValue:OCMOCK_VALUE(yes)] isZooming]; 65 [[[mockScrollView_ stub] andReturnValue:OCMOCK_VALUE(yes)] isZooming];
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 // CRWWebViewScrollViewProxy. 155 // CRWWebViewScrollViewProxy.
157 TEST_F(CRWWebViewScrollViewProxyTest, testReleasingAScrollView) { 156 TEST_F(CRWWebViewScrollViewProxyTest, testReleasingAScrollView) {
158 [webViewScrollViewProxy_ setScrollView:nil]; 157 [webViewScrollViewProxy_ setScrollView:nil];
159 } 158 }
160 159
161 // Tests that multiple WebViewScrollViewProxies hold onto the same underlying 160 // Tests that multiple WebViewScrollViewProxies hold onto the same underlying
162 // UIScrollView 161 // UIScrollView
163 TEST_F(CRWWebViewScrollViewProxyTest, testMultipleWebViewScrollViewProxies) { 162 TEST_F(CRWWebViewScrollViewProxyTest, testMultipleWebViewScrollViewProxies) {
164 [webViewScrollViewProxy_ setScrollView:mockScrollView_]; 163 [webViewScrollViewProxy_ setScrollView:mockScrollView_];
165 164
166 base::scoped_nsobject<CRWWebViewScrollViewProxy> webViewScrollViewProxy1( 165 CRWWebViewScrollViewProxy* webViewScrollViewProxy1 =
167 [[CRWWebViewScrollViewProxy alloc] init]); 166 [[CRWWebViewScrollViewProxy alloc] init];
168 [webViewScrollViewProxy1 setScrollView:mockScrollView_]; 167 [webViewScrollViewProxy1 setScrollView:mockScrollView_];
169 168
170 base::scoped_nsobject<CRWWebViewScrollViewProxy> webViewScrollViewProxy2( 169 CRWWebViewScrollViewProxy* webViewScrollViewProxy2 =
171 [[CRWWebViewScrollViewProxy alloc] init]); 170 [[CRWWebViewScrollViewProxy alloc] init];
172 [webViewScrollViewProxy2 setScrollView:mockScrollView_]; 171 [webViewScrollViewProxy2 setScrollView:mockScrollView_];
173 172
174 // Arbitrary point. 173 // Arbitrary point.
175 const CGPoint point = CGPointMake(10, 10); 174 const CGPoint point = CGPointMake(10, 10);
176 [[[mockScrollView_ stub] andReturnValue:[NSValue valueWithCGPoint:point]] 175 [[[mockScrollView_ stub] andReturnValue:[NSValue valueWithCGPoint:point]]
177 contentOffset]; 176 contentOffset];
178 EXPECT_TRUE( 177 EXPECT_TRUE(
179 CGPointEqualToPoint(point, [webViewScrollViewProxy_ contentOffset])); 178 CGPointEqualToPoint(point, [webViewScrollViewProxy_ contentOffset]));
180 EXPECT_TRUE( 179 EXPECT_TRUE(
181 CGPointEqualToPoint(point, [webViewScrollViewProxy1 contentOffset])); 180 CGPointEqualToPoint(point, [webViewScrollViewProxy1 contentOffset]));
182 EXPECT_TRUE( 181 EXPECT_TRUE(
183 CGPointEqualToPoint(point, [webViewScrollViewProxy2 contentOffset])); 182 CGPointEqualToPoint(point, [webViewScrollViewProxy2 contentOffset]));
184 } 183 }
185 184
186 } // namespace 185 } // namespace
OLDNEW
« no previous file with comments | « ios/web/web_state/ui/crw_web_controller_unittest.mm ('k') | ios/web/web_state/ui/crw_wk_navigation_states_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698