diff --git a/Branch-TestBed/Branch-SDK-Tests/BranchActivityItemTests.m b/Branch-TestBed/Branch-SDK-Tests/BranchActivityItemTests.m new file mode 100644 index 000000000..db47368c8 --- /dev/null +++ b/Branch-TestBed/Branch-SDK-Tests/BranchActivityItemTests.m @@ -0,0 +1,45 @@ +// +// BranchActivityItemTests.m +// Branch-SDK-Tests +// +// Created by Nipun Singh on 9/21/23. +// Copyright © 2023 Branch, Inc. All rights reserved. +// + +#import +#import "Branch.h" + +@interface BranchActivityItemTests: XCTestCase +@end + +@implementation BranchActivityItemTests + +- (void)setUp { + [super setUp]; +} + +- (void)tearDown { + [super tearDown]; +} + +- (void)testGetBranchActivityItemWithAllParams { + NSDictionary *params = @{@"key": @"value"}; + NSString *feature = @"feature4"; + NSString *stage = @"stage3"; + NSArray *tags = @[@"tag3", @"tag4"]; + NSString *campaign = @"campaign1"; + NSString *alias = @"alias1"; + BranchActivityItemProvider *provider = [Branch getBranchActivityItemWithParams:params feature:feature stage:stage campaign:campaign tags:tags alias:alias]; + if ([[provider item] isKindOfClass:[NSURL class]]) { + NSURL *urlObject = (NSURL *)[provider item]; + NSString *url = [urlObject absoluteString]; + + NSLog(@"Provider URL as String: %@", url); + + XCTAssertTrue([url isEqualToString:@"https://bnctestbed.app.link/alias1"]); + } else { + XCTFail("Provider Data is not of type NSURL"); + } +} + +@end diff --git a/Branch-TestBed/Branch-SDK-Tests/BranchClassTests.m b/Branch-TestBed/Branch-SDK-Tests/BranchClassTests.m new file mode 100644 index 000000000..1beae85b3 --- /dev/null +++ b/Branch-TestBed/Branch-SDK-Tests/BranchClassTests.m @@ -0,0 +1,282 @@ +// +// BranchClassTests.m +// Branch-SDK-Tests +// +// Created by Nipun Singh on 9/25/23. +// Copyright © 2023 Branch, Inc. All rights reserved. +// + +#import +#import "Branch.h" +#import "BranchConstants.h" +#import "BNCPasteboard.h" +#import "BNCAppGroupsData.h" +#import "BNCPartnerParameters.h" + +@interface BranchClassTests : XCTestCase +@property (nonatomic, strong) Branch *branch; +@end + +@implementation BranchClassTests + +- (void)setUp { + [super setUp]; + self.branch = [Branch getInstance]; +} + +- (void)tearDown { + self.branch = nil; + [super tearDown]; +} + +- (void)testResetUserSession { + [self.branch resetUserSession]; + //XCTAssertEqual([BNCPreferenceHelper sharedInstance]., BNCInitStatusUninitialized, @"Initialization status should be BNCInitStatusUninitialized"); +} + +- (void)testIsUserIdentified { + [self.branch setIdentity: @"userId"]; + XCTAssertTrue([self.branch isUserIdentified], @"User should be identified"); +} + +- (void)testDisableAdNetworkCallouts { + [self.branch disableAdNetworkCallouts:YES]; + XCTAssertTrue([BNCPreferenceHelper sharedInstance].disableAdNetworkCallouts, @"AdNetwork callouts should be disabled"); +} + +- (void)testSetNetworkTimeout { + [self.branch setNetworkTimeout:5.0]; + XCTAssertEqual([BNCPreferenceHelper sharedInstance].timeout, 5.0, @"Network timeout should be set to 5.0"); +} + +- (void)testSetMaxRetries { + [self.branch setMaxRetries:3]; + XCTAssertEqual([BNCPreferenceHelper sharedInstance].retryCount, 3, @"Max retries should be set to 3"); +} + +- (void)testSetRetryInterval { + [self.branch setRetryInterval:2.0]; + XCTAssertEqual([BNCPreferenceHelper sharedInstance].retryInterval, 2.0, @"Retry interval should be set to 2.0"); +} + +- (void)testSetRequestMetadataKeyAndValue { + [self.branch setRequestMetadataKey:@"key" value:@"value"]; + NSDictionary *metadata = [BNCPreferenceHelper sharedInstance].requestMetadataDictionary; + XCTAssertEqualObjects(metadata[@"key"], @"value"); +} + +- (void)testSetTrackingDisabled { + // Initial state + XCTAssertFalse([BNCPreferenceHelper sharedInstance].trackingDisabled); + + // Set tracking to disabled + [Branch setTrackingDisabled:YES]; + XCTAssertTrue([BNCPreferenceHelper sharedInstance].trackingDisabled); + + // Revert tracking to enabled + [Branch setTrackingDisabled:NO]; + XCTAssertFalse([BNCPreferenceHelper sharedInstance].trackingDisabled); +} + +//- (void)testSetReferrerGbraidValidityWindow { +// // Initial state, should be nil or non-existing +// XCTAssertNil([BNCPreferenceHelper sharedInstance].referringURLQueryParameters[BRANCH_REQUEST_KEY_REFERRER_GBRAID][BRANCH_URL_QUERY_PARAMETERS_VALIDITY_WINDOW_KEY]); +// +// // Set validity window +// NSTimeInterval validityWindow = 1592000.0; +// [Branch setReferrerGbraidValidityWindow:validityWindow]; +// [NSThread sleepForTimeInterval:1.0]; +// NSLog(@"After setting 2: %@", [BNCPreferenceHelper sharedInstance].referringURLQueryParameters); +// +// // Check if it's set correctly +// XCTAssertEqual([BNCPreferenceHelper sharedInstance].referrerGBRAIDValidityWindow, validityWindow); +//} + +- (void)testCheckPasteboardOnInstall { + [self.branch checkPasteboardOnInstall]; + BOOL checkOnInstall = [BNCPasteboard sharedInstance].checkOnInstall; + XCTAssertTrue(checkOnInstall); +} + +- (void)testWillShowPasteboardToast_ShouldReturnYes { + [BNCPreferenceHelper sharedInstance].randomizedBundleToken = nil; + [BNCPasteboard sharedInstance].checkOnInstall = YES; + UIPasteboard.generalPasteboard.URL = [NSURL URLWithString:@"https://example.com"]; + + BOOL result = [self.branch willShowPasteboardToast]; + XCTAssertTrue(result); +} + +- (void)testWillShowPasteboardToast_ShouldReturnNo { + [BNCPreferenceHelper sharedInstance].randomizedBundleToken = @"some_token"; + [BNCPasteboard sharedInstance].checkOnInstall = NO; + + BOOL result = [self.branch willShowPasteboardToast]; + XCTAssertFalse(result); +} + +- (void)testSetAppClipAppGroup { + NSString *testAppGroup = @"testAppGroup"; + [self.branch setAppClipAppGroup:testAppGroup]; + NSString *actualAppGroup = [BNCAppGroupsData shared].appGroup; + + XCTAssertEqualObjects(testAppGroup, actualAppGroup); +} + +- (void)testClearPartnerParameters { + [self.branch addFacebookPartnerParameterWithName:@"ph" value:@"123456789"]; + [[BNCPartnerParameters shared] clearAllParameters]; + + NSDictionary *result = [[BNCPartnerParameters shared] parameterJson]; + XCTAssertEqual([result count], 0, @"Parameters should be empty after calling clearAllParameters"); +} + +- (void)testAddFacebookParameterWithName_Value { + [self.branch addFacebookPartnerParameterWithName:@"name" value:@"3D4F2BF07DC1BE38B20C653EE9A7E446158F84E525BBB98FEDF721CB5A40A346"]; + + NSDictionary *result = [[BNCPartnerParameters shared] parameterJson][@"fb"]; + XCTAssertEqualObjects(result[@"name"], @"3D4F2BF07DC1BE38B20C653EE9A7E446158F84E525BBB98FEDF721CB5A40A346", @"Should add parameter for Facebook"); +} + +- (void)testAddSnapParameterWithName_Value { + [self.branch addSnapPartnerParameterWithName:@"name" value:@"3D4F2BF07DC1BE38B20C653EE9A7E446158F84E525BBB98FEDF721CB5A40A346"]; + + NSDictionary *result = [[BNCPartnerParameters shared] parameterJson][@"snap"]; + XCTAssertEqualObjects(result[@"name"], @"3D4F2BF07DC1BE38B20C653EE9A7E446158F84E525BBB98FEDF721CB5A40A346", @"Should add parameter for Snap"); +} + +- (void)testGetFirstReferringBranchUniversalObject_ClickedBranchLink { + NSString *installParamsString = @"{\"$canonical_identifier\":\"content/12345\",\"$creation_timestamp\":1694557342247,\"$desktop_url\":\"https://example.com/home\",\"$og_description\":\"My Content Description\",\"$og_title\":\"My Content Title\",\"+click_timestamp\":1695749249,\"+clicked_branch_link\":1,\"+is_first_session\":1,\"+match_guaranteed\":1,\"custom\":\"data\",\"key1\":\"value1\",\"~campaign\":\"content 123 launch\",\"~channel\":\"facebook\",\"~creation_source\":3,\"~feature\":\"sharing\",\"~id\":1230269548213984984,\"~referring_link\":\"https://bnctestbed.app.link/uSPHktjO2Cb\"}"; + [[BNCPreferenceHelper sharedInstance] setInstallParams: installParamsString]; + + BranchUniversalObject *result = [self.branch getFirstReferringBranchUniversalObject];\ + XCTAssertNotNil(result); + XCTAssertEqualObjects(result.title, @"My Content Title"); + XCTAssertEqualObjects(result.canonicalIdentifier, @"content/12345"); +} + +- (void)testGetFirstReferringBranchUniversalObject_NotClickedBranchLink { + NSString *installParamsString = @"{\"+clicked_branch_link\":false,\"+is_first_session\":true}"; + [[BNCPreferenceHelper sharedInstance] setInstallParams: installParamsString]; + + BranchUniversalObject *result = [self.branch getFirstReferringBranchUniversalObject]; + XCTAssertNil(result); +} + +- (void)testGetFirstReferringBranchLinkProperties_ClickedBranchLink { + NSString *installParamsString = @"{\"+clicked_branch_link\":1,\"+is_first_session\":1,\"~campaign\":\"content 123 launch\"}"; + [[BNCPreferenceHelper sharedInstance] setInstallParams:installParamsString]; + + BranchLinkProperties *result = [self.branch getFirstReferringBranchLinkProperties]; + XCTAssertNotNil(result); + XCTAssertEqualObjects(result.campaign, @"content 123 launch"); +} + +- (void)testGetFirstReferringBranchLinkProperties_NotClickedBranchLink { + NSString *installParamsString = @"{\"+clicked_branch_link\":false,\"+is_first_session\":true}"; + [[BNCPreferenceHelper sharedInstance] setInstallParams:installParamsString]; + + BranchLinkProperties *result = [self.branch getFirstReferringBranchLinkProperties]; + XCTAssertNil(result); +} + +- (void)testGetFirstReferringParams { + NSString *installParamsString = @"{\"+clicked_branch_link\":true,\"+is_first_session\":true}"; + [[BNCPreferenceHelper sharedInstance] setInstallParams:installParamsString]; + + NSDictionary *result = [self.branch getFirstReferringParams]; + XCTAssertEqualObjects([result objectForKey:@"+clicked_branch_link"], @true); +} + +- (void)testGetLatestReferringParams { + NSString *sessionParamsString = @"{\"+clicked_branch_link\":true,\"+is_first_session\":false}"; + // Assume setSessionParams: exists or use a method to mock sessionParams + [[BNCPreferenceHelper sharedInstance] setSessionParams:sessionParamsString]; + + NSDictionary *result = [self.branch getLatestReferringParams]; + XCTAssertEqualObjects([result objectForKey:@"+clicked_branch_link"], @true); +} + +- (void)testGetLatestReferringParamsSynchronous { + NSString *sessionParamsString = @"{\"+clicked_branch_link\":true,\"+is_first_session\":false}"; + // Assume setSessionParams: exists or use a method to mock sessionParams + [[BNCPreferenceHelper sharedInstance] setSessionParams:sessionParamsString]; + + NSDictionary *result = [self.branch getLatestReferringParamsSynchronous]; + XCTAssertEqualObjects([result objectForKey:@"+clicked_branch_link"], @true); +} + +- (void)testGetLatestReferringBranchUniversalObject_ClickedBranchLink { + NSString *sessionParamsString = @"{\"+clicked_branch_link\":1,\"+is_first_session\":false,\"$og_title\":\"My Latest Content\"}"; + [[BNCPreferenceHelper sharedInstance] setSessionParams:sessionParamsString]; + + BranchUniversalObject *result = [self.branch getLatestReferringBranchUniversalObject]; + XCTAssertNotNil(result); + XCTAssertEqualObjects(result.title, @"My Latest Content"); +} + +- (void)testGetLatestReferringBranchLinkProperties_ClickedBranchLink { + NSString *sessionParamsString = @"{\"+clicked_branch_link\":true,\"+is_first_session\":false,\"~campaign\":\"latest campaign\"}"; + [[BNCPreferenceHelper sharedInstance] setSessionParams:sessionParamsString]; + + BranchLinkProperties *result = [self.branch getLatestReferringBranchLinkProperties]; + XCTAssertNotNil(result); + XCTAssertEqualObjects(result.campaign, @"latest campaign"); +} + +- (void)testGetShortURL { + XCTestExpectation *expectation = [self expectationWithDescription:@"Fetching URL"]; + + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + NSString *shortURL = [self.branch getShortURL]; + + XCTAssertNotNil(shortURL, @"URL should not be nil"); + XCTAssertTrue([shortURL hasPrefix:@"https://"], @"URL should start with 'https://'"); + + [expectation fulfill]; + }); + + [self waitForExpectationsWithTimeout:10 handler:^(NSError *error) { + if (error) { + NSLog(@"Timeout Error: %@", error); + } + }]; +} + +- (void)testGetShortURLWithParams { + XCTestExpectation *expectation = [self expectationWithDescription:@"Fetching URL"]; + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + NSDictionary *params = @{@"key": @"value"}; + NSArray *tags = @[@"tag1", @"tag2"]; + NSString *randomAlias = [[NSUUID UUID] UUIDString]; + [self.branch getShortUrlWithParams:params andTags:tags andAlias:randomAlias andMatchDuration:10 andChannel:@"channel1" andFeature:@"feature1" andStage:@"stage1" andCampaign:@"campaign1" andCallback:^(NSString * _Nullable url, NSError * _Nullable error) { + + NSString *expectedURL = [NSString stringWithFormat:@"https://bnctestbed.app.link/%@", randomAlias]; + XCTAssertEqualObjects(url, expectedURL, @"URL should match the expected format"); + + [expectation fulfill]; + }]; + }); + + [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) { + if (error) { + NSLog(@"Timeout Error: %@", error); + } + }]; +} + +- (void)testGetLongURLWithParamsAndChannelAndTagsAndFeatureAndStageAndAlias { + NSDictionary *params = @{@"key": @"value"}; + NSString *channel = @"channel1"; + NSArray *tags = @[@"tag1", @"tag2"]; + NSString *feature = @"feature1"; + NSString *stage = @"stage1"; + NSString *alias = @"alias1"; + + NSString *generatedURL = [self.branch getLongURLWithParams:params andChannel:channel andTags:tags andFeature:feature andStage:stage andAlias:alias]; + NSString *expectedURL = @"https://bnctestbed.app.link?key=value&channel=channel1&tags=tag1,tag2&feature=feature1&stage=stage1&alias=alias1"; + + XCTAssertEqualObjects(generatedURL, expectedURL, @"URL should match the expected format"); +} + +@end diff --git a/Branch-TestBed/Branch-SDK-Tests/BranchEvent.Test.m b/Branch-TestBed/Branch-SDK-Tests/BranchEvent.Test.m index 7ea82607b..bcee76f73 100644 --- a/Branch-TestBed/Branch-SDK-Tests/BranchEvent.Test.m +++ b/Branch-TestBed/Branch-SDK-Tests/BranchEvent.Test.m @@ -11,6 +11,7 @@ #import "BranchConstants.h" #import "BranchEvent.h" #import "BNCDeviceInfo.h" +#import "NSError+Branch.h" @interface Branch (BranchEventTest) - (void) processNextQueueItem; @@ -662,4 +663,27 @@ - (void)testJsonStringForAdTypeNative { XCTAssertTrue([[event jsonStringForAdType:BranchEventAdTypeNative] isEqualToString:@"NATIVE"]); } +- (void) testCustomEventWithContentItem { + BranchUniversalObject *buo = [[BranchUniversalObject new] initWithTitle:@"buoTitle"]; + BranchEvent *event = [BranchEvent customEventWithName:@"testEvent" contentItem:buo]; + + XCTAssertTrue(event.contentItems.count == 1); + XCTAssertTrue([event.contentItems.firstObject.title isEqualToString:@"buoTitle"]); +} + +- (void)testLogEventWithCompletion_InvalidEventName { + XCTestExpectation *expectation = [self expectationWithDescription:@"Logging Event"]; + BranchEvent *event = [BranchEvent customEventWithName:@""]; + + [event logEventWithCompletion:^(BOOL success, NSError * _Nullable error) { + XCTAssertFalse(success, @"Success should be NO for invalid event name"); + XCTAssertNotNil(error, @"Error should not be nil for invalid event name"); + XCTAssertEqual(error.code, BNCGeneralError, @"Error code should match expected value for invalid event name"); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:5 handler:nil]; +} + + @end diff --git a/Branch-TestBed/Branch-SDK-Tests/BranchSetIdentityRequestTests.m b/Branch-TestBed/Branch-SDK-Tests/BranchSetIdentityRequestTests.m index c6b156661..9b404bf8b 100644 --- a/Branch-TestBed/Branch-SDK-Tests/BranchSetIdentityRequestTests.m +++ b/Branch-TestBed/Branch-SDK-Tests/BranchSetIdentityRequestTests.m @@ -50,8 +50,6 @@ - (void)testSetIdentityWithNilUserId { [self waitForExpectationsWithTimeout:5 handler:nil]; }]; - - } - (void)testSetIdentityWithUserId { @@ -64,7 +62,8 @@ - (void)testSetIdentityWithUserId { XCTAssertEqualObjects(@"testUserId", preferenceHelper.userIdentity); }]; - } + + @end diff --git a/Branch-TestBed/Branch-SDK-Tests/BranchUniversalObject.Test.m b/Branch-TestBed/Branch-SDK-Tests/BranchUniversalObject.Test.m index 97c90755f..c11950f87 100644 --- a/Branch-TestBed/Branch-SDK-Tests/BranchUniversalObject.Test.m +++ b/Branch-TestBed/Branch-SDK-Tests/BranchUniversalObject.Test.m @@ -278,4 +278,32 @@ - (void) testRegisterView { [self waitForExpectationsWithTimeout:2.0 handler:nil]; } +- (void) testInitWithTitle { + BranchUniversalObject *buo = [[BranchUniversalObject new] initWithTitle:@"buoTitle"]; + XCTAssertEqual(buo.title, @"buoTitle"); +} + +- (void)testGetShortURLWithParams { + BranchUniversalObject *buo = [[BranchUniversalObject new] initWithTitle:@"buoTitle"]; + BranchLinkProperties *lp = [BranchLinkProperties new]; + NSString *randomAlias = [[NSUUID UUID] UUIDString]; + lp.alias = randomAlias; + + XCTestExpectation *expectation = [self expectationWithDescription:@"Fetching URL"]; + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + + [buo getShortUrlWithLinkProperties:lp andCallback:^(NSString * _Nullable url, NSError * _Nullable error) { + NSString *expectedURL = [NSString stringWithFormat:@"https://bnctestbed.app.link/%@", randomAlias]; + XCTAssertEqualObjects(url, expectedURL, @"URL should match the expected format"); + [expectation fulfill]; + }]; + }); + + [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) { + if (error) { + NSLog(@"Timeout Error: %@", error); + } + }]; +} + @end diff --git a/Branch-TestBed/Branch-SDK-Unhosted-Tests/Branch_setBranchKeyTests.m b/Branch-TestBed/Branch-SDK-Unhosted-Tests/Branch_setBranchKeyTests.m index 7cc15272f..3792b3933 100644 --- a/Branch-TestBed/Branch-SDK-Unhosted-Tests/Branch_setBranchKeyTests.m +++ b/Branch-TestBed/Branch-SDK-Unhosted-Tests/Branch_setBranchKeyTests.m @@ -8,6 +8,7 @@ #import #import "Branch.h" +#import "NSError+Branch.h" // expose private methods used by tests @interface Branch() @@ -96,4 +97,37 @@ - (void)testSetBranchKeyWithError_validKeyTwice { XCTAssert([[Branch branchKey] isEqualToString:testKey]); } +- (void)testResetBranchKey { + NSString *testKey = @"key_live_foo"; + [Branch setBranchKey:testKey]; + + XCTAssert([[Branch branchKey] isEqualToString:testKey]); + + [Branch resetBranchKey]; + XCTAssertNil([Branch branchKey], @"Branch key should be reset to nil"); +} + +- (void)testSetBranchKey_Error_InvalidKeyType { + NSError *error = nil; + NSNumber *invalidKey = @123; + + [Branch setBranchKey:(NSString *)invalidKey error:&error]; + XCTAssertNotNil(error); + XCTAssertEqual(error.code, BNCInitError); + XCTAssertEqualObjects(error.localizedFailureReason, @"Invalid Branch key of type '__NSCFNumber'."); +} + +- (void)testSetBranchKey_Error_InvalidKeyFormat { + NSError *error = nil; + NSString *invalidFormatKey = @"invalid_format"; + + [Branch setBranchKey:invalidFormatKey error:&error]; + XCTAssertNotNil(error); + XCTAssertEqual(error.code, BNCInitError); + XCTAssertEqualObjects(error.localizedFailureReason, @"Invalid Branch key format. Did you add your Branch key to your Info.plist? Passed key is 'invalid_format'."); +} + + + + @end diff --git a/Branch-TestBed/Branch-TestBed.xcodeproj/project.pbxproj b/Branch-TestBed/Branch-TestBed.xcodeproj/project.pbxproj index d1e171596..23aae0a8f 100644 --- a/Branch-TestBed/Branch-TestBed.xcodeproj/project.pbxproj +++ b/Branch-TestBed/Branch-TestBed.xcodeproj/project.pbxproj @@ -248,6 +248,7 @@ C12320B52808DB90007771C0 /* BranchQRCodeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C12320B42808DB90007771C0 /* BranchQRCodeTests.m */; }; C12320B7280E2060007771C0 /* BranchQRCode.h in Headers */ = {isa = PBXBuildFile; fileRef = C12320B6280E2060007771C0 /* BranchQRCode.h */; settings = {ATTRIBUTES = (Public, ); }; }; C12320B9280E2091007771C0 /* BranchQRCode.m in Sources */ = {isa = PBXBuildFile; fileRef = C12320B8280E2091007771C0 /* BranchQRCode.m */; }; + C15CC9E02ABCF8C8003CC339 /* BranchActivityItemTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C15CC9DF2ABCF8C8003CC339 /* BranchActivityItemTests.m */; }; C1614D56285BC8A00098946B /* LinkPresentation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1614D55285BC8A00098946B /* LinkPresentation.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; C1614D5C285BD4AF0098946B /* BranchPluginSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = C1614D5A285BD4AF0098946B /* BranchPluginSupport.h */; }; C1614D5D285BD4AF0098946B /* BranchPluginSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = C1614D5B285BD4AF0098946B /* BranchPluginSupport.m */; }; @@ -255,6 +256,7 @@ C17394612A8C20FD006068F2 /* BNCProductCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = C173945E2A8AEDFB006068F2 /* BNCProductCategory.h */; settings = {ATTRIBUTES = (Public, ); }; }; C17394642A8C228D006068F2 /* BNCCurrency.m in Sources */ = {isa = PBXBuildFile; fileRef = C17394632A8C228D006068F2 /* BNCCurrency.m */; }; C17394652A8C23D1006068F2 /* BNCCurrency.h in Headers */ = {isa = PBXBuildFile; fileRef = C17394622A8C2282006068F2 /* BNCCurrency.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C17DAF7B2AC20C2000B16B1A /* BranchClassTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C17DAF7A2AC20C2000B16B1A /* BranchClassTests.m */; }; C1CC887F29BAA06600BDD2B5 /* BNCReferringURLUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = C1CC887D29BAA06600BDD2B5 /* BNCReferringURLUtility.h */; }; C1CC888029BAA06600BDD2B5 /* BNCReferringURLUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = C1CC887E29BAA06600BDD2B5 /* BNCReferringURLUtility.m */; }; C1CC888229BAAFC000BDD2B5 /* BNCReferringURLUtilityTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C1CC888129BAAFC000BDD2B5 /* BNCReferringURLUtilityTests.m */; }; @@ -581,6 +583,7 @@ C12320B42808DB90007771C0 /* BranchQRCodeTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BranchQRCodeTests.m; sourceTree = ""; }; C12320B6280E2060007771C0 /* BranchQRCode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BranchQRCode.h; sourceTree = ""; }; C12320B8280E2091007771C0 /* BranchQRCode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BranchQRCode.m; sourceTree = ""; }; + C15CC9DF2ABCF8C8003CC339 /* BranchActivityItemTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BranchActivityItemTests.m; sourceTree = ""; }; C1614D55285BC8A00098946B /* LinkPresentation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LinkPresentation.framework; path = System/Library/Frameworks/LinkPresentation.framework; sourceTree = SDKROOT; }; C1614D5A285BD4AF0098946B /* BranchPluginSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BranchPluginSupport.h; sourceTree = ""; }; C1614D5B285BD4AF0098946B /* BranchPluginSupport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BranchPluginSupport.m; sourceTree = ""; }; @@ -588,6 +591,7 @@ C173945F2A8AEE0E006068F2 /* BNCProductCategory.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BNCProductCategory.m; sourceTree = ""; }; C17394622A8C2282006068F2 /* BNCCurrency.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BNCCurrency.h; sourceTree = ""; }; C17394632A8C228D006068F2 /* BNCCurrency.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BNCCurrency.m; sourceTree = ""; }; + C17DAF7A2AC20C2000B16B1A /* BranchClassTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BranchClassTests.m; sourceTree = ""; }; C1CC887D29BAA06600BDD2B5 /* BNCReferringURLUtility.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BNCReferringURLUtility.h; sourceTree = ""; }; C1CC887E29BAA06600BDD2B5 /* BNCReferringURLUtility.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BNCReferringURLUtility.m; sourceTree = ""; }; C1CC888129BAAFC000BDD2B5 /* BNCReferringURLUtilityTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BNCReferringURLUtilityTests.m; sourceTree = ""; }; @@ -732,6 +736,8 @@ 5F892EC4236116CC0023AEC1 /* NSErrorBranchCategoryTests.m */, 4D16839E2098C901008819E3 /* NSString+Branch.Test.m */, E7A728BC2AA9A112009343B7 /* BNCAPIServerTest.m */, + C15CC9DF2ABCF8C8003CC339 /* BranchActivityItemTests.m */, + C17DAF7A2AC20C2000B16B1A /* BranchClassTests.m */, ); path = "Branch-SDK-Tests"; sourceTree = ""; @@ -1531,7 +1537,9 @@ 4D1683AE2098C902008819E3 /* BNCLinkDataTests.m in Sources */, 4D1683BD2098C902008819E3 /* BranchNetworkScenario.Test.m in Sources */, 4D7881FF209CF2D4002B750F /* BNCApplication+BNCTest.m in Sources */, + C15CC9E02ABCF8C8003CC339 /* BranchActivityItemTests.m in Sources */, 5F92B23423835FEB00CA909B /* BNCReachabilityTests.m in Sources */, + C17DAF7B2AC20C2000B16B1A /* BranchClassTests.m in Sources */, C12320B52808DB90007771C0 /* BranchQRCodeTests.m in Sources */, 5F3D671B233062FD00454FF1 /* BNCJsonLoader.m in Sources */, 4D1683C02098C902008819E3 /* BranchUniversalObject.Test.m in Sources */, diff --git a/BranchSDK/BranchActivityItemProvider.m b/BranchSDK/BranchActivityItemProvider.m index 0f45d7e38..ba75e76de 100644 --- a/BranchSDK/BranchActivityItemProvider.m +++ b/BranchSDK/BranchActivityItemProvider.m @@ -98,7 +98,6 @@ - (BOOL) returnURL { - (id)item { NSString *channel = [BranchActivityItemProvider humanReadableChannelWithActivityType:self.activityType]; - // Allow for overrides specific to channel NSDictionary *params = [self paramsForChannel:channel]; NSArray *tags = [self tagsForChannel:channel];