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 "ios/web/navigation/crw_session_controller.h" | 5 #import "ios/web/navigation/crw_session_controller.h" |
6 | 6 |
7 #import <Foundation/Foundation.h> | 7 #import <Foundation/Foundation.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 12 matching lines...) Expand all Loading... | |
23 #import "testing/gtest_mac.h" | 23 #import "testing/gtest_mac.h" |
24 #include "testing/platform_test.h" | 24 #include "testing/platform_test.h" |
25 | 25 |
26 @interface CRWSessionController (Testing) | 26 @interface CRWSessionController (Testing) |
27 - (const GURL&)URLForItemAtIndex:(size_t)index; | 27 - (const GURL&)URLForItemAtIndex:(size_t)index; |
28 - (const GURL&)currentURL; | 28 - (const GURL&)currentURL; |
29 @end | 29 @end |
30 | 30 |
31 @implementation CRWSessionController (Testing) | 31 @implementation CRWSessionController (Testing) |
32 - (const GURL&)URLForItemAtIndex:(size_t)index { | 32 - (const GURL&)URLForItemAtIndex:(size_t)index { |
33 web::NavigationItemList items = self.items; | 33 if (index < self.items.size()) |
34 if (index < items.size()) | 34 return self.items[index]->GetURL(); |
35 return items[index]->GetURL(); | |
36 return GURL::EmptyGURL(); | 35 return GURL::EmptyGURL(); |
37 } | 36 } |
38 | 37 |
39 - (const GURL&)currentURL { | 38 - (const GURL&)currentURL { |
40 return self.currentItem ? self.currentItem->GetURL() : GURL::EmptyGURL(); | 39 return self.currentItem ? self.currentItem->GetURL() : GURL::EmptyGURL(); |
41 } | 40 } |
42 @end | 41 @end |
43 | 42 |
44 namespace { | 43 namespace { |
45 | 44 |
(...skipping 25 matching lines...) Expand all Loading... | |
71 [session_controller_ | 70 [session_controller_ |
72 addPendingItem:GURL("http://www.example.com") | 71 addPendingItem:GURL("http://www.example.com") |
73 referrer:web::Referrer() | 72 referrer:web::Referrer() |
74 transition:ui::PAGE_TRANSITION_TYPED | 73 transition:ui::PAGE_TRANSITION_TYPED |
75 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 74 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
76 [session_controller_ commitPendingItem]; | 75 [session_controller_ commitPendingItem]; |
77 | 76 |
78 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); | 77 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); |
79 [session_controller_ setPendingItemIndex:0]; | 78 [session_controller_ setPendingItemIndex:0]; |
80 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); | 79 EXPECT_EQ(0, [session_controller_ pendingItemIndex]); |
81 EXPECT_EQ([session_controller_ items].back(), | 80 EXPECT_EQ([session_controller_ items].back().get(), |
82 [session_controller_ pendingItem]); | 81 [session_controller_ pendingItem]); |
83 } | 82 } |
84 | 83 |
85 TEST_F(CRWSessionControllerTest, addPendingItem) { | 84 TEST_F(CRWSessionControllerTest, addPendingItem) { |
86 [session_controller_ | 85 [session_controller_ |
87 addPendingItem:GURL("http://www.url.com") | 86 addPendingItem:GURL("http://www.url.com") |
88 referrer:MakeReferrer("http://www.referer.com") | 87 referrer:MakeReferrer("http://www.referer.com") |
89 transition:ui::PAGE_TRANSITION_TYPED | 88 transition:ui::PAGE_TRANSITION_TYPED |
90 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 89 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
91 | 90 |
(...skipping 19 matching lines...) Expand all Loading... | |
111 | 110 |
112 EXPECT_EQ(1U, [session_controller_ items].size()); | 111 EXPECT_EQ(1U, [session_controller_ items].size()); |
113 EXPECT_EQ(GURL("http://www.committed.url.com/"), | 112 EXPECT_EQ(GURL("http://www.committed.url.com/"), |
114 [session_controller_ URLForItemAtIndex:0U]); | 113 [session_controller_ URLForItemAtIndex:0U]); |
115 EXPECT_EQ( | 114 EXPECT_EQ( |
116 GURL("http://www.url.com/"), | 115 GURL("http://www.url.com/"), |
117 [session_controller_ currentURL]); | 116 [session_controller_ currentURL]); |
118 } | 117 } |
119 | 118 |
120 // Tests that adding a pending item resets pending item index. | 119 // Tests that adding a pending item resets pending item index. |
121 TEST_F(CRWSessionControllerTest, addPendingItemWithExistingPendingItemIndex) { | 120 TEST_F(CRWSessionControllerTest, addPendingItemWithExisingPendingItemIndex) { |
Eugene But (OOO till 7-30)
2017/03/09 16:10:58
Revert back? Exising vs Existing?
kkhorimoto
2017/03/09 21:33:54
Done.
| |
122 [session_controller_ | 121 [session_controller_ |
123 addPendingItem:GURL("http://www.example.com") | 122 addPendingItem:GURL("http://www.example.com") |
124 referrer:web::Referrer() | 123 referrer:web::Referrer() |
125 transition:ui::PAGE_TRANSITION_TYPED | 124 transition:ui::PAGE_TRANSITION_TYPED |
126 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 125 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
127 [session_controller_ commitPendingItem]; | 126 [session_controller_ commitPendingItem]; |
128 [session_controller_ | 127 [session_controller_ |
129 addPendingItem:GURL("http://www.example.com/0") | 128 addPendingItem:GURL("http://www.example.com/0") |
130 referrer:web::Referrer() | 129 referrer:web::Referrer() |
131 transition:ui::PAGE_TRANSITION_TYPED | 130 transition:ui::PAGE_TRANSITION_TYPED |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
171 [session_controller_ | 170 [session_controller_ |
172 addPendingItem:GURL("http://www.url.com") | 171 addPendingItem:GURL("http://www.url.com") |
173 referrer:MakeReferrer("http://www.referer.com") | 172 referrer:MakeReferrer("http://www.referer.com") |
174 transition:ui::PAGE_TRANSITION_TYPED | 173 transition:ui::PAGE_TRANSITION_TYPED |
175 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 174 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
176 [session_controller_ commitPendingItem]; | 175 [session_controller_ commitPendingItem]; |
177 | 176 |
178 EXPECT_EQ(1U, [session_controller_ items].size()); | 177 EXPECT_EQ(1U, [session_controller_ items].size()); |
179 EXPECT_EQ(GURL("http://www.url.com/"), | 178 EXPECT_EQ(GURL("http://www.url.com/"), |
180 [session_controller_ URLForItemAtIndex:0U]); | 179 [session_controller_ URLForItemAtIndex:0U]); |
181 EXPECT_EQ([session_controller_ items].front(), | 180 EXPECT_EQ([session_controller_ items].front().get(), |
182 [session_controller_ currentItem]); | 181 [session_controller_ currentItem]); |
183 } | 182 } |
184 | 183 |
185 TEST_F(CRWSessionControllerTest, addPendingItemOverridingAndCommit) { | 184 TEST_F(CRWSessionControllerTest, addPendingItemOverridingAndCommit) { |
186 [session_controller_ | 185 [session_controller_ |
187 addPendingItem:GURL("http://www.url.com") | 186 addPendingItem:GURL("http://www.url.com") |
188 referrer:MakeReferrer("http://www.referer.com") | 187 referrer:MakeReferrer("http://www.referer.com") |
189 transition:ui::PAGE_TRANSITION_TYPED | 188 transition:ui::PAGE_TRANSITION_TYPED |
190 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 189 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
191 [session_controller_ | 190 [session_controller_ |
192 addPendingItem:GURL("http://www.another.url.com") | 191 addPendingItem:GURL("http://www.another.url.com") |
193 referrer:MakeReferrer("http://www.another.referer.com") | 192 referrer:MakeReferrer("http://www.another.referer.com") |
194 transition:ui::PAGE_TRANSITION_TYPED | 193 transition:ui::PAGE_TRANSITION_TYPED |
195 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 194 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
196 [session_controller_ commitPendingItem]; | 195 [session_controller_ commitPendingItem]; |
197 | 196 |
198 EXPECT_EQ(1U, [session_controller_ items].size()); | 197 EXPECT_EQ(1U, [session_controller_ items].size()); |
199 EXPECT_EQ(GURL("http://www.another.url.com/"), | 198 EXPECT_EQ(GURL("http://www.another.url.com/"), |
200 [session_controller_ URLForItemAtIndex:0U]); | 199 [session_controller_ URLForItemAtIndex:0U]); |
201 EXPECT_EQ([session_controller_ items].front(), | 200 EXPECT_EQ([session_controller_ items].front().get(), |
202 [session_controller_ currentItem]); | 201 [session_controller_ currentItem]); |
203 } | 202 } |
204 | 203 |
205 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitMultiple) { | 204 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitMultiple) { |
206 [session_controller_ | 205 [session_controller_ |
207 addPendingItem:GURL("http://www.url.com") | 206 addPendingItem:GURL("http://www.url.com") |
208 referrer:MakeReferrer("http://www.referer.com") | 207 referrer:MakeReferrer("http://www.referer.com") |
209 transition:ui::PAGE_TRANSITION_TYPED | 208 transition:ui::PAGE_TRANSITION_TYPED |
210 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 209 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
211 [session_controller_ commitPendingItem]; | 210 [session_controller_ commitPendingItem]; |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
266 [session_controller_ | 265 [session_controller_ |
267 addPendingItem:GURL("http://www.another.url.com") | 266 addPendingItem:GURL("http://www.another.url.com") |
268 referrer:MakeReferrer("http://www.referer.com") | 267 referrer:MakeReferrer("http://www.referer.com") |
269 transition:ui::PAGE_TRANSITION_TYPED | 268 transition:ui::PAGE_TRANSITION_TYPED |
270 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 269 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
271 [session_controller_ commitPendingItem]; | 270 [session_controller_ commitPendingItem]; |
272 | 271 |
273 EXPECT_EQ(1U, [session_controller_ items].size()); | 272 EXPECT_EQ(1U, [session_controller_ items].size()); |
274 EXPECT_EQ(GURL("http://www.another.url.com/"), | 273 EXPECT_EQ(GURL("http://www.another.url.com/"), |
275 [session_controller_ URLForItemAtIndex:0U]); | 274 [session_controller_ URLForItemAtIndex:0U]); |
276 EXPECT_EQ([session_controller_ items].front(), | 275 EXPECT_EQ([session_controller_ items].front().get(), |
277 [session_controller_ currentItem]); | 276 [session_controller_ currentItem]); |
278 } | 277 } |
279 | 278 |
280 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitAndAddAndDiscard) { | 279 TEST_F(CRWSessionControllerTest, addPendingItemAndCommitAndAddAndDiscard) { |
281 [session_controller_ | 280 [session_controller_ |
282 addPendingItem:GURL("http://www.url.com") | 281 addPendingItem:GURL("http://www.url.com") |
283 referrer:MakeReferrer("http://www.referer.com") | 282 referrer:MakeReferrer("http://www.referer.com") |
284 transition:ui::PAGE_TRANSITION_TYPED | 283 transition:ui::PAGE_TRANSITION_TYPED |
285 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 284 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
286 [session_controller_ commitPendingItem]; | 285 [session_controller_ commitPendingItem]; |
287 | 286 |
288 [session_controller_ | 287 [session_controller_ |
289 addPendingItem:GURL("http://www.another.url.com") | 288 addPendingItem:GURL("http://www.another.url.com") |
290 referrer:MakeReferrer("http://www.referer.com") | 289 referrer:MakeReferrer("http://www.referer.com") |
291 transition:ui::PAGE_TRANSITION_TYPED | 290 transition:ui::PAGE_TRANSITION_TYPED |
292 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 291 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
293 [session_controller_ discardNonCommittedItems]; | 292 [session_controller_ discardNonCommittedItems]; |
294 | 293 |
295 EXPECT_EQ(1U, [session_controller_ items].size()); | 294 EXPECT_EQ(1U, [session_controller_ items].size()); |
296 EXPECT_EQ(GURL("http://www.url.com/"), | 295 EXPECT_EQ(GURL("http://www.url.com/"), |
297 [session_controller_ URLForItemAtIndex:0U]); | 296 [session_controller_ URLForItemAtIndex:0U]); |
298 EXPECT_EQ([session_controller_ items].front(), | 297 EXPECT_EQ([session_controller_ items].front().get(), |
299 [session_controller_ currentItem]); | 298 [session_controller_ currentItem]); |
300 } | 299 } |
301 | 300 |
302 TEST_F(CRWSessionControllerTest, | 301 TEST_F(CRWSessionControllerTest, |
303 commitPendingItemWithoutPendingOrCommittedItem) { | 302 commitPendingItemWithoutPendingOrCommittedItem) { |
304 [session_controller_ commitPendingItem]; | 303 [session_controller_ commitPendingItem]; |
305 | 304 |
306 EXPECT_TRUE([session_controller_ items].empty()); | 305 EXPECT_TRUE([session_controller_ items].empty()); |
307 EXPECT_FALSE([session_controller_ currentItem]); | 306 EXPECT_FALSE([session_controller_ currentItem]); |
308 } | 307 } |
309 | 308 |
310 TEST_F(CRWSessionControllerTest, | 309 TEST_F(CRWSessionControllerTest, |
311 commitPendingItemWithoutPendingItemWithCommittedItem) { | 310 commitPendingItemWithoutPendingItemWithCommittedItem) { |
312 // Setup committed item. | |
Eugene But (OOO till 7-30)
2017/03/09 16:10:58
Why? I think this test suppose to commit if there
kkhorimoto
2017/03/09 21:33:54
Yep you're right. I had fixed this, but must have
| |
313 [session_controller_ | |
314 addPendingItem:GURL("http://www.url.com") | |
315 referrer:MakeReferrer("http://www.referer.com") | |
316 transition:ui::PAGE_TRANSITION_TYPED | |
317 initiationType:web::NavigationInitiationType::USER_INITIATED]; | |
318 [session_controller_ commitPendingItem]; | 311 [session_controller_ commitPendingItem]; |
319 | 312 |
320 // Commit pending item when there is no such one | 313 // Commit pending item when there is no such one |
321 [session_controller_ commitPendingItem]; | 314 [session_controller_ commitPendingItem]; |
322 | 315 |
323 EXPECT_EQ(1U, [session_controller_ items].size()); | 316 EXPECT_EQ(1U, [session_controller_ items].size()); |
324 EXPECT_EQ([session_controller_ items].front(), | 317 EXPECT_EQ([session_controller_ items].front().get(), |
325 [session_controller_ currentItem]); | 318 [session_controller_ currentItem]); |
326 } | 319 } |
327 | 320 |
328 // Tests that forward entries are discarded after navigation item is committed. | 321 // Tests that forward items are discarded after navigation item is committed. |
329 TEST_F(CRWSessionControllerTest, commitPendingItemWithExistingForwardItems) { | 322 TEST_F(CRWSessionControllerTest, commitPendingItemWithExistingForwardItems) { |
330 // Make 3 entries. | 323 // Make 3 items. |
331 [session_controller_ | 324 [session_controller_ |
332 addPendingItem:GURL("http://www.example.com/0") | 325 addPendingItem:GURL("http://www.example.com/0") |
333 referrer:MakeReferrer("http://www.example.com/a") | 326 referrer:MakeReferrer("http://www.example.com/a") |
334 transition:ui::PAGE_TRANSITION_LINK | 327 transition:ui::PAGE_TRANSITION_LINK |
335 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 328 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; |
336 [session_controller_ commitPendingItem]; | 329 [session_controller_ commitPendingItem]; |
337 [session_controller_ | 330 [session_controller_ |
338 addPendingItem:GURL("http://www.example.com/1") | 331 addPendingItem:GURL("http://www.example.com/1") |
339 referrer:MakeReferrer("http://www.example.com/b") | 332 referrer:MakeReferrer("http://www.example.com/b") |
340 transition:ui::PAGE_TRANSITION_LINK | 333 transition:ui::PAGE_TRANSITION_LINK |
(...skipping 10 matching lines...) Expand all Loading... | |
351 [session_controller_ goToItemAtIndex:0]; | 344 [session_controller_ goToItemAtIndex:0]; |
352 | 345 |
353 // Create and commit a new pending item. | 346 // Create and commit a new pending item. |
354 [session_controller_ | 347 [session_controller_ |
355 addPendingItem:GURL("http://www.example.com/2") | 348 addPendingItem:GURL("http://www.example.com/2") |
356 referrer:MakeReferrer("http://www.example.com/c") | 349 referrer:MakeReferrer("http://www.example.com/c") |
357 transition:ui::PAGE_TRANSITION_LINK | 350 transition:ui::PAGE_TRANSITION_LINK |
358 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 351 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; |
359 [session_controller_ commitPendingItem]; | 352 [session_controller_ commitPendingItem]; |
360 | 353 |
361 // All forward entries should go away. | 354 // All forward items should go away. |
362 EXPECT_EQ(2U, [session_controller_ items].size()); | 355 EXPECT_EQ(2U, [session_controller_ items].size()); |
363 EXPECT_EQ(0U, [session_controller_ forwardItems].size()); | 356 EXPECT_EQ(0U, [session_controller_ forwardItems].size()); |
364 ASSERT_EQ(1, [session_controller_ currentNavigationIndex]); | 357 ASSERT_EQ(1, [session_controller_ currentNavigationIndex]); |
365 ASSERT_EQ(0, [session_controller_ previousNavigationIndex]); | 358 ASSERT_EQ(0, [session_controller_ previousNavigationIndex]); |
366 } | 359 } |
367 | 360 |
368 // Tests committing pending item index from the middle. | 361 // Tests committing pending item index from the middle. |
369 TEST_F(CRWSessionControllerTest, commitPendingItemIndex) { | 362 TEST_F(CRWSessionControllerTest, commitPendingItemIndex) { |
370 [session_controller_ | 363 [session_controller_ |
371 addPendingItem:GURL("http://www.example.com/0") | 364 addPendingItem:GURL("http://www.example.com/0") |
(...skipping 12 matching lines...) Expand all Loading... | |
384 referrer:web::Referrer() | 377 referrer:web::Referrer() |
385 transition:ui::PAGE_TRANSITION_TYPED | 378 transition:ui::PAGE_TRANSITION_TYPED |
386 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 379 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
387 [session_controller_ commitPendingItem]; | 380 [session_controller_ commitPendingItem]; |
388 ASSERT_EQ(3U, [session_controller_ items].size()); | 381 ASSERT_EQ(3U, [session_controller_ items].size()); |
389 | 382 |
390 // Go to the middle, and commit first pending item index. | 383 // Go to the middle, and commit first pending item index. |
391 [session_controller_ goToItemAtIndex:1]; | 384 [session_controller_ goToItemAtIndex:1]; |
392 [session_controller_ setPendingItemIndex:0]; | 385 [session_controller_ setPendingItemIndex:0]; |
393 ASSERT_EQ(0, [session_controller_ pendingItemIndex]); | 386 ASSERT_EQ(0, [session_controller_ pendingItemIndex]); |
394 web::NavigationItem* pendingItem = [session_controller_ pendingItem]; | 387 web::NavigationItemImpl* pending_item = [session_controller_ pendingItem]; |
395 ASSERT_TRUE(pendingItem); | 388 ASSERT_TRUE(pending_item); |
396 ASSERT_EQ(1, [session_controller_ currentNavigationIndex]); | 389 ASSERT_EQ(1, [session_controller_ currentNavigationIndex]); |
397 EXPECT_EQ(2, [session_controller_ previousNavigationIndex]); | 390 EXPECT_EQ(2, [session_controller_ previousNavigationIndex]); |
398 [session_controller_ commitPendingItem]; | 391 [session_controller_ commitPendingItem]; |
399 | 392 |
400 // Verify that pending item has been committed and current and previous item | 393 // Verify that pending item has been committed and current and previous item |
401 // indices updated. | 394 // indices updated. |
402 EXPECT_EQ([session_controller_ lastCommittedItem], pendingItem); | 395 EXPECT_EQ(pending_item, [session_controller_ lastCommittedItem]); |
403 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); | 396 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); |
404 EXPECT_FALSE([session_controller_ pendingItem]); | 397 EXPECT_FALSE([session_controller_ pendingItem]); |
405 EXPECT_EQ(0, [session_controller_ currentNavigationIndex]); | 398 EXPECT_EQ(0, [session_controller_ currentNavigationIndex]); |
406 EXPECT_EQ(1, [session_controller_ previousNavigationIndex]); | 399 EXPECT_EQ(1, [session_controller_ previousNavigationIndex]); |
407 EXPECT_EQ(3U, [session_controller_ items].size()); | 400 EXPECT_EQ(3U, [session_controller_ items].size()); |
408 } | 401 } |
409 | 402 |
410 TEST_F(CRWSessionControllerTest, | 403 TEST_F(CRWSessionControllerTest, |
411 DiscardPendingItemWithoutPendingOrCommittedItem) { | 404 DiscardPendingItemWithoutPendingOrCommittedItem) { |
412 [session_controller_ discardNonCommittedItems]; | 405 [session_controller_ discardNonCommittedItems]; |
413 | 406 |
414 EXPECT_TRUE([session_controller_ items].empty()); | 407 EXPECT_TRUE([session_controller_ items].empty()); |
415 EXPECT_FALSE([session_controller_ currentItem]); | 408 EXPECT_FALSE([session_controller_ currentItem]); |
416 } | 409 } |
417 | 410 |
418 TEST_F(CRWSessionControllerTest, | 411 TEST_F(CRWSessionControllerTest, |
419 DiscardPendingItemWithoutPendingItemWithCommittedItem) { | 412 DiscardPendingItemWithoutPendingItemWithCommittedItem) { |
420 // Setup committed item | 413 // Setup committed item |
421 [session_controller_ | 414 [session_controller_ |
422 addPendingItem:GURL("http://www.url.com") | 415 addPendingItem:GURL("http://www.url.com") |
423 referrer:MakeReferrer("http://www.referer.com") | 416 referrer:MakeReferrer("http://www.referer.com") |
424 transition:ui::PAGE_TRANSITION_TYPED | 417 transition:ui::PAGE_TRANSITION_TYPED |
425 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 418 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
426 [session_controller_ commitPendingItem]; | 419 [session_controller_ commitPendingItem]; |
427 | 420 |
428 // Discard noncommitted entries when there is no such one | 421 // Discard noncommitted items when there is no such one |
429 [session_controller_ discardNonCommittedItems]; | 422 [session_controller_ discardNonCommittedItems]; |
430 | 423 |
431 EXPECT_EQ(1U, [session_controller_ items].size()); | 424 EXPECT_EQ(1U, [session_controller_ items].size()); |
432 EXPECT_EQ([session_controller_ items].front(), | 425 EXPECT_EQ([session_controller_ items].front().get(), |
433 [session_controller_ currentItem]); | 426 [session_controller_ currentItem]); |
434 } | 427 } |
435 | 428 |
436 TEST_F(CRWSessionControllerTest, updatePendingItemWithoutPendingItem) { | 429 TEST_F(CRWSessionControllerTest, updatePendingItemWithoutPendingItem) { |
437 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; | 430 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; |
438 [session_controller_ commitPendingItem]; | 431 [session_controller_ commitPendingItem]; |
439 | 432 |
440 EXPECT_TRUE([session_controller_ items].empty()); | 433 EXPECT_TRUE([session_controller_ items].empty()); |
441 EXPECT_FALSE([session_controller_ currentItem]); | 434 EXPECT_FALSE([session_controller_ currentItem]); |
442 } | 435 } |
(...skipping 18 matching lines...) Expand all Loading... | |
461 referrer:MakeReferrer("http://www.referer.com") | 454 referrer:MakeReferrer("http://www.referer.com") |
462 transition:ui::PAGE_TRANSITION_TYPED | 455 transition:ui::PAGE_TRANSITION_TYPED |
463 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 456 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
464 [session_controller_ commitPendingItem]; | 457 [session_controller_ commitPendingItem]; |
465 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; | 458 [session_controller_ updatePendingItem:GURL("http://www.another.url.com")]; |
466 [session_controller_ commitPendingItem]; | 459 [session_controller_ commitPendingItem]; |
467 | 460 |
468 EXPECT_EQ(1U, [session_controller_ items].size()); | 461 EXPECT_EQ(1U, [session_controller_ items].size()); |
469 EXPECT_EQ(GURL("http://www.url.com/"), | 462 EXPECT_EQ(GURL("http://www.url.com/"), |
470 [session_controller_ URLForItemAtIndex:0U]); | 463 [session_controller_ URLForItemAtIndex:0U]); |
471 EXPECT_EQ([session_controller_ items].front(), | 464 EXPECT_EQ([session_controller_ items].front().get(), |
472 [session_controller_ currentItem]); | 465 [session_controller_ currentItem]); |
473 } | 466 } |
474 | 467 |
475 // Tests inserting session controller state. | 468 // Tests inserting session controller state. |
476 TEST_F(CRWSessionControllerTest, InsertState) { | 469 TEST_F(CRWSessionControllerTest, InsertState) { |
477 // Add 1 committed and 1 pending item to target controller. | 470 // Add 1 committed and 1 pending item to target controller. |
478 [session_controller_ | 471 [session_controller_ |
479 addPendingItem:GURL("http://www.url.com/2") | 472 addPendingItem:GURL("http://www.url.com/2") |
480 referrer:web::Referrer() | 473 referrer:web::Referrer() |
481 transition:ui::PAGE_TRANSITION_TYPED | 474 transition:ui::PAGE_TRANSITION_TYPED |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
515 EXPECT_EQ(GURL("http://www.url.com/0"), | 508 EXPECT_EQ(GURL("http://www.url.com/0"), |
516 [session_controller_ URLForItemAtIndex:0]); | 509 [session_controller_ URLForItemAtIndex:0]); |
517 EXPECT_EQ(GURL("http://www.url.com/2"), | 510 EXPECT_EQ(GURL("http://www.url.com/2"), |
518 [session_controller_ URLForItemAtIndex:1]); | 511 [session_controller_ URLForItemAtIndex:1]); |
519 EXPECT_EQ(GURL("http://www.url.com/3"), | 512 EXPECT_EQ(GURL("http://www.url.com/3"), |
520 [session_controller_ pendingItem]->GetURL()); | 513 [session_controller_ pendingItem]->GetURL()); |
521 } | 514 } |
522 | 515 |
523 // Tests inserting session controller state from empty session controller. | 516 // Tests inserting session controller state from empty session controller. |
524 TEST_F(CRWSessionControllerTest, InsertStateFromEmptySessionController) { | 517 TEST_F(CRWSessionControllerTest, InsertStateFromEmptySessionController) { |
525 // Add 2 committed entries to target controller. | 518 // Add 2 committed items to target controller. |
526 [session_controller_ | 519 [session_controller_ |
527 addPendingItem:GURL("http://www.url.com/0") | 520 addPendingItem:GURL("http://www.url.com/0") |
528 referrer:web::Referrer() | 521 referrer:web::Referrer() |
529 transition:ui::PAGE_TRANSITION_TYPED | 522 transition:ui::PAGE_TRANSITION_TYPED |
530 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 523 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
531 [session_controller_ commitPendingItem]; | 524 [session_controller_ commitPendingItem]; |
532 [session_controller_ | 525 [session_controller_ |
533 addPendingItem:GURL("http://www.url.com/1") | 526 addPendingItem:GURL("http://www.url.com/1") |
534 referrer:web::Referrer() | 527 referrer:web::Referrer() |
535 transition:ui::PAGE_TRANSITION_TYPED | 528 transition:ui::PAGE_TRANSITION_TYPED |
(...skipping 14 matching lines...) Expand all Loading... | |
550 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); | 543 EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); |
551 EXPECT_FALSE([session_controller_ pendingItem]); | 544 EXPECT_FALSE([session_controller_ pendingItem]); |
552 EXPECT_EQ(GURL("http://www.url.com/0"), | 545 EXPECT_EQ(GURL("http://www.url.com/0"), |
553 [session_controller_ URLForItemAtIndex:0]); | 546 [session_controller_ URLForItemAtIndex:0]); |
554 EXPECT_EQ(GURL("http://www.url.com/1"), | 547 EXPECT_EQ(GURL("http://www.url.com/1"), |
555 [session_controller_ URLForItemAtIndex:1]); | 548 [session_controller_ URLForItemAtIndex:1]); |
556 } | 549 } |
557 | 550 |
558 // Tests inserting session controller state to empty session controller. | 551 // Tests inserting session controller state to empty session controller. |
559 TEST_F(CRWSessionControllerTest, InsertStateToEmptySessionController) { | 552 TEST_F(CRWSessionControllerTest, InsertStateToEmptySessionController) { |
560 // Create source session controller with 2 committed entries and one | 553 // Create source session controller with 2 committed items and one |
561 // pending item. | 554 // pending item. |
562 base::scoped_nsobject<CRWSessionController> other_session_controller( | 555 base::scoped_nsobject<CRWSessionController> other_session_controller( |
563 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ | 556 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ |
564 openedByDOM:NO]); | 557 openedByDOM:NO]); |
565 [other_session_controller | 558 [other_session_controller |
566 addPendingItem:GURL("http://www.url.com/0") | 559 addPendingItem:GURL("http://www.url.com/0") |
567 referrer:web::Referrer() | 560 referrer:web::Referrer() |
568 transition:ui::PAGE_TRANSITION_TYPED | 561 transition:ui::PAGE_TRANSITION_TYPED |
569 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 562 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
570 [other_session_controller commitPendingItem]; | 563 [other_session_controller commitPendingItem]; |
(...skipping 21 matching lines...) Expand all Loading... | |
592 EXPECT_EQ(GURL("http://www.url.com/0"), | 585 EXPECT_EQ(GURL("http://www.url.com/0"), |
593 [session_controller_ URLForItemAtIndex:0]); | 586 [session_controller_ URLForItemAtIndex:0]); |
594 EXPECT_EQ(GURL("http://www.url.com/1"), | 587 EXPECT_EQ(GURL("http://www.url.com/1"), |
595 [session_controller_ URLForItemAtIndex:1]); | 588 [session_controller_ URLForItemAtIndex:1]); |
596 } | 589 } |
597 | 590 |
598 // Tests inserting session controller state. Verifies that pending item index | 591 // Tests inserting session controller state. Verifies that pending item index |
599 // remains valid. | 592 // remains valid. |
600 TEST_F(CRWSessionControllerTest, | 593 TEST_F(CRWSessionControllerTest, |
601 InsertStateWithPendingItemIndexInTargetController) { | 594 InsertStateWithPendingItemIndexInTargetController) { |
602 // Add 2 committed entries and make the first item pending. | 595 // Add 2 committed items and make the first item pending. |
603 [session_controller_ | 596 [session_controller_ |
604 addPendingItem:GURL("http://www.url.com/2") | 597 addPendingItem:GURL("http://www.url.com/2") |
605 referrer:web::Referrer() | 598 referrer:web::Referrer() |
606 transition:ui::PAGE_TRANSITION_TYPED | 599 transition:ui::PAGE_TRANSITION_TYPED |
607 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 600 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
608 [session_controller_ commitPendingItem]; | 601 [session_controller_ commitPendingItem]; |
609 [session_controller_ | 602 [session_controller_ |
610 addPendingItem:GURL("http://www.url.com/3") | 603 addPendingItem:GURL("http://www.url.com/3") |
611 referrer:web::Referrer() | 604 referrer:web::Referrer() |
612 transition:ui::PAGE_TRANSITION_TYPED | 605 transition:ui::PAGE_TRANSITION_TYPED |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
689 items.push_back(CreateNavigationItem("http://www.espn.com", | 682 items.push_back(CreateNavigationItem("http://www.espn.com", |
690 "http://www.nothing.com", @"ESPN")); | 683 "http://www.nothing.com", @"ESPN")); |
691 base::scoped_nsobject<CRWSessionController> controller( | 684 base::scoped_nsobject<CRWSessionController> controller( |
692 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ | 685 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ |
693 navigationItems:std::move(items) | 686 navigationItems:std::move(items) |
694 currentIndex:1]); | 687 currentIndex:1]); |
695 | 688 |
696 EXPECT_EQ(controller.get().items.size(), 3U); | 689 EXPECT_EQ(controller.get().items.size(), 3U); |
697 EXPECT_EQ(controller.get().currentNavigationIndex, 1); | 690 EXPECT_EQ(controller.get().currentNavigationIndex, 1); |
698 EXPECT_EQ(controller.get().previousNavigationIndex, -1); | 691 EXPECT_EQ(controller.get().previousNavigationIndex, -1); |
699 // Sanity check the current item, the CRWSessionItem unit test will ensure | 692 // Sanity check the current item, the NavigationItem unit test will ensure |
700 // the entire object is created properly. | 693 // the entire object is created properly. |
701 EXPECT_EQ(controller.get().currentItem->GetURL(), | 694 EXPECT_EQ([controller currentItem]->GetURL(), GURL("http://www.yahoo.com")); |
702 GURL("http://www.yahoo.com")); | |
703 } | 695 } |
704 | 696 |
705 // Tests index of previous navigation item. | 697 // Tests index of previous navigation item. |
706 TEST_F(CRWSessionControllerTest, PreviousNavigationItem) { | 698 TEST_F(CRWSessionControllerTest, PreviousNavigationItem) { |
707 EXPECT_EQ(session_controller_.get().previousNavigationIndex, -1); | 699 EXPECT_EQ(session_controller_.get().previousNavigationIndex, -1); |
708 [session_controller_ | 700 [session_controller_ |
709 addPendingItem:GURL("http://www.url.com") | 701 addPendingItem:GURL("http://www.url.com") |
710 referrer:MakeReferrer("http://www.referer.com") | 702 referrer:MakeReferrer("http://www.referer.com") |
711 transition:ui::PAGE_TRANSITION_TYPED | 703 transition:ui::PAGE_TRANSITION_TYPED |
712 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 704 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
795 // Push state navigation. | 787 // Push state navigation. |
796 items.push_back( | 788 items.push_back( |
797 CreateNavigationItem("http://foo.com/bar", "http://foo.com", @"Fifth")); | 789 CreateNavigationItem("http://foo.com/bar", "http://foo.com", @"Fifth")); |
798 // Push state navigation. | 790 // Push state navigation. |
799 items.push_back(CreateNavigationItem("http://foo.com/bar#bar", | 791 items.push_back(CreateNavigationItem("http://foo.com/bar#bar", |
800 "http://foo.com/bar", @"Sixth")); | 792 "http://foo.com/bar", @"Sixth")); |
801 base::scoped_nsobject<CRWSessionController> controller( | 793 base::scoped_nsobject<CRWSessionController> controller( |
802 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ | 794 [[CRWSessionController alloc] initWithBrowserState:&browser_state_ |
803 navigationItems:std::move(items) | 795 navigationItems:std::move(items) |
804 currentIndex:0]); | 796 currentIndex:0]); |
805 web::NavigationItemImpl* item0 = | 797 web::NavigationItemImpl* item0 = [controller items][0].get(); |
806 static_cast<web::NavigationItemImpl*>([controller items][0]); | 798 web::NavigationItemImpl* item1 = [controller items][1].get(); |
807 web::NavigationItemImpl* item1 = | 799 web::NavigationItemImpl* item2 = [controller items][2].get(); |
808 static_cast<web::NavigationItemImpl*>([controller items][1]); | 800 web::NavigationItemImpl* item3 = [controller items][3].get(); |
809 web::NavigationItemImpl* item2 = | 801 web::NavigationItemImpl* item4 = [controller items][4].get(); |
810 static_cast<web::NavigationItemImpl*>([controller items][2]); | 802 web::NavigationItemImpl* item5 = [controller items][5].get(); |
811 web::NavigationItemImpl* item3 = | |
812 static_cast<web::NavigationItemImpl*>([controller items][3]); | |
813 web::NavigationItemImpl* item4 = | |
814 static_cast<web::NavigationItemImpl*>([controller items][4]); | |
815 web::NavigationItemImpl* item5 = | |
816 static_cast<web::NavigationItemImpl*>([controller items][5]); | |
817 item1->SetIsCreatedFromPushState(true); | 803 item1->SetIsCreatedFromPushState(true); |
818 item4->SetIsCreatedFromHashChange(true); | 804 item4->SetIsCreatedFromHashChange(true); |
819 item5->SetIsCreatedFromPushState(true); | 805 item5->SetIsCreatedFromPushState(true); |
820 | 806 |
821 EXPECT_FALSE( | 807 EXPECT_FALSE( |
822 [controller isSameDocumentNavigationBetweenItem:item0 andItem:item0]); | 808 [controller isSameDocumentNavigationBetweenItem:item0 andItem:item0]); |
823 EXPECT_TRUE( | 809 EXPECT_TRUE( |
824 [controller isSameDocumentNavigationBetweenItem:item0 andItem:item1]); | 810 [controller isSameDocumentNavigationBetweenItem:item0 andItem:item1]); |
825 EXPECT_TRUE( | 811 EXPECT_TRUE( |
826 [controller isSameDocumentNavigationBetweenItem:item5 andItem:item3]); | 812 [controller isSameDocumentNavigationBetweenItem:item5 andItem:item3]); |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
909 EXPECT_EQ(1U, [session_controller_ backwardItems].size()); | 895 EXPECT_EQ(1U, [session_controller_ backwardItems].size()); |
910 EXPECT_EQ(1U, [session_controller_ forwardItems].size()); | 896 EXPECT_EQ(1U, [session_controller_ forwardItems].size()); |
911 | 897 |
912 [session_controller_ goToItemAtIndex:0]; | 898 [session_controller_ goToItemAtIndex:0]; |
913 web::NavigationItemList forwardItems = [session_controller_ forwardItems]; | 899 web::NavigationItemList forwardItems = [session_controller_ forwardItems]; |
914 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); | 900 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); |
915 EXPECT_EQ(2U, forwardItems.size()); | 901 EXPECT_EQ(2U, forwardItems.size()); |
916 EXPECT_EQ("http://www.example.com/2", forwardItems[1]->GetURL().spec()); | 902 EXPECT_EQ("http://www.example.com/2", forwardItems[1]->GetURL().spec()); |
917 } | 903 } |
918 | 904 |
919 // Tests going to entries with existing and non-existing indices. | 905 // Tests going to items with existing and non-existing indices. |
920 TEST_F(CRWSessionControllerTest, GoToItemAtIndex) { | 906 TEST_F(CRWSessionControllerTest, GoToItemAtIndex) { |
921 [session_controller_ | 907 [session_controller_ |
922 addPendingItem:GURL("http://www.example.com/0") | 908 addPendingItem:GURL("http://www.example.com/0") |
923 referrer:MakeReferrer("http://www.example.com/a") | 909 referrer:MakeReferrer("http://www.example.com/a") |
924 transition:ui::PAGE_TRANSITION_LINK | 910 transition:ui::PAGE_TRANSITION_LINK |
925 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 911 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
926 [session_controller_ commitPendingItem]; | 912 [session_controller_ commitPendingItem]; |
927 [session_controller_ | 913 [session_controller_ |
928 addPendingItem:GURL("http://www.example.com/1") | 914 addPendingItem:GURL("http://www.example.com/1") |
929 referrer:MakeReferrer("http://www.example.com/b") | 915 referrer:MakeReferrer("http://www.example.com/b") |
(...skipping 16 matching lines...) Expand all Loading... | |
946 addPendingItem:GURL("http://www.example.com/3") | 932 addPendingItem:GURL("http://www.example.com/3") |
947 referrer:MakeReferrer("http://www.example.com/d") | 933 referrer:MakeReferrer("http://www.example.com/d") |
948 transition:ui::PAGE_TRANSITION_LINK | 934 transition:ui::PAGE_TRANSITION_LINK |
949 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 935 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
950 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; | 936 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; |
951 EXPECT_EQ(3, session_controller_.get().currentNavigationIndex); | 937 EXPECT_EQ(3, session_controller_.get().currentNavigationIndex); |
952 EXPECT_EQ(2, session_controller_.get().previousNavigationIndex); | 938 EXPECT_EQ(2, session_controller_.get().previousNavigationIndex); |
953 EXPECT_TRUE([session_controller_ pendingItem]); | 939 EXPECT_TRUE([session_controller_ pendingItem]); |
954 EXPECT_TRUE([session_controller_ transientItem]); | 940 EXPECT_TRUE([session_controller_ transientItem]); |
955 | 941 |
956 // Going back should discard transient and pending entries. | 942 // Going back should discard transient and pending items. |
957 [session_controller_ goToItemAtIndex:1]; | 943 [session_controller_ goToItemAtIndex:1]; |
958 EXPECT_EQ(1, session_controller_.get().currentNavigationIndex); | 944 EXPECT_EQ(1, session_controller_.get().currentNavigationIndex); |
959 EXPECT_EQ(3, session_controller_.get().previousNavigationIndex); | 945 EXPECT_EQ(3, session_controller_.get().previousNavigationIndex); |
960 EXPECT_FALSE([session_controller_ pendingItem]); | 946 EXPECT_FALSE(session_controller_.get().pendingItem); |
961 EXPECT_FALSE([session_controller_ transientItem]); | 947 EXPECT_FALSE(session_controller_.get().transientItem); |
962 | 948 |
963 // Going forward should discard transient item. | 949 // Going forward should discard transient item. |
964 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; | 950 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; |
965 EXPECT_TRUE([session_controller_ transientItem]); | 951 EXPECT_TRUE(session_controller_.get().transientItem); |
966 [session_controller_ goToItemAtIndex:2]; | 952 [session_controller_ goToItemAtIndex:2]; |
967 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); | 953 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); |
968 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); | 954 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); |
969 EXPECT_FALSE([session_controller_ transientItem]); | 955 EXPECT_FALSE(session_controller_.get().transientItem); |
970 | 956 |
971 // Out of bounds navigations should be no-op. | 957 // Out of bounds navigations should be no-op. |
972 [session_controller_ goToItemAtIndex:-1]; | 958 [session_controller_ goToItemAtIndex:-1]; |
973 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); | 959 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); |
974 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); | 960 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); |
975 [session_controller_ goToItemAtIndex:NSIntegerMax]; | 961 [session_controller_ goToItemAtIndex:NSIntegerMax]; |
976 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); | 962 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); |
977 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); | 963 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); |
978 | 964 |
979 // Going to current index should not change the previous index. | 965 // Going to current index should not change the previous index. |
980 [session_controller_ goToItemAtIndex:2]; | 966 [session_controller_ goToItemAtIndex:2]; |
981 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); | 967 EXPECT_EQ(2, session_controller_.get().currentNavigationIndex); |
982 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); | 968 EXPECT_EQ(1, session_controller_.get().previousNavigationIndex); |
983 } | 969 } |
984 | 970 |
985 // Tests that visible URL is the same as transient URL if there are no committed | 971 // Tests that visible URL is the same as transient URL if there are no committed |
986 // entries. | 972 // items. |
987 TEST_F(CRWSessionControllerTest, VisibleItemWithSingleTransientItem) { | 973 TEST_F(CRWSessionControllerTest, VisibleItemWithSingleTransientItem) { |
988 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; | 974 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; |
989 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 975 web::NavigationItemImpl* visible_item = [session_controller_ visibleItem]; |
Eugene But (OOO till 7-30)
2017/03/09 16:10:58
Why? Using web::NavigationItem* seems like a suffi
kkhorimoto
2017/03/09 21:33:54
I've updated to use the more appropriate class. N
| |
990 ASSERT_TRUE(visible_item); | 976 ASSERT_TRUE(visible_item); |
991 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); | 977 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); |
992 } | 978 } |
993 | 979 |
994 // Tests that visible URL is the same as transient URL if there is a committed | 980 // Tests that visible URL is the same as transient URL if there is a committed |
995 // item. | 981 // item. |
996 TEST_F(CRWSessionControllerTest, VisibleItemWithCommittedAndTransientItems) { | 982 TEST_F(CRWSessionControllerTest, VisibleItemWithCommittedAndTransientItems) { |
997 [session_controller_ | 983 [session_controller_ |
998 addPendingItem:GURL("http://www.example.com/0") | 984 addPendingItem:GURL("http://www.example.com/0") |
999 referrer:MakeReferrer("http://www.example.com/a") | 985 referrer:MakeReferrer("http://www.example.com/a") |
1000 transition:ui::PAGE_TRANSITION_LINK | 986 transition:ui::PAGE_TRANSITION_LINK |
1001 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 987 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
1002 [session_controller_ commitPendingItem]; | 988 [session_controller_ commitPendingItem]; |
1003 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; | 989 [session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; |
1004 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 990 web::NavigationItemImpl* visible_item = [session_controller_ visibleItem]; |
1005 ASSERT_TRUE(visible_item); | 991 ASSERT_TRUE(visible_item); |
1006 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); | 992 EXPECT_EQ("http://www.example.com/", visible_item->GetURL().spec()); |
1007 } | 993 } |
1008 | 994 |
1009 // Tests that visible URL is the same as pending URL if it was user-initiated. | 995 // Tests that visible URL is the same as pending URL if it was user-initiated. |
1010 TEST_F(CRWSessionControllerTest, | 996 TEST_F(CRWSessionControllerTest, |
1011 VisibleItemWithSingleUserInitiatedPendingItem) { | 997 VisibleItemWithSingleUserInitiatedPendingItem) { |
1012 [session_controller_ | 998 [session_controller_ |
1013 addPendingItem:GURL("http://www.example.com/0") | 999 addPendingItem:GURL("http://www.example.com/0") |
1014 referrer:MakeReferrer("http://www.example.com/a") | 1000 referrer:MakeReferrer("http://www.example.com/a") |
1015 transition:ui::PAGE_TRANSITION_LINK | 1001 transition:ui::PAGE_TRANSITION_LINK |
1016 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1002 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
1017 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 1003 web::NavigationItemImpl* visible_item = [session_controller_ visibleItem]; |
1018 ASSERT_TRUE(visible_item); | 1004 ASSERT_TRUE(visible_item); |
1019 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); | 1005 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); |
1020 } | 1006 } |
1021 | 1007 |
1022 // Tests that visible URL is the same as pending URL if it was user-initiated | 1008 // Tests that visible URL is the same as pending URL if it was user-initiated |
1023 // and there is a committed item. | 1009 // and there is a committed item. |
1024 TEST_F(CRWSessionControllerTest, | 1010 TEST_F(CRWSessionControllerTest, |
1025 VisibleItemWithCommittedAndUserInitiatedPendingItem) { | 1011 VisibleItemWithCommittedAndUserInitiatedPendingItem) { |
1026 [session_controller_ | 1012 [session_controller_ |
1027 addPendingItem:GURL("http://www.example.com") | 1013 addPendingItem:GURL("http://www.example.com") |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1083 [session_controller_ commitPendingItem]; | 1069 [session_controller_ commitPendingItem]; |
1084 [session_controller_ | 1070 [session_controller_ |
1085 addPendingItem:GURL("http://www.example.com/0") | 1071 addPendingItem:GURL("http://www.example.com/0") |
1086 referrer:MakeReferrer("http://www.example.com/b") | 1072 referrer:MakeReferrer("http://www.example.com/b") |
1087 transition:ui::PAGE_TRANSITION_LINK | 1073 transition:ui::PAGE_TRANSITION_LINK |
1088 initiationType:web::NavigationInitiationType::USER_INITIATED]; | 1074 initiationType:web::NavigationInitiationType::USER_INITIATED]; |
1089 [session_controller_ commitPendingItem]; | 1075 [session_controller_ commitPendingItem]; |
1090 | 1076 |
1091 [session_controller_ setPendingItemIndex:0]; | 1077 [session_controller_ setPendingItemIndex:0]; |
1092 | 1078 |
1093 web::NavigationItem* visible_item = [session_controller_ visibleItem]; | 1079 web::NavigationItemImpl* visible_item = [session_controller_ visibleItem]; |
1094 ASSERT_TRUE(visible_item); | 1080 ASSERT_TRUE(visible_item); |
1095 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); | 1081 EXPECT_EQ("http://www.example.com/0", visible_item->GetURL().spec()); |
1096 } | 1082 } |
1097 | 1083 |
1098 // Tests that |-backwardItems| is empty if all preceding entries are | 1084 // Tests that |-backwardItems| is empty if all preceding items are |
1099 // redirects. | 1085 // redirects. |
1100 TEST_F(CRWSessionControllerTest, BackwardItemsForAllRedirects) { | 1086 TEST_F(CRWSessionControllerTest, BackwardItemsForAllRedirects) { |
1101 [session_controller_ | 1087 [session_controller_ |
1102 addPendingItem:GURL("http://www.example.com") | 1088 addPendingItem:GURL("http://www.example.com") |
1103 referrer:MakeReferrer("http://www.example.com/a") | 1089 referrer:MakeReferrer("http://www.example.com/a") |
1104 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT | 1090 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT |
1105 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 1091 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; |
1106 [session_controller_ commitPendingItem]; | 1092 [session_controller_ commitPendingItem]; |
1107 [session_controller_ | 1093 [session_controller_ |
1108 addPendingItem:GURL("http://www.example.com/0") | 1094 addPendingItem:GURL("http://www.example.com/0") |
1109 referrer:MakeReferrer("http://www.example.com/b") | 1095 referrer:MakeReferrer("http://www.example.com/b") |
1110 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT | 1096 transition:ui::PAGE_TRANSITION_CLIENT_REDIRECT |
1111 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; | 1097 initiationType:web::NavigationInitiationType::RENDERER_INITIATED]; |
1112 [session_controller_ commitPendingItem]; | 1098 [session_controller_ commitPendingItem]; |
1113 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); | 1099 EXPECT_EQ(0U, [session_controller_ backwardItems].size()); |
1114 } | 1100 } |
1115 | 1101 |
1116 } // anonymous namespace | 1102 } // anonymous namespace |
OLD | NEW |