| Index: ios/chrome/browser/ui/browser_view_controller_unittest.mm
|
| diff --git a/ios/chrome/browser/ui/browser_view_controller_unittest.mm b/ios/chrome/browser/ui/browser_view_controller_unittest.mm
|
| index 1d274ef776b77d36ba4b4bb0edf9ebb859a42774..71ccdc0cfd1d0062e6480d29b581e3906479f14d 100644
|
| --- a/ios/chrome/browser/ui/browser_view_controller_unittest.mm
|
| +++ b/ios/chrome/browser/ui/browser_view_controller_unittest.mm
|
| @@ -10,8 +10,6 @@
|
| #include "base/command_line.h"
|
| #include "base/files/file_path.h"
|
| #include "base/files/file_util.h"
|
| -#include "base/mac/scoped_nsautorelease_pool.h"
|
| -#include "base/mac/scoped_nsobject.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "base/path_service.h"
|
| #include "base/strings/sys_string_conversions.h"
|
| @@ -67,6 +65,10 @@
|
| #include "ui/base/l10n/l10n_util_mac.h"
|
| #include "ui/base/test/ios/ui_image_test_utils.h"
|
|
|
| +#if !defined(__has_feature) || !__has_feature(objc_arc)
|
| +#error "This file requires ARC support."
|
| +#endif
|
| +
|
| using web::NavigationManagerImpl;
|
| using web::WebStateImpl;
|
|
|
| @@ -179,9 +181,9 @@ class BrowserViewControllerTest : public BlockCleanupTest {
|
| bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model);
|
|
|
| // Set up mock TabModel, Tab, and CRWWebController.
|
| - base::scoped_nsobject<id> tabModel([[BVCTestTabModel alloc] init]);
|
| - base::scoped_nsobject<id> currentTab([[BVCTestTabMock alloc]
|
| - initWithRepresentedObject:[OCMockObject niceMockForClass:[Tab class]]]);
|
| + id tabModel = [[BVCTestTabModel alloc] init];
|
| + id currentTab = [[BVCTestTabMock alloc]
|
| + initWithRepresentedObject:[OCMockObject niceMockForClass:[Tab class]]];
|
| id webControllerMock =
|
| [OCMockObject niceMockForClass:[CRWWebController class]];
|
|
|
| @@ -199,7 +201,7 @@ class BrowserViewControllerTest : public BlockCleanupTest {
|
| [[tabModel stub] closeAllTabs];
|
|
|
| // Stub methods for Tab.
|
| - UIView* dummyView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
|
| + UIView* dummyView = [[UIView alloc] initWithFrame:CGRectZero];
|
| [[[currentTab stub] andReturn:dummyView] view];
|
| [[[currentTab stub] andReturn:webControllerMock] webController];
|
|
|
| @@ -212,11 +214,11 @@ class BrowserViewControllerTest : public BlockCleanupTest {
|
| // Set up mock ShareController.
|
| id shareController =
|
| [OCMockObject niceMockForProtocol:@protocol(ShareProtocol)];
|
| - shareController_.reset([shareController retain]);
|
| + shareController_ = shareController;
|
|
|
| id passKitController =
|
| [OCMockObject niceMockForClass:[PKAddPassesViewController class]];
|
| - passKitViewController_.reset([passKitController retain]);
|
| + passKitViewController_ = passKitController;
|
|
|
| // Set up a fake toolbar model for the dependency factory to return.
|
| // It will be owned (and destroyed) by the BVC.
|
| @@ -235,19 +237,19 @@ class BrowserViewControllerTest : public BlockCleanupTest {
|
| newWebToolbarControllerWithDelegate:[OCMArg any]
|
| urlLoader:[OCMArg any]
|
| preloadProvider:[OCMArg any]];
|
| - [[[factory stub] andReturn:shareController_.get()] shareControllerInstance];
|
| - [[[factory stub] andReturn:passKitViewController_.get()]
|
| + [[[factory stub] andReturn:shareController_] shareControllerInstance];
|
| + [[[factory stub] andReturn:passKitViewController_]
|
| newPassKitViewControllerForPass:nil];
|
| [[[factory stub] andReturn:nil] showPassKitErrorInfoBarForManager:nil];
|
|
|
| - webController_.reset([webControllerMock retain]);
|
| - tabModel_.reset([tabModel retain]);
|
| - tab_.reset([currentTab retain]);
|
| - dependencyFactory_.reset([factory retain]);
|
| - bvc_.reset([[BrowserViewController alloc]
|
| + webController_ = webControllerMock;
|
| + tabModel_ = tabModel;
|
| + tab_ = currentTab;
|
| + dependencyFactory_ = factory;
|
| + bvc_ = [[BrowserViewController alloc]
|
| initWithTabModel:tabModel_
|
| browserState:chrome_browser_state_.get()
|
| - dependencyFactory:factory]);
|
| + dependencyFactory:factory];
|
|
|
| // Load TemplateURLService.
|
| TemplateURLService* template_url_service =
|
| @@ -258,7 +260,7 @@ class BrowserViewControllerTest : public BlockCleanupTest {
|
| // Force the view to load.
|
| UIWindow* window = [[UIWindow alloc] initWithFrame:CGRectZero];
|
| [window addSubview:[bvc_ view]];
|
| - window_.reset(window);
|
| + window_ = window;
|
| }
|
|
|
| void TearDown() override {
|
| @@ -266,10 +268,8 @@ class BrowserViewControllerTest : public BlockCleanupTest {
|
| BlockCleanupTest::TearDown();
|
| }
|
|
|
| - base::scoped_nsobject<GenericChromeCommand> GetCommandWithTag(NSInteger tag) {
|
| - base::scoped_nsobject<GenericChromeCommand> command(
|
| - [[GenericChromeCommand alloc] initWithTag:tag]);
|
| - return command;
|
| + GenericChromeCommand* GetCommandWithTag(NSInteger tag) {
|
| + return [[GenericChromeCommand alloc] initWithTag:tag];
|
| }
|
|
|
| MOCK_METHOD0(OnCompletionCalled, void());
|
| @@ -278,15 +278,15 @@ class BrowserViewControllerTest : public BlockCleanupTest {
|
| IOSChromeScopedTestingLocalState local_state_;
|
| std::unique_ptr<TestChromeBrowserState> chrome_browser_state_;
|
| std::unique_ptr<WebStateImpl> webStateImpl_;
|
| - base::scoped_nsobject<CRWWebController> webController_;
|
| - base::scoped_nsobject<Tab> tab_;
|
| - base::scoped_nsobject<TabModel> tabModel_;
|
| + CRWWebController* webController_;
|
| + Tab* tab_;
|
| + TabModel* tabModel_;
|
| ToolbarModelIOS* toolbarModelIOS_;
|
| - base::scoped_nsprotocol<id<ShareProtocol>> shareController_;
|
| - base::scoped_nsobject<PKAddPassesViewController> passKitViewController_;
|
| - base::scoped_nsobject<OCMockObject> dependencyFactory_;
|
| - base::scoped_nsobject<BrowserViewController> bvc_;
|
| - base::scoped_nsobject<UIWindow> window_;
|
| + id<ShareProtocol> shareController_;
|
| + PKAddPassesViewController* passKitViewController_;
|
| + OCMockObject* dependencyFactory_;
|
| + BrowserViewController* bvc_;
|
| + UIWindow* window_;
|
| };
|
|
|
| // TODO(crbug.com/228714): These tests pretty much only tested that BVC passed
|
| @@ -316,7 +316,7 @@ TEST_F(BrowserViewControllerTest, DISABLED_TestPageLoadComplete) {
|
| }
|
|
|
| TEST_F(BrowserViewControllerTest, TestTabSelected) {
|
| - id tabMock = (id)tab_.get();
|
| + id tabMock = (id)tab_;
|
| [[tabMock expect] wasShown];
|
| [bvc_ tabSelected:tab_];
|
| EXPECT_EQ([[tab_ view] superview], static_cast<UIView*>([bvc_ contentArea]));
|
| @@ -324,10 +324,10 @@ TEST_F(BrowserViewControllerTest, TestTabSelected) {
|
| }
|
|
|
| TEST_F(BrowserViewControllerTest, TestTabSelectedIsNewTab) {
|
| - base::scoped_nsobject<id> block([^{
|
| + id block = [^{
|
| return GURL(kChromeUINewTabURL);
|
| - } copy]);
|
| - id tabMock = (id)tab_.get();
|
| + } copy];
|
| + id tabMock = (id)tab_;
|
| [tabMock onSelector:@selector(url) callBlockExpectation:block];
|
| [[tabMock expect] wasShown];
|
| [bvc_ tabSelected:tab_];
|
| @@ -336,7 +336,7 @@ TEST_F(BrowserViewControllerTest, TestTabSelectedIsNewTab) {
|
| }
|
|
|
| TEST_F(BrowserViewControllerTest, TestTabDeselected) {
|
| - OCMockObject* tabMock = static_cast<OCMockObject*>(tab_.get());
|
| + OCMockObject* tabMock = static_cast<OCMockObject*>(tab_);
|
| [[tabMock expect] wasHidden];
|
| NSDictionary* userInfoWithThisTab =
|
| [NSDictionary dictionaryWithObject:tab_ forKey:kTabModelTabKey];
|
| @@ -396,17 +396,17 @@ TEST_F(BrowserViewControllerTest, DISABLED_TestShieldWasTapped) {
|
| // load on a handset, but not stop the load on a tablet.
|
| TEST_F(BrowserViewControllerTest,
|
| TestLocationBarBeganEdit_whenPageLoadIsInProgress) {
|
| - OCMockObject* tabMock = static_cast<OCMockObject*>(tab_.get());
|
| + OCMockObject* tabMock = static_cast<OCMockObject*>(tab_);
|
|
|
| // Have the TestToolbarModel indicate that a page load is in progress.
|
| static_cast<TestToolbarModelIOS*>(toolbarModelIOS_)->set_is_loading(true);
|
|
|
| // The tab should only stop loading on handsets.
|
| if (!IsIPadIdiom())
|
| - [[static_cast<OCMockObject*>(webController_.get()) expect] stopLoading];
|
| + [[static_cast<OCMockObject*>(webController_) expect] stopLoading];
|
| [bvc_ locationBarBeganEdit:nil];
|
|
|
| - EXPECT_OCMOCK_VERIFY(static_cast<OCMockObject*>(webController_.get()));
|
| + EXPECT_OCMOCK_VERIFY(static_cast<OCMockObject*>(webController_));
|
| EXPECT_OCMOCK_VERIFY(tabMock);
|
| }
|
|
|
| @@ -414,7 +414,7 @@ TEST_F(BrowserViewControllerTest,
|
| // to stop the load on a handset or a tablet.
|
| TEST_F(BrowserViewControllerTest,
|
| TestLocationBarBeganEdit_whenPageLoadIsComplete) {
|
| - OCMockObject* tabMock = static_cast<OCMockObject*>(tab_.get());
|
| + OCMockObject* tabMock = static_cast<OCMockObject*>(tab_);
|
|
|
| // Have the TestToolbarModel indicate that the page load is complete.
|
| static_cast<TestToolbarModelIOS*>(toolbarModelIOS_)->set_is_loading(false);
|
| @@ -430,9 +430,9 @@ TEST_F(BrowserViewControllerTest,
|
| TEST_F(BrowserViewControllerTest, TestSharePageCommandHandling) {
|
| GURL expectedUrl("http://www.testurl.net");
|
| NSString* expectedTitle = @"title";
|
| - static_cast<BVCTestTabMock*>(tab_.get()).lastCommittedURL = expectedUrl;
|
| - static_cast<BVCTestTabMock*>(tab_.get()).visibleURL = expectedUrl;
|
| - OCMockObject* tabMock = static_cast<OCMockObject*>(tab_.get());
|
| + static_cast<BVCTestTabMock*>(tab_).lastCommittedURL = expectedUrl;
|
| + static_cast<BVCTestTabMock*>(tab_).visibleURL = expectedUrl;
|
| + OCMockObject* tabMock = static_cast<OCMockObject*>(tab_);
|
| ios::ChromeBrowserState* ptr = chrome_browser_state_.get();
|
| [[[tabMock stub] andReturnValue:OCMOCK_VALUE(ptr)] browserState];
|
| [[[tabMock stub] andReturn:expectedTitle] title];
|
| @@ -443,7 +443,7 @@ TEST_F(BrowserViewControllerTest, TestSharePageCommandHandling) {
|
| [[[tabMock stub] andReturn:tabSnapshot] generateSnapshotWithOverlay:NO
|
| visibleFrameOnly:YES];
|
| OCMockObject* shareControllerMock =
|
| - static_cast<OCMockObject*>(shareController_.get());
|
| + static_cast<OCMockObject*>(shareController_);
|
| // Passing non zero/nil |fromRect| and |inView| parameters to satisfy protocol
|
| // requirements.
|
| BOOL (^shareDataChecker)
|
| @@ -479,15 +479,15 @@ TEST_F(BrowserViewControllerTest, TestSharePageWhenClosing) {
|
| GURL expectedUrl("http://www.testurl.net");
|
| NSString* expectedTitle = @"title";
|
| // Sets WebState to nil because [tab close] clears the WebState.
|
| - static_cast<BVCTestTabMock*>(tab_.get()).webState = nil;
|
| - static_cast<BVCTestTabMock*>(tab_.get()).lastCommittedURL = expectedUrl;
|
| - static_cast<BVCTestTabMock*>(tab_.get()).visibleURL = expectedUrl;
|
| - OCMockObject* tabMock = static_cast<OCMockObject*>(tab_.get());
|
| + static_cast<BVCTestTabMock*>(tab_).webState = nil;
|
| + static_cast<BVCTestTabMock*>(tab_).lastCommittedURL = expectedUrl;
|
| + static_cast<BVCTestTabMock*>(tab_).visibleURL = expectedUrl;
|
| + OCMockObject* tabMock = static_cast<OCMockObject*>(tab_);
|
| [[[tabMock stub] andReturn:expectedTitle] title];
|
| [[[tabMock stub] andReturn:expectedTitle] originalTitle];
|
| // Explicitly disallow the execution of the ShareController.
|
| OCMockObject* shareControllerMock =
|
| - static_cast<OCMockObject*>(shareController_.get());
|
| + static_cast<OCMockObject*>(shareController_);
|
| [[shareControllerMock reject]
|
| shareWithData:[OCMArg any]
|
| controller:bvc_
|
| @@ -514,10 +514,10 @@ TEST_F(BrowserViewControllerTest, TestShareDidCompleteWithSuccess) {
|
| // receiving a -shareDidComplete callback for a failed share.
|
| TEST_F(BrowserViewControllerTest, TestShareDidCompleteWithError) {
|
| [[dependencyFactory_ reject] showSnackbarWithMessage:OCMOCK_ANY];
|
| - base::scoped_nsobject<OCMockObject> mockCoordinator(
|
| - [[OCMockObject niceMockForClass:[AlertCoordinator class]] retain]);
|
| + OCMockObject* mockCoordinator =
|
| + [OCMockObject niceMockForClass:[AlertCoordinator class]];
|
| AlertCoordinator* alertCoordinator =
|
| - static_cast<AlertCoordinator*>(mockCoordinator.get());
|
| + static_cast<AlertCoordinator*>(mockCoordinator);
|
| NSString* errorTitle =
|
| l10n_util::GetNSString(IDS_IOS_SHARE_TO_ERROR_ALERT_TITLE);
|
| NSString* errorMessage = l10n_util::GetNSString(IDS_IOS_SHARE_TO_ERROR_ALERT);
|
| @@ -572,7 +572,7 @@ TEST_F(BrowserViewControllerTest, TestPassKitErrorInfoBarDisplayed) {
|
|
|
| TEST_F(BrowserViewControllerTest, TestClearPresentedState) {
|
| OCMockObject* shareControllerMock =
|
| - static_cast<OCMockObject*>(shareController_.get());
|
| + static_cast<OCMockObject*>(shareController_);
|
| [[shareControllerMock expect] cancelShareAnimated:NO];
|
| EXPECT_CALL(*this, OnCompletionCalled());
|
| [bvc_ clearPresentedStateWithCompletion:^{
|
|
|