Index: ios/web/navigation/crw_session_controller_unittest.mm |
diff --git a/ios/web/navigation/crw_session_controller_unittest.mm b/ios/web/navigation/crw_session_controller_unittest.mm |
index 1411b1171c6c4a35d2d857b1acc806b7e869dfcd..7667e942f45cbce09baa64a51f0d9a245f8ab31c 100644 |
--- a/ios/web/navigation/crw_session_controller_unittest.mm |
+++ b/ios/web/navigation/crw_session_controller_unittest.mm |
@@ -9,7 +9,6 @@ |
#include <utility> |
#include "base/logging.h" |
-#import "base/mac/scoped_nsobject.h" |
#include "base/memory/ptr_util.h" |
#include "base/strings/sys_string_conversions.h" |
#import "ios/web/navigation/crw_session_controller+private_constructors.h" |
@@ -23,6 +22,10 @@ |
#import "testing/gtest_mac.h" |
#include "testing/platform_test.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
using UserAgentOverrideOption = web::NavigationManager::UserAgentOverrideOption; |
@interface CRWSessionController (Testing) |
@@ -47,8 +50,8 @@ namespace { |
class CRWSessionControllerTest : public PlatformTest { |
protected: |
void SetUp() override { |
- session_controller_.reset( |
- [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
+ session_controller_ = |
+ [[CRWSessionController alloc] initWithBrowserState:&browser_state_]; |
} |
web::Referrer MakeReferrer(const std::string& url) { |
@@ -57,7 +60,7 @@ class CRWSessionControllerTest : public PlatformTest { |
web::TestWebThreadBundle thread_bundle_; |
web::TestBrowserState browser_state_; |
- base::scoped_nsobject<CRWSessionController> session_controller_; |
+ CRWSessionController* session_controller_; |
}; |
TEST_F(CRWSessionControllerTest, Init) { |
@@ -521,8 +524,8 @@ TEST_F(CRWSessionControllerTest, CopyState) { |
userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
// Create source session controller with 1 committed item. |
- base::scoped_nsobject<CRWSessionController> other_session_controller( |
- [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
+ CRWSessionController* other_session_controller = |
+ [[CRWSessionController alloc] initWithBrowserState:&browser_state_]; |
[other_session_controller |
addPendingItem:GURL("http://www.url.com/0") |
referrer:web::Referrer() |
@@ -540,7 +543,7 @@ TEST_F(CRWSessionControllerTest, CopyState) { |
// Insert and verify the state of target session controller. |
EXPECT_TRUE([session_controller_ canPruneAllButLastCommittedItem]); |
[session_controller_ |
- copyStateFromSessionControllerAndPrune:other_session_controller.get()]; |
+ copyStateFromSessionControllerAndPrune:other_session_controller]; |
EXPECT_EQ(2U, [session_controller_ items].size()); |
EXPECT_EQ(1, [session_controller_ lastCommittedItemIndex]); |
@@ -574,13 +577,13 @@ TEST_F(CRWSessionControllerTest, CopyStateFromEmptySessionController) { |
[session_controller_ commitPendingItem]; |
// Create empty source session controller. |
- base::scoped_nsobject<CRWSessionController> other_session_controller( |
- [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
+ CRWSessionController* other_session_controller = |
+ [[CRWSessionController alloc] initWithBrowserState:&browser_state_]; |
// Insert and verify the state of target session controller. |
EXPECT_TRUE([session_controller_ canPruneAllButLastCommittedItem]); |
[session_controller_ |
- copyStateFromSessionControllerAndPrune:other_session_controller.get()]; |
+ copyStateFromSessionControllerAndPrune:other_session_controller]; |
EXPECT_EQ(2U, [session_controller_ items].size()); |
EXPECT_EQ(1, [session_controller_ lastCommittedItemIndex]); |
EXPECT_EQ(0, [session_controller_ previousItemIndex]); |
@@ -598,8 +601,8 @@ TEST_F(CRWSessionControllerTest, CopyStateToEmptySessionController) { |
EXPECT_FALSE([session_controller_ canPruneAllButLastCommittedItem]); |
// Create source session controller with 1 committed item. |
- base::scoped_nsobject<CRWSessionController> other_session_controller( |
- [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
+ CRWSessionController* other_session_controller = |
+ [[CRWSessionController alloc] initWithBrowserState:&browser_state_]; |
[other_session_controller |
addPendingItem:GURL("http://www.url.com/0") |
referrer:web::Referrer() |
@@ -646,8 +649,8 @@ TEST_F(CRWSessionControllerTest, CopyStateDuringPendingHistoryNavigation) { |
[session_controller_ commitPendingItem]; |
// Create source session controller with 1 committed item. |
- base::scoped_nsobject<CRWSessionController> other_session_controller( |
- [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
+ CRWSessionController* other_session_controller = |
+ [[CRWSessionController alloc] initWithBrowserState:&browser_state_]; |
[other_session_controller |
addPendingItem:GURL("http://www.url.com/0") |
referrer:web::Referrer() |
@@ -700,8 +703,8 @@ TEST_F(CRWSessionControllerTest, CopyStateWithTransientItem) { |
[session_controller_ addTransientItemWithURL:second_url]; |
// Create source session controller with 1 committed item. |
- base::scoped_nsobject<CRWSessionController> other_session_controller( |
- [[CRWSessionController alloc] initWithBrowserState:&browser_state_]); |
+ CRWSessionController* other_session_controller = |
+ [[CRWSessionController alloc] initWithBrowserState:&browser_state_]; |
[other_session_controller |
addPendingItem:GURL("http://www.url.com/0") |
referrer:web::Referrer() |
@@ -764,14 +767,14 @@ std::unique_ptr<web::NavigationItem> CreateNavigationItem( |
TEST_F(CRWSessionControllerTest, CreateWithEmptyNavigations) { |
std::vector<std::unique_ptr<web::NavigationItem>> items; |
- base::scoped_nsobject<CRWSessionController> controller( |
+ CRWSessionController* controller = |
[[CRWSessionController alloc] initWithBrowserState:&browser_state_ |
navigationItems:std::move(items) |
- lastCommittedItemIndex:0]); |
- EXPECT_TRUE(controller.get().items.empty()); |
- EXPECT_EQ(controller.get().lastCommittedItemIndex, -1); |
- EXPECT_EQ(controller.get().previousItemIndex, -1); |
- EXPECT_FALSE(controller.get().currentItem); |
+ lastCommittedItemIndex:0]; |
+ EXPECT_TRUE(controller.items.empty()); |
+ EXPECT_EQ(controller.lastCommittedItemIndex, -1); |
+ EXPECT_EQ(controller.previousItemIndex, -1); |
+ EXPECT_FALSE(controller.currentItem); |
} |
TEST_F(CRWSessionControllerTest, CreateWithNavList) { |
@@ -782,14 +785,14 @@ TEST_F(CRWSessionControllerTest, CreateWithNavList) { |
"http://www.google.com", @"Yahoo")); |
items.push_back(CreateNavigationItem("http://www.espn.com", |
"http://www.nothing.com", @"ESPN")); |
- base::scoped_nsobject<CRWSessionController> controller( |
+ CRWSessionController* controller = |
[[CRWSessionController alloc] initWithBrowserState:&browser_state_ |
navigationItems:std::move(items) |
- lastCommittedItemIndex:1]); |
+ lastCommittedItemIndex:1]; |
- EXPECT_EQ(controller.get().items.size(), 3U); |
- EXPECT_EQ(controller.get().lastCommittedItemIndex, 1); |
- EXPECT_EQ(controller.get().previousItemIndex, -1); |
+ EXPECT_EQ(controller.items.size(), 3U); |
+ EXPECT_EQ(controller.lastCommittedItemIndex, 1); |
+ EXPECT_EQ(controller.previousItemIndex, -1); |
// Sanity check the current item, the NavigationItem unit test will ensure |
// the entire object is created properly. |
EXPECT_EQ([controller currentItem]->GetURL(), GURL("http://www.yahoo.com")); |
@@ -797,7 +800,7 @@ TEST_F(CRWSessionControllerTest, CreateWithNavList) { |
// Tests index of previous navigation item. |
TEST_F(CRWSessionControllerTest, PreviousNavigationItem) { |
- EXPECT_EQ(session_controller_.get().previousItemIndex, -1); |
+ EXPECT_EQ(session_controller_.previousItemIndex, -1); |
[session_controller_ |
addPendingItem:GURL("http://www.url.com") |
referrer:MakeReferrer("http://www.referer.com") |
@@ -805,7 +808,7 @@ TEST_F(CRWSessionControllerTest, PreviousNavigationItem) { |
initiationType:web::NavigationInitiationType::USER_INITIATED |
userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
[session_controller_ commitPendingItem]; |
- EXPECT_EQ(session_controller_.get().previousItemIndex, -1); |
+ EXPECT_EQ(session_controller_.previousItemIndex, -1); |
[session_controller_ |
addPendingItem:GURL("http://www.url1.com") |
referrer:MakeReferrer("http://www.referer.com") |
@@ -813,7 +816,7 @@ TEST_F(CRWSessionControllerTest, PreviousNavigationItem) { |
initiationType:web::NavigationInitiationType::USER_INITIATED |
userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
[session_controller_ commitPendingItem]; |
- EXPECT_EQ(session_controller_.get().previousItemIndex, 0); |
+ EXPECT_EQ(session_controller_.previousItemIndex, 0); |
[session_controller_ |
addPendingItem:GURL("http://www.url2.com") |
referrer:MakeReferrer("http://www.referer.com") |
@@ -822,19 +825,19 @@ TEST_F(CRWSessionControllerTest, PreviousNavigationItem) { |
userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
[session_controller_ commitPendingItem]; |
- EXPECT_EQ(session_controller_.get().previousItemIndex, 1); |
+ EXPECT_EQ(session_controller_.previousItemIndex, 1); |
[session_controller_ goToItemAtIndex:1 discardNonCommittedItems:NO]; |
- EXPECT_EQ(session_controller_.get().previousItemIndex, 2); |
+ EXPECT_EQ(session_controller_.previousItemIndex, 2); |
[session_controller_ goToItemAtIndex:0 discardNonCommittedItems:NO]; |
- EXPECT_EQ(session_controller_.get().previousItemIndex, 1); |
+ EXPECT_EQ(session_controller_.previousItemIndex, 1); |
[session_controller_ goToItemAtIndex:1 discardNonCommittedItems:NO]; |
- EXPECT_EQ(session_controller_.get().previousItemIndex, 0); |
+ EXPECT_EQ(session_controller_.previousItemIndex, 0); |
[session_controller_ goToItemAtIndex:2 discardNonCommittedItems:NO]; |
- EXPECT_EQ(session_controller_.get().previousItemIndex, 1); |
+ EXPECT_EQ(session_controller_.previousItemIndex, 1); |
} |
TEST_F(CRWSessionControllerTest, PushNewItem) { |
@@ -845,10 +848,10 @@ TEST_F(CRWSessionControllerTest, PushNewItem) { |
"http://www.firstpage.com", @"Second")); |
items.push_back(CreateNavigationItem("http://www.thirdpage.com", |
"http://www.secondpage.com", @"Third")); |
- base::scoped_nsobject<CRWSessionController> controller( |
+ CRWSessionController* controller = |
[[CRWSessionController alloc] initWithBrowserState:&browser_state_ |
navigationItems:std::move(items) |
- lastCommittedItemIndex:0]); |
+ lastCommittedItemIndex:0]; |
GURL pushPageGurl1("http://www.firstpage.com/#push1"); |
NSString* stateObject1 = @"{'foo': 1}"; |
@@ -857,7 +860,7 @@ TEST_F(CRWSessionControllerTest, PushNewItem) { |
transition:ui::PAGE_TRANSITION_LINK]; |
web::NavigationItemImpl* pushedItem = [controller currentItem]; |
NSUInteger expectedCount = 2; |
- EXPECT_EQ(expectedCount, controller.get().items.size()); |
+ EXPECT_EQ(expectedCount, controller.items.size()); |
EXPECT_EQ(pushPageGurl1, pushedItem->GetURL()); |
EXPECT_TRUE(pushedItem->IsCreatedFromPushState()); |
EXPECT_NSEQ(stateObject1, pushedItem->GetSerializedStateObject()); |
@@ -870,7 +873,7 @@ TEST_F(CRWSessionControllerTest, PushNewItem) { |
transition:ui::PAGE_TRANSITION_LINK]; |
pushedItem = [controller currentItem]; |
expectedCount = 3; |
- EXPECT_EQ(expectedCount, controller.get().items.size()); |
+ EXPECT_EQ(expectedCount, controller.items.size()); |
EXPECT_EQ(pushPageGurl2, pushedItem->GetURL()); |
EXPECT_TRUE(pushedItem->IsCreatedFromPushState()); |
EXPECT_EQ(nil, pushedItem->GetSerializedStateObject()); |
@@ -894,10 +897,10 @@ TEST_F(CRWSessionControllerTest, IsSameDocumentNavigation) { |
// Push state navigation. |
items.push_back(CreateNavigationItem("http://foo.com/bar#bar", |
"http://foo.com/bar", @"Sixth")); |
- base::scoped_nsobject<CRWSessionController> controller( |
+ CRWSessionController* controller = |
[[CRWSessionController alloc] initWithBrowserState:&browser_state_ |
navigationItems:std::move(items) |
- lastCommittedItemIndex:0]); |
+ lastCommittedItemIndex:0]; |
web::NavigationItemImpl* item0 = [controller items][0].get(); |
web::NavigationItemImpl* item1 = [controller items][1].get(); |
web::NavigationItemImpl* item2 = [controller items][2].get(); |
@@ -932,10 +935,10 @@ TEST_F(CRWSessionControllerTest, UpdateCurrentItem) { |
"http://www.firstpage.com", @"Second")); |
items.push_back(CreateNavigationItem("http://www.thirdpage.com", |
"http://www.secondpage.com", @"Third")); |
- base::scoped_nsobject<CRWSessionController> controller( |
+ CRWSessionController* controller = |
[[CRWSessionController alloc] initWithBrowserState:&browser_state_ |
navigationItems:std::move(items) |
- lastCommittedItemIndex:0]); |
+ lastCommittedItemIndex:0]; |
GURL replacePageGurl1("http://www.firstpage.com/#replace1"); |
NSString* stateObject1 = @"{'foo': 1}"; |
@@ -946,7 +949,7 @@ TEST_F(CRWSessionControllerTest, UpdateCurrentItem) { |
stateObject:stateObject1]; |
web::NavigationItemImpl* replacedItem = [controller currentItem]; |
NSUInteger expectedCount = 3; |
- EXPECT_EQ(expectedCount, controller.get().items.size()); |
+ EXPECT_EQ(expectedCount, controller.items.size()); |
EXPECT_EQ(replacePageGurl1, replacedItem->GetURL()); |
EXPECT_FALSE(replacedItem->IsCreatedFromPushState()); |
EXPECT_NSEQ(stateObject1, replacedItem->GetSerializedStateObject()); |
@@ -954,9 +957,9 @@ TEST_F(CRWSessionControllerTest, UpdateCurrentItem) { |
// Replace current item and check size and fields again. |
GURL replacePageGurl2("http://www.firstpage.com/#replace2"); |
- [controller.get() updateCurrentItemWithURL:replacePageGurl2 stateObject:nil]; |
+ [controller updateCurrentItemWithURL:replacePageGurl2 stateObject:nil]; |
replacedItem = [controller currentItem]; |
- EXPECT_EQ(expectedCount, controller.get().items.size()); |
+ EXPECT_EQ(expectedCount, controller.items.size()); |
EXPECT_EQ(replacePageGurl2, replacedItem->GetURL()); |
EXPECT_FALSE(replacedItem->IsCreatedFromPushState()); |
EXPECT_NSEQ(nil, replacedItem->GetSerializedStateObject()); |
@@ -993,7 +996,7 @@ TEST_F(CRWSessionControllerTest, TestBackwardForwardItems) { |
userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
[session_controller_ commitPendingItem]; |
- EXPECT_EQ(3, session_controller_.get().lastCommittedItemIndex); |
+ EXPECT_EQ(3, session_controller_.lastCommittedItemIndex); |
web::NavigationItemList back_items = [session_controller_ backwardItems]; |
EXPECT_EQ(2U, back_items.size()); |
EXPECT_TRUE([session_controller_ forwardItems].empty()); |
@@ -1047,51 +1050,51 @@ TEST_F(CRWSessionControllerTest, GoToItemAtIndex) { |
initiationType:web::NavigationInitiationType::USER_INITIATED |
userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
[session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; |
- EXPECT_EQ(3, session_controller_.get().lastCommittedItemIndex); |
- EXPECT_EQ(2, session_controller_.get().previousItemIndex); |
+ EXPECT_EQ(3, session_controller_.lastCommittedItemIndex); |
+ EXPECT_EQ(2, session_controller_.previousItemIndex); |
EXPECT_TRUE([session_controller_ pendingItem]); |
EXPECT_TRUE([session_controller_ transientItem]); |
// Going back and forth without discaring transient and pending items. |
[session_controller_ goToItemAtIndex:1 discardNonCommittedItems:NO]; |
- EXPECT_EQ(1, session_controller_.get().lastCommittedItemIndex); |
- EXPECT_EQ(3, session_controller_.get().previousItemIndex); |
- EXPECT_TRUE(session_controller_.get().pendingItem); |
- EXPECT_TRUE(session_controller_.get().transientItem); |
+ EXPECT_EQ(1, session_controller_.lastCommittedItemIndex); |
+ EXPECT_EQ(3, session_controller_.previousItemIndex); |
+ EXPECT_TRUE(session_controller_.pendingItem); |
+ EXPECT_TRUE(session_controller_.transientItem); |
[session_controller_ goToItemAtIndex:3 discardNonCommittedItems:NO]; |
- EXPECT_EQ(3, session_controller_.get().lastCommittedItemIndex); |
- EXPECT_EQ(1, session_controller_.get().previousItemIndex); |
- EXPECT_TRUE(session_controller_.get().pendingItem); |
- EXPECT_TRUE(session_controller_.get().transientItem); |
+ EXPECT_EQ(3, session_controller_.lastCommittedItemIndex); |
+ EXPECT_EQ(1, session_controller_.previousItemIndex); |
+ EXPECT_TRUE(session_controller_.pendingItem); |
+ EXPECT_TRUE(session_controller_.transientItem); |
// Going back should discard transient and pending items. |
[session_controller_ goToItemAtIndex:1 discardNonCommittedItems:YES]; |
- EXPECT_EQ(1, session_controller_.get().lastCommittedItemIndex); |
- EXPECT_EQ(3, session_controller_.get().previousItemIndex); |
- EXPECT_FALSE(session_controller_.get().pendingItem); |
- EXPECT_FALSE(session_controller_.get().transientItem); |
+ EXPECT_EQ(1, session_controller_.lastCommittedItemIndex); |
+ EXPECT_EQ(3, session_controller_.previousItemIndex); |
+ EXPECT_FALSE(session_controller_.pendingItem); |
+ EXPECT_FALSE(session_controller_.transientItem); |
// Going forward should discard transient item. |
[session_controller_ addTransientItemWithURL:GURL("http://www.example.com")]; |
- EXPECT_TRUE(session_controller_.get().transientItem); |
+ EXPECT_TRUE(session_controller_.transientItem); |
[session_controller_ goToItemAtIndex:2 discardNonCommittedItems:YES]; |
- EXPECT_EQ(2, session_controller_.get().lastCommittedItemIndex); |
- EXPECT_EQ(1, session_controller_.get().previousItemIndex); |
- EXPECT_FALSE(session_controller_.get().transientItem); |
+ EXPECT_EQ(2, session_controller_.lastCommittedItemIndex); |
+ EXPECT_EQ(1, session_controller_.previousItemIndex); |
+ EXPECT_FALSE(session_controller_.transientItem); |
// Out of bounds navigations should be no-op. |
[session_controller_ goToItemAtIndex:-1 discardNonCommittedItems:NO]; |
- EXPECT_EQ(2, session_controller_.get().lastCommittedItemIndex); |
- EXPECT_EQ(1, session_controller_.get().previousItemIndex); |
+ EXPECT_EQ(2, session_controller_.lastCommittedItemIndex); |
+ EXPECT_EQ(1, session_controller_.previousItemIndex); |
[session_controller_ goToItemAtIndex:NSIntegerMax |
discardNonCommittedItems:NO]; |
- EXPECT_EQ(2, session_controller_.get().lastCommittedItemIndex); |
- EXPECT_EQ(1, session_controller_.get().previousItemIndex); |
+ EXPECT_EQ(2, session_controller_.lastCommittedItemIndex); |
+ EXPECT_EQ(1, session_controller_.previousItemIndex); |
// Going to current index should not change the previous index. |
[session_controller_ goToItemAtIndex:2 discardNonCommittedItems:NO]; |
- EXPECT_EQ(2, session_controller_.get().lastCommittedItemIndex); |
- EXPECT_EQ(1, session_controller_.get().previousItemIndex); |
+ EXPECT_EQ(2, session_controller_.lastCommittedItemIndex); |
+ EXPECT_EQ(1, session_controller_.previousItemIndex); |
} |
// Tests that visible URL is the same as transient URL if there are no committed |
@@ -1261,7 +1264,7 @@ TEST_F(CRWSessionControllerTest, NewPendingItemIsHiddenFromHistory) { |
initiationType:web::NavigationInitiationType::USER_INITIATED |
userAgentOverrideOption:UserAgentOverrideOption::INHERIT]; |
- EXPECT_EQ(1, session_controller_.get().lastCommittedItemIndex); |
+ EXPECT_EQ(1, session_controller_.lastCommittedItemIndex); |
EXPECT_TRUE([session_controller_ pendingItem]); |
EXPECT_EQ(-1, [session_controller_ pendingItemIndex]); |
EXPECT_EQ(GURL("http://www.example.com/2"), [session_controller_ currentURL]); |
@@ -1286,7 +1289,7 @@ TEST_F(CRWSessionControllerTest, |
[session_controller_ |
addTransientItemWithURL:GURL("http://www.example.com/1")]; |
- EXPECT_EQ(0, session_controller_.get().lastCommittedItemIndex); |
+ EXPECT_EQ(0, session_controller_.lastCommittedItemIndex); |
EXPECT_TRUE([session_controller_ transientItem]); |
EXPECT_EQ(GURL("http://www.example.com/1"), [session_controller_ currentURL]); |
@@ -1301,7 +1304,7 @@ TEST_F(CRWSessionControllerTest, BackwardItemsShouldBeEmptyIfFirstIsTransient) { |
[session_controller_ |
addTransientItemWithURL:GURL("http://www.example.com/1")]; |
- EXPECT_EQ(-1, session_controller_.get().lastCommittedItemIndex); |
+ EXPECT_EQ(-1, session_controller_.lastCommittedItemIndex); |
EXPECT_TRUE([session_controller_ transientItem]); |
EXPECT_EQ(GURL("http://www.example.com/1"), [session_controller_ currentURL]); |