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

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

Issue 2896623003: Added web::NavigationContext::GetPageTransition. (Closed)
Patch Set: Rebased Created 3 years, 7 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" 9 #import "base/mac/scoped_nsobject.h"
10 #import "ios/web/web_state/navigation_context_impl.h" 10 #import "ios/web/web_state/navigation_context_impl.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 EXPECT_EQ(navigation2_, [states_ lastAddedNavigation]); 62 EXPECT_EQ(navigation2_, [states_ lastAddedNavigation]);
63 EXPECT_EQ(WKNavigationState::REQUESTED, [states_ lastAddedNavigationState]); 63 EXPECT_EQ(WKNavigationState::REQUESTED, [states_ lastAddedNavigationState]);
64 64
65 // navigation_2 is still the latest. 65 // navigation_2 is still the latest.
66 [states_ setState:WKNavigationState::STARTED forNavigation:navigation2_]; 66 [states_ setState:WKNavigationState::STARTED forNavigation:navigation2_];
67 EXPECT_EQ(navigation2_, [states_ lastAddedNavigation]); 67 EXPECT_EQ(navigation2_, [states_ lastAddedNavigation]);
68 EXPECT_EQ(WKNavigationState::STARTED, [states_ lastAddedNavigationState]); 68 EXPECT_EQ(WKNavigationState::STARTED, [states_ lastAddedNavigationState]);
69 69
70 // navigation_3 is added later and hence the latest. 70 // navigation_3 is added later and hence the latest.
71 std::unique_ptr<web::NavigationContextImpl> context = 71 std::unique_ptr<web::NavigationContextImpl> context =
72 NavigationContextImpl::CreateNavigationContext(nullptr /*web_state*/, 72 NavigationContextImpl::CreateNavigationContext(
73 GURL(kTestUrl1)); 73 nullptr /*web_state*/, GURL(kTestUrl1),
74 ui::PageTransition::PAGE_TRANSITION_SERVER_REDIRECT);
74 [states_ setContext:std::move(context) forNavigation:navigation3_]; 75 [states_ setContext:std::move(context) forNavigation:navigation3_];
75 EXPECT_EQ(navigation3_, [states_ lastAddedNavigation]); 76 EXPECT_EQ(navigation3_, [states_ lastAddedNavigation]);
76 EXPECT_EQ(WKNavigationState::NONE, [states_ lastAddedNavigationState]); 77 EXPECT_EQ(WKNavigationState::NONE, [states_ lastAddedNavigationState]);
77 } 78 }
78 79
79 // Tests |setContext:forNavigation:| and |contextForNavigation:| methods. 80 // Tests |setContext:forNavigation:| and |contextForNavigation:| methods.
80 TEST_F(CRWWKNavigationStatesTest, Context) { 81 TEST_F(CRWWKNavigationStatesTest, Context) {
81 EXPECT_FALSE([states_ contextForNavigation:navigation1_]); 82 EXPECT_FALSE([states_ contextForNavigation:navigation1_]);
82 EXPECT_FALSE([states_ contextForNavigation:navigation2_]); 83 EXPECT_FALSE([states_ contextForNavigation:navigation2_]);
83 EXPECT_FALSE([states_ contextForNavigation:navigation3_]); 84 EXPECT_FALSE([states_ contextForNavigation:navigation3_]);
84 85
85 // Add first context. 86 // Add first context.
86 std::unique_ptr<web::NavigationContextImpl> context1 = 87 std::unique_ptr<web::NavigationContextImpl> context1 =
87 NavigationContextImpl::CreateNavigationContext(nullptr /*web_state*/, 88 NavigationContextImpl::CreateNavigationContext(
88 GURL(kTestUrl1)); 89 nullptr /*web_state*/, GURL(kTestUrl1),
90 ui::PageTransition::PAGE_TRANSITION_RELOAD);
89 context1->SetIsSameDocument(true); 91 context1->SetIsSameDocument(true);
90 [states_ setContext:std::move(context1) forNavigation:navigation1_]; 92 [states_ setContext:std::move(context1) forNavigation:navigation1_];
91 EXPECT_FALSE([states_ contextForNavigation:navigation2_]); 93 EXPECT_FALSE([states_ contextForNavigation:navigation2_]);
92 EXPECT_FALSE([states_ contextForNavigation:navigation3_]); 94 EXPECT_FALSE([states_ contextForNavigation:navigation3_]);
93 ASSERT_TRUE([states_ contextForNavigation:navigation1_]); 95 ASSERT_TRUE([states_ contextForNavigation:navigation1_]);
94 EXPECT_EQ(GURL(kTestUrl1), 96 EXPECT_EQ(GURL(kTestUrl1),
95 [states_ contextForNavigation:navigation1_]->GetUrl()); 97 [states_ contextForNavigation:navigation1_]->GetUrl());
96 EXPECT_TRUE([states_ contextForNavigation:navigation1_]->IsSameDocument()); 98 EXPECT_TRUE([states_ contextForNavigation:navigation1_]->IsSameDocument());
97 EXPECT_FALSE([states_ contextForNavigation:navigation1_]->GetError()); 99 EXPECT_FALSE([states_ contextForNavigation:navigation1_]->GetError());
98 100
99 // Replace existing context. 101 // Replace existing context.
100 std::unique_ptr<web::NavigationContextImpl> context2 = 102 std::unique_ptr<web::NavigationContextImpl> context2 =
101 NavigationContextImpl::CreateNavigationContext(nullptr /*web_state*/, 103 NavigationContextImpl::CreateNavigationContext(
102 GURL(kTestUrl2)); 104 nullptr /*web_state*/, GURL(kTestUrl2),
105 ui::PageTransition::PAGE_TRANSITION_GENERATED);
103 NSError* error = [[[NSError alloc] init] autorelease]; 106 NSError* error = [[[NSError alloc] init] autorelease];
104 context2->SetError(error); 107 context2->SetError(error);
105 [states_ setContext:std::move(context2) forNavigation:navigation1_]; 108 [states_ setContext:std::move(context2) forNavigation:navigation1_];
106 EXPECT_FALSE([states_ contextForNavigation:navigation2_]); 109 EXPECT_FALSE([states_ contextForNavigation:navigation2_]);
107 EXPECT_FALSE([states_ contextForNavigation:navigation3_]); 110 EXPECT_FALSE([states_ contextForNavigation:navigation3_]);
108 ASSERT_TRUE([states_ contextForNavigation:navigation1_]); 111 ASSERT_TRUE([states_ contextForNavigation:navigation1_]);
109 EXPECT_EQ(GURL(kTestUrl2), 112 EXPECT_EQ(GURL(kTestUrl2),
110 [states_ contextForNavigation:navigation1_]->GetUrl()); 113 [states_ contextForNavigation:navigation1_]->GetUrl());
111 EXPECT_FALSE([states_ contextForNavigation:navigation1_]->IsSameDocument()); 114 EXPECT_FALSE([states_ contextForNavigation:navigation1_]->IsSameDocument());
112 EXPECT_EQ(error, [states_ contextForNavigation:navigation1_]->GetError()); 115 EXPECT_EQ(error, [states_ contextForNavigation:navigation1_]->GetError());
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 [states_ removeNavigation:navigation2_]; 186 [states_ removeNavigation:navigation2_];
184 ASSERT_EQ(1U, [states_ pendingNavigations].count); 187 ASSERT_EQ(1U, [states_ pendingNavigations].count);
185 EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]); 188 EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
186 189
187 // Fail navigation_3. 190 // Fail navigation_3.
188 [states_ setState:WKNavigationState::FAILED forNavigation:navigation3_]; 191 [states_ setState:WKNavigationState::FAILED forNavigation:navigation3_];
189 ASSERT_EQ(0U, [states_ pendingNavigations].count); 192 ASSERT_EQ(0U, [states_ pendingNavigations].count);
190 } 193 }
191 194
192 } // namespace web 195 } // namespace web
OLDNEW
« no previous file with comments | « ios/web/web_state/ui/crw_web_controller.mm ('k') | ios/web/web_state/web_state_impl_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698