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

Side by Side Diff: ios/web/web_state/ui/crw_wk_navigation_states_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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/web_state/ui/crw_wk_navigation_states.h" 5 #import "ios/web/web_state/ui/crw_wk_navigation_states.h"
6 6
7 #import <WebKit/WebKit.h> 7 #import <WebKit/WebKit.h>
8 8
9 #import "base/mac/scoped_nsobject.h"
10 #import "ios/web/web_state/navigation_context_impl.h" 9 #import "ios/web/web_state/navigation_context_impl.h"
11 #include "net/http/http_response_headers.h" 10 #include "net/http/http_response_headers.h"
12 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
13 #include "testing/platform_test.h" 12 #include "testing/platform_test.h"
14 #include "url/gurl.h" 13 #include "url/gurl.h"
15 14
15 #if !defined(__has_feature) || !__has_feature(objc_arc)
16 #error "This file requires ARC support."
17 #endif
18
16 namespace { 19 namespace {
17 const char kTestUrl1[] = "https://test1.test/"; 20 const char kTestUrl1[] = "https://test1.test/";
18 const char kTestUrl2[] = "https://test2.test/"; 21 const char kTestUrl2[] = "https://test2.test/";
19 } 22 }
20 23
21 namespace web { 24 namespace web {
22 25
23 // Test fixture for CRWWKNavigationStates testing. 26 // Test fixture for CRWWKNavigationStates testing.
24 class CRWWKNavigationStatesTest : public PlatformTest { 27 class CRWWKNavigationStatesTest : public PlatformTest {
25 protected: 28 protected:
26 CRWWKNavigationStatesTest() 29 CRWWKNavigationStatesTest()
27 : navigation1_(static_cast<WKNavigation*>([[NSObject alloc] init])), 30 : navigation1_(static_cast<WKNavigation*>([[NSObject alloc] init])),
28 navigation2_(static_cast<WKNavigation*>([[NSObject alloc] init])), 31 navigation2_(static_cast<WKNavigation*>([[NSObject alloc] init])),
29 navigation3_(static_cast<WKNavigation*>([[NSObject alloc] init])), 32 navigation3_(static_cast<WKNavigation*>([[NSObject alloc] init])),
30 states_([[CRWWKNavigationStates alloc] init]) {} 33 states_([[CRWWKNavigationStates alloc] init]) {}
31 34
32 protected: 35 protected:
33 base::scoped_nsobject<WKNavigation> navigation1_; 36 WKNavigation* navigation1_;
34 base::scoped_nsobject<WKNavigation> navigation2_; 37 WKNavigation* navigation2_;
35 base::scoped_nsobject<WKNavigation> navigation3_; 38 WKNavigation* navigation3_;
36 base::scoped_nsobject<CRWWKNavigationStates> states_; 39 CRWWKNavigationStates* states_;
37 }; 40 };
38 41
39 // Tests |removeNavigation:| method. 42 // Tests |removeNavigation:| method.
40 TEST_F(CRWWKNavigationStatesTest, RemovingNavigation) { 43 TEST_F(CRWWKNavigationStatesTest, RemovingNavigation) {
41 // navigation_1 is the only navigation and it is the latest. 44 // navigation_1 is the only navigation and it is the latest.
42 [states_ setState:WKNavigationState::REQUESTED forNavigation:navigation1_]; 45 [states_ setState:WKNavigationState::REQUESTED forNavigation:navigation1_];
43 ASSERT_EQ(navigation1_, [states_ lastAddedNavigation]); 46 ASSERT_EQ(navigation1_, [states_ lastAddedNavigation]);
44 [states_ removeNavigation:navigation1_]; 47 [states_ removeNavigation:navigation1_];
45 ASSERT_FALSE([states_ lastAddedNavigation]); 48 ASSERT_FALSE([states_ lastAddedNavigation]);
46 } 49 }
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 EXPECT_EQ(GURL(kTestUrl1), 99 EXPECT_EQ(GURL(kTestUrl1),
97 [states_ contextForNavigation:navigation1_]->GetUrl()); 100 [states_ contextForNavigation:navigation1_]->GetUrl());
98 EXPECT_TRUE([states_ contextForNavigation:navigation1_]->IsSameDocument()); 101 EXPECT_TRUE([states_ contextForNavigation:navigation1_]->IsSameDocument());
99 EXPECT_FALSE([states_ contextForNavigation:navigation1_]->GetError()); 102 EXPECT_FALSE([states_ contextForNavigation:navigation1_]->GetError());
100 103
101 // Replace existing context. 104 // Replace existing context.
102 std::unique_ptr<web::NavigationContextImpl> context2 = 105 std::unique_ptr<web::NavigationContextImpl> context2 =
103 NavigationContextImpl::CreateNavigationContext( 106 NavigationContextImpl::CreateNavigationContext(
104 nullptr /*web_state*/, GURL(kTestUrl2), 107 nullptr /*web_state*/, GURL(kTestUrl2),
105 ui::PageTransition::PAGE_TRANSITION_GENERATED); 108 ui::PageTransition::PAGE_TRANSITION_GENERATED);
106 NSError* error = [[[NSError alloc] init] autorelease]; 109 NSError* error = [[NSError alloc] init];
107 context2->SetError(error); 110 context2->SetError(error);
108 [states_ setContext:std::move(context2) forNavigation:navigation1_]; 111 [states_ setContext:std::move(context2) forNavigation:navigation1_];
109 EXPECT_FALSE([states_ contextForNavigation:navigation2_]); 112 EXPECT_FALSE([states_ contextForNavigation:navigation2_]);
110 EXPECT_FALSE([states_ contextForNavigation:navigation3_]); 113 EXPECT_FALSE([states_ contextForNavigation:navigation3_]);
111 ASSERT_TRUE([states_ contextForNavigation:navigation1_]); 114 ASSERT_TRUE([states_ contextForNavigation:navigation1_]);
112 EXPECT_EQ(GURL(kTestUrl2), 115 EXPECT_EQ(GURL(kTestUrl2),
113 [states_ contextForNavigation:navigation1_]->GetUrl()); 116 [states_ contextForNavigation:navigation1_]->GetUrl());
114 EXPECT_FALSE([states_ contextForNavigation:navigation1_]->IsSameDocument()); 117 EXPECT_FALSE([states_ contextForNavigation:navigation1_]->IsSameDocument());
115 EXPECT_EQ(error, [states_ contextForNavigation:navigation1_]->GetError()); 118 EXPECT_EQ(error, [states_ contextForNavigation:navigation1_]->GetError());
116 } 119 }
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 [states_ removeNavigation:navigation2_]; 189 [states_ removeNavigation:navigation2_];
187 ASSERT_EQ(1U, [states_ pendingNavigations].count); 190 ASSERT_EQ(1U, [states_ pendingNavigations].count);
188 EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]); 191 EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
189 192
190 // Fail navigation_3. 193 // Fail navigation_3.
191 [states_ setState:WKNavigationState::FAILED forNavigation:navigation3_]; 194 [states_ setState:WKNavigationState::FAILED forNavigation:navigation3_];
192 ASSERT_EQ(0U, [states_ pendingNavigations].count); 195 ASSERT_EQ(0U, [states_ pendingNavigations].count);
193 } 196 }
194 197
195 } // namespace web 198 } // namespace web
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698