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:^{ |