Index: ios/chrome/app/application_delegate/user_activity_handler_unittest.mm |
diff --git a/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm b/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm |
index d1125e122751442b4592e584d7fe1ffa39ad59ec..6cedf957dcb29b1a54a09892a843a4a61cc59e27 100644 |
--- a/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm |
+++ b/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm |
@@ -10,7 +10,6 @@ |
#include "base/ios/ios_util.h" |
#include "base/mac/scoped_block.h" |
-#include "base/mac/scoped_nsobject.h" |
#include "base/strings/sys_string_conversions.h" |
#include "base/test/scoped_command_line.h" |
#include "components/handoff/handoff_utility.h" |
@@ -38,13 +37,17 @@ |
#include "ui/base/page_transition_types.h" |
#include "url/gurl.h" |
+#if !defined(__has_feature) || !__has_feature(objc_arc) |
+#error "This file requires ARC support." |
+#endif |
+ |
#pragma mark - Tab Mock |
// Tab mock for using in UserActivity tests. |
@interface UserActivityHandlerTabMock : NSObject |
@property(nonatomic, readonly) GURL url; |
-@property(nonatomic, readonly) NSString* tabId; |
+@property(nonatomic, copy, readonly) NSString* tabId; |
@end |
@@ -63,7 +66,7 @@ |
// TabModel mock for using in UserActivity tests. |
@interface UserActivityHandlerTabModelMock : NSObject<NSFastEnumeration> { |
@private |
- base::scoped_nsobject<NSMutableArray> _tabs; |
+ NSMutableArray* _tabs; |
} |
- (void)addTab:(Tab*)tab; |
@@ -76,13 +79,14 @@ |
- (instancetype)init { |
if ((self = [super init])) { |
- _tabs.reset([[NSMutableArray alloc] init]); |
+ _tabs = [[NSMutableArray alloc] init]; |
} |
return self; |
} |
- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState*)state |
- objects:(id*)stackbuf |
+ objects: |
+ (__unsafe_unretained id _Nonnull*)stackbuf |
count:(NSUInteger)len { |
return [_tabs countByEnumeratingWithState:state objects:stackbuf count:len]; |
} |
@@ -117,9 +121,9 @@ class UserActivityHandlerTest : public PlatformTest { |
protected: |
void swizzleHandleStartupParameters() { |
handle_startup_parameters_has_been_called_ = NO; |
- swizzle_block_.reset([^(id self) { |
+ swizzle_block_ = [^(id self) { |
handle_startup_parameters_has_been_called_ = YES; |
- } copy]); |
+ } copy]; |
user_activity_handler_swizzler_.reset(new ScopedBlockSwizzler( |
[UserActivityHandler class], |
@selector(handleStartupParametersWithTabOpener: |
@@ -139,10 +143,10 @@ class UserActivityHandlerTest : public PlatformTest { |
conditionBlock getCompletionHandler() { |
if (!completion_block_) { |
block_executed_ = NO; |
- completion_block_.reset([^(BOOL arg) { |
+ completion_block_ = [^(BOOL arg) { |
block_executed_ = YES; |
block_argument_ = arg; |
- } copy]); |
+ } copy]; |
} |
return completion_block_; |
} |
@@ -155,8 +159,8 @@ class UserActivityHandlerTest : public PlatformTest { |
__block BOOL block_executed_; |
__block BOOL block_argument_; |
std::unique_ptr<ScopedBlockSwizzler> user_activity_handler_swizzler_; |
- base::mac::ScopedBlock<startupParameterBlock> swizzle_block_; |
- base::mac::ScopedBlock<conditionBlock> completion_block_; |
+ startupParameterBlock swizzle_block_; |
+ conditionBlock completion_block_; |
__block BOOL handle_startup_parameters_has_been_called_; |
}; |
@@ -203,8 +207,8 @@ TEST(UserActivityHandlerNoFixtureTest, continueUserActivityFromGarbage) { |
@"thisIsGarbage", @"it.does.not.work", handoffWithSuffix, handoffWithPrefix |
]; |
for (NSString* userActivityType in userActivityTypes) { |
- base::scoped_nsobject<NSUserActivity> userActivity( |
- [[NSUserActivity alloc] initWithActivityType:userActivityType]); |
+ NSUserActivity* userActivity = |
+ [[NSUserActivity alloc] initWithActivityType:userActivityType]; |
[userActivity setWebpageURL:[NSURL URLWithString:@"http://www.google.com"]]; |
// The test will fail is a method of those objects is called. |
@@ -228,8 +232,8 @@ TEST(UserActivityHandlerNoFixtureTest, continueUserActivityFromGarbage) { |
// set. |
TEST(UserActivityHandlerNoFixtureTest, continueUserActivityNoWebpage) { |
// Setup. |
- base::scoped_nsobject<NSUserActivity> userActivity([[NSUserActivity alloc] |
- initWithActivityType:handoff::kChromeHandoffActivityType]); |
+ NSUserActivity* userActivity = [[NSUserActivity alloc] |
+ initWithActivityType:handoff::kChromeHandoffActivityType]; |
// The test will fail is a method of those objects is called. |
id tabOpenerMock = [OCMockObject mockForProtocol:@protocol(TabOpening)]; |
@@ -256,8 +260,8 @@ TEST(UserActivityHandlerNoFixtureTest, |
return; |
} |
// Setup. |
- base::scoped_nsobject<NSUserActivity> userActivity( |
- [[NSUserActivity alloc] initWithActivityType:CSSearchableItemActionType]); |
+ NSUserActivity* userActivity = |
+ [[NSUserActivity alloc] initWithActivityType:CSSearchableItemActionType]; |
NSString* invalidAction = |
[NSString stringWithFormat:@"%@.invalidAction", |
spotlight::StringFromSpotlightDomain( |
@@ -290,8 +294,8 @@ TEST(UserActivityHandlerNoFixtureTest, |
// by saving the url to startupParameters. |
TEST(UserActivityHandlerNoFixtureTest, continueUserActivityBackground) { |
// Setup. |
- base::scoped_nsobject<NSUserActivity> userActivity([[NSUserActivity alloc] |
- initWithActivityType:handoff::kChromeHandoffActivityType]); |
+ NSUserActivity* userActivity = [[NSUserActivity alloc] |
+ initWithActivityType:handoff::kChromeHandoffActivityType]; |
NSURL* nsurl = [NSURL URLWithString:@"http://www.google.com"]; |
[userActivity setWebpageURL:nsurl]; |
@@ -325,20 +329,19 @@ TEST(UserActivityHandlerNoFixtureTest, continueUserActivityBackground) { |
// by opening a new tab. |
TEST(UserActivityHandlerNoFixtureTest, continueUserActivityForeground) { |
// Setup. |
- base::scoped_nsobject<NSUserActivity> userActivity([[NSUserActivity alloc] |
- initWithActivityType:handoff::kChromeHandoffActivityType]); |
+ NSUserActivity* userActivity = [[NSUserActivity alloc] |
+ initWithActivityType:handoff::kChromeHandoffActivityType]; |
NSURL* nsurl = [NSURL URLWithString:@"http://www.google.com"]; |
[userActivity setWebpageURL:nsurl]; |
- base::scoped_nsobject<MockTabOpener> tabOpener([[MockTabOpener alloc] init]); |
+ MockTabOpener* tabOpener = [[MockTabOpener alloc] init]; |
id startupInformationMock = |
[OCMockObject mockForProtocol:@protocol(StartupInformation)]; |
[[[startupInformationMock stub] andReturnValue:@NO] isPresentingFirstRunUI]; |
- base::scoped_nsobject<AppStartupParameters> startupParams( |
- [[AppStartupParameters alloc] |
- initWithExternalURL:(GURL("http://www.google.com"))]); |
+ AppStartupParameters* startupParams = [[AppStartupParameters alloc] |
+ initWithExternalURL:(GURL("http://www.google.com"))]; |
[[[startupInformationMock stub] andReturn:startupParams] startupParameters]; |
// Action. |
@@ -356,18 +359,18 @@ TEST(UserActivityHandlerNoFixtureTest, continueUserActivityForeground) { |
// Tests that a new tab is created when application is started via Universal |
// Link. |
TEST_F(UserActivityHandlerTest, continueUserActivityBrowsingWeb) { |
- base::scoped_nsobject<NSUserActivity> userActivity([[NSUserActivity alloc] |
- initWithActivityType:NSUserActivityTypeBrowsingWeb]); |
+ NSUserActivity* userActivity = [[NSUserActivity alloc] |
+ initWithActivityType:NSUserActivityTypeBrowsingWeb]; |
// This URL is passed to application by iOS but is not used in this part |
// of application logic. |
NSURL* nsurl = [NSURL URLWithString:@"http://goo.gl/foo/bar"]; |
[userActivity setWebpageURL:nsurl]; |
- base::scoped_nsobject<MockTabOpener> tabOpener([[MockTabOpener alloc] init]); |
+ MockTabOpener* tabOpener = [[MockTabOpener alloc] init]; |
// Use an object to capture the startup paramters set by UserActivityHandler. |
- base::scoped_nsobject<FakeStartupInformation> fakeStartupInformation( |
- [[FakeStartupInformation alloc] init]); |
+ FakeStartupInformation* fakeStartupInformation = |
+ [[FakeStartupInformation alloc] init]; |
[fakeStartupInformation setIsPresentingFirstRunUI:NO]; |
BOOL result = |
@@ -395,8 +398,8 @@ TEST_F(UserActivityHandlerTest, continueUserActivityShortcutActions) { |
} |
// Setup. |
GURL gurlNewTab(kChromeUINewTabURL); |
- base::scoped_nsobject<FakeStartupInformation> fakeStartupInformation( |
- [[FakeStartupInformation alloc] init]); |
+ FakeStartupInformation* fakeStartupInformation = |
+ [[FakeStartupInformation alloc] init]; |
NSArray* parametersToTest = @[ |
@[ |
@@ -422,8 +425,8 @@ TEST_F(UserActivityHandlerTest, continueUserActivityShortcutActions) { |
switches::kEnableSpotlightActions); |
for (id parameters in parametersToTest) { |
- base::scoped_nsobject<NSUserActivity> userActivity([[NSUserActivity alloc] |
- initWithActivityType:CSSearchableItemActionType]); |
+ NSUserActivity* userActivity = [[NSUserActivity alloc] |
+ initWithActivityType:CSSearchableItemActionType]; |
NSString* action = [NSString |
stringWithFormat:@"%@.%@", spotlight::StringFromSpotlightDomain( |
spotlight::DOMAIN_ACTIONS), |
@@ -458,8 +461,8 @@ TEST(UserActivityHandlerNoFixtureTest, handleStartupParamsNonU2F) { |
// Setup. |
GURL gurl("http://www.google.com"); |
- base::scoped_nsobject<AppStartupParameters> startupParams( |
- [[AppStartupParameters alloc] initWithExternalURL:gurl]); |
+ AppStartupParameters* startupParams = |
+ [[AppStartupParameters alloc] initWithExternalURL:gurl]; |
[startupParams setLaunchInIncognito:YES]; |
id startupInformationMock = |
@@ -468,7 +471,7 @@ TEST(UserActivityHandlerNoFixtureTest, handleStartupParamsNonU2F) { |
[[[startupInformationMock stub] andReturn:startupParams] startupParameters]; |
[[startupInformationMock expect] setStartupParameters:nil]; |
- base::scoped_nsobject<MockTabOpener> tabOpener([[MockTabOpener alloc] init]); |
+ MockTabOpener* tabOpener = [[MockTabOpener alloc] init]; |
// The test will fail is a method of this object is called. |
id browserViewMock = |
@@ -493,18 +496,18 @@ TEST(UserActivityHandlerNoFixtureTest, handleStartupParamsU2F) { |
GURL gurl("chromium://u2f-callback?isU2F=1&tabID=B05B1860"); |
NSString* tabID = [U2FController tabIDFromResponseURL:gurl]; |
- base::scoped_nsobject<AppStartupParameters> startupParams( |
- [[AppStartupParameters alloc] initWithExternalURL:gurl]); |
+ AppStartupParameters* startupParams = |
+ [[AppStartupParameters alloc] initWithExternalURL:gurl]; |
[startupParams setLaunchInIncognito:YES]; |
- base::scoped_nsobject<UserActivityHandlerTabMock> tabMock( |
- [[UserActivityHandlerTabMock alloc] init]); |
+ UserActivityHandlerTabMock* tabMock = |
+ [[UserActivityHandlerTabMock alloc] init]; |
id tabOCMock = [OCMockObject partialMockForObject:tabMock]; |
[[[tabOCMock stub] andReturn:tabID] tabId]; |
- base::scoped_nsobject<UserActivityHandlerTabModelMock> tabModel( |
- [[UserActivityHandlerTabModelMock alloc] init]); |
- [tabModel addTab:(Tab*)tabMock.get()]; |
+ UserActivityHandlerTabModelMock* tabModel = |
+ [[UserActivityHandlerTabModelMock alloc] init]; |
+ [tabModel addTab:(Tab*)tabMock]; |
id startupInformationMock = |
[OCMockObject mockForProtocol:@protocol(StartupInformation)]; |
@@ -514,12 +517,12 @@ TEST(UserActivityHandlerNoFixtureTest, handleStartupParamsU2F) { |
id browserViewInformationMock = |
[OCMockObject mockForProtocol:@protocol(BrowserViewInformation)]; |
- [[[browserViewInformationMock stub] andReturn:(TabModel*)tabModel.get()] |
+ [[[browserViewInformationMock stub] andReturn:(TabModel*)tabModel] |
mainTabModel]; |
- [[[browserViewInformationMock stub] andReturn:(TabModel*)tabModel.get()] |
+ [[[browserViewInformationMock stub] andReturn:(TabModel*)tabModel] |
otrTabModel]; |
- base::scoped_nsobject<MockTabOpener> tabOpener([[MockTabOpener alloc] init]); |
+ MockTabOpener* tabOpener = [[MockTabOpener alloc] init]; |
// Action. |
[UserActivityHandler |
@@ -538,8 +541,8 @@ TEST_F(UserActivityHandlerTest, performActionForShortcutItemWithRealShortcut) { |
// Setup. |
GURL gurlNewTab("chrome://newtab/"); |
- base::scoped_nsobject<FakeStartupInformation> fakeStartupInformation( |
- [[FakeStartupInformation alloc] init]); |
+ FakeStartupInformation* fakeStartupInformation = |
+ [[FakeStartupInformation alloc] init]; |
[fakeStartupInformation setIsPresentingFirstRunUI:NO]; |
NSArray* parametersToTest = @[ |
@@ -551,9 +554,9 @@ TEST_F(UserActivityHandlerTest, performActionForShortcutItemWithRealShortcut) { |
swizzleHandleStartupParameters(); |
for (id parameters in parametersToTest) { |
- base::scoped_nsobject<UIApplicationShortcutItem> shortcut( |
+ UIApplicationShortcutItem* shortcut = |
[[UIApplicationShortcutItem alloc] initWithType:parameters[0] |
- localizedTitle:parameters[0]]); |
+ localizedTitle:parameters[0]]; |
resetHandleStartupParametersHasBeenCalled(); |
@@ -593,9 +596,9 @@ TEST_F(UserActivityHandlerTest, performActionForShortcutItemWithFirstRunUI) { |
[OCMockObject mockForProtocol:@protocol(StartupInformation)]; |
[[[startupInformationMock stub] andReturnValue:@YES] isPresentingFirstRunUI]; |
- base::scoped_nsobject<UIApplicationShortcutItem> shortcut( |
+ UIApplicationShortcutItem* shortcut = |
[[UIApplicationShortcutItem alloc] initWithType:@"OpenNewTab" |
- localizedTitle:@""]); |
+ localizedTitle:@""]; |
swizzleHandleStartupParameters(); |