Skip to content
This repository was archived by the owner on Jan 16, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 56 additions & 52 deletions ParseTwitterUtils.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,17 @@
/* Begin PBXFileReference section */
06D00BAE1BC78F29005BAA6F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/ParseTwitterUtils.strings; sourceTree = "<group>"; };
06D00BB41BC790F3005BAA6F /* PFTwitterLocalization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTwitterLocalization.h; sourceTree = "<group>"; };
06DD47201BD0C64500A43759 /* Common.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Common.xcconfig; sourceTree = "<group>"; };
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think all of the changes to this file are irrelevant, or at least could be done in another diff.

06DD47221BD0C64500A43759 /* iOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = iOS.xcconfig; sourceTree = "<group>"; };
06DD47231BD0C64500A43759 /* OSX.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = OSX.xcconfig; sourceTree = "<group>"; };
06DD47241BD0C64500A43759 /* tvOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = tvOS.xcconfig; sourceTree = "<group>"; };
06DD47251BD0C64500A43759 /* watchOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = watchOS.xcconfig; sourceTree = "<group>"; };
06DD47271BD0C64500A43759 /* Application.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Application.xcconfig; sourceTree = "<group>"; };
06DD47281BD0C64500A43759 /* Framework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Framework.xcconfig; sourceTree = "<group>"; };
06DD47291BD0C64500A43759 /* UnitTest.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = UnitTest.xcconfig; sourceTree = "<group>"; };
06DD472B1BD0C64500A43759 /* Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
06DD472C1BD0C64500A43759 /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
06DD472D1BD0C64500A43759 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
8135E48E1B4B6A0E0092F452 /* PF_Twitter_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PF_Twitter_Private.h; sourceTree = "<group>"; };
8135E48F1B4B6A0E0092F452 /* PFTwitterAuthenticationProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTwitterAuthenticationProvider.h; sourceTree = "<group>"; };
8135E4901B4B6A0E0092F452 /* PFTwitterAuthenticationProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PFTwitterAuthenticationProvider.m; sourceTree = "<group>"; };
Expand All @@ -90,15 +101,6 @@
8166FB671B4F1D77003841A2 /* ParseTwitterTestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ParseTwitterTestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
8166FB8F1B4F1DC5003841A2 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
8166FB911B4F1DC5003841A2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8178BEB21B716EB900051CF4 /* Common.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Common.xcconfig; sourceTree = "<group>"; };
8178BEB41B716EB900051CF4 /* iOS.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = iOS.xcconfig; sourceTree = "<group>"; };
8178BEB51B716EB900051CF4 /* OSX.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = OSX.xcconfig; sourceTree = "<group>"; };
8178BEB71B716EB900051CF4 /* Application.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Application.xcconfig; sourceTree = "<group>"; };
8178BEB81B716EB900051CF4 /* Framework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Framework.xcconfig; sourceTree = "<group>"; };
8178BEB91B716EB900051CF4 /* UnitTest.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = UnitTest.xcconfig; sourceTree = "<group>"; };
8178BEBB1B716EB900051CF4 /* Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
8178BEBC1B716EB900051CF4 /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
8178BEBE1B716EB900051CF4 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
817A37C91B4B741A00129AFA /* PF_OAuthCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PF_OAuthCore.h; sourceTree = "<group>"; };
817A37CA1B4B741A00129AFA /* PF_OAuthCore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PF_OAuthCore.m; sourceTree = "<group>"; };
81930A391BBDE76E00A5E4BB /* PFTwitterTestMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PFTwitterTestMacros.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -161,6 +163,48 @@
name = Products;
sourceTree = "<group>";
};
06DD471F1BD0C64500A43759 /* Shared */ = {
isa = PBXGroup;
children = (
06DD47201BD0C64500A43759 /* Common.xcconfig */,
06DD47211BD0C64500A43759 /* Platform */,
06DD47261BD0C64500A43759 /* Product */,
06DD472A1BD0C64500A43759 /* Project */,
06DD472D1BD0C64500A43759 /* Warnings.xcconfig */,
);
path = Shared;
sourceTree = "<group>";
};
06DD47211BD0C64500A43759 /* Platform */ = {
isa = PBXGroup;
children = (
06DD47221BD0C64500A43759 /* iOS.xcconfig */,
06DD47231BD0C64500A43759 /* OSX.xcconfig */,
06DD47241BD0C64500A43759 /* tvOS.xcconfig */,
06DD47251BD0C64500A43759 /* watchOS.xcconfig */,
);
path = Platform;
sourceTree = "<group>";
};
06DD47261BD0C64500A43759 /* Product */ = {
isa = PBXGroup;
children = (
06DD47271BD0C64500A43759 /* Application.xcconfig */,
06DD47281BD0C64500A43759 /* Framework.xcconfig */,
06DD47291BD0C64500A43759 /* UnitTest.xcconfig */,
);
path = Product;
sourceTree = "<group>";
};
06DD472A1BD0C64500A43759 /* Project */ = {
isa = PBXGroup;
children = (
06DD472B1BD0C64500A43759 /* Debug.xcconfig */,
06DD472C1BD0C64500A43759 /* Release.xcconfig */,
);
path = Project;
sourceTree = "<group>";
};
0867D691FE84028FC02AAC07 /* Breakpad */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -317,46 +361,6 @@
path = Resources;
sourceTree = "<group>";
};
8178BEB11B716EB900051CF4 /* Shared */ = {
isa = PBXGroup;
children = (
8178BEB21B716EB900051CF4 /* Common.xcconfig */,
8178BEB31B716EB900051CF4 /* Platform */,
8178BEB61B716EB900051CF4 /* Product */,
8178BEBA1B716EB900051CF4 /* Project */,
8178BEBE1B716EB900051CF4 /* Warnings.xcconfig */,
);
path = Shared;
sourceTree = "<group>";
};
8178BEB31B716EB900051CF4 /* Platform */ = {
isa = PBXGroup;
children = (
8178BEB41B716EB900051CF4 /* iOS.xcconfig */,
8178BEB51B716EB900051CF4 /* OSX.xcconfig */,
);
path = Platform;
sourceTree = "<group>";
};
8178BEB61B716EB900051CF4 /* Product */ = {
isa = PBXGroup;
children = (
8178BEB71B716EB900051CF4 /* Application.xcconfig */,
8178BEB81B716EB900051CF4 /* Framework.xcconfig */,
8178BEB91B716EB900051CF4 /* UnitTest.xcconfig */,
);
path = Product;
sourceTree = "<group>";
};
8178BEBA1B716EB900051CF4 /* Project */ = {
isa = PBXGroup;
children = (
8178BEBB1B716EB900051CF4 /* Debug.xcconfig */,
8178BEBC1B716EB900051CF4 /* Release.xcconfig */,
);
path = Project;
sourceTree = "<group>";
};
817A37C81B4B741A00129AFA /* OAuthCore */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -388,7 +392,7 @@
F51535381B57451200C49F56 /* Configurations */ = {
isa = PBXGroup;
children = (
8178BEB11B716EB900051CF4 /* Shared */,
06DD471F1BD0C64500A43759 /* Shared */,
F51535531B57453700C49F56 /* ParseTwitterUtils-iOS.xcconfig */,
F51535541B57454500C49F56 /* ParseTwitterUtils-Tests.xcconfig */,
F51535551B57455200C49F56 /* ParseTwitterTestApplication.xcconfig */,
Expand Down Expand Up @@ -701,15 +705,15 @@
};
1DEB922308733DC00010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 8178BEBB1B716EB900051CF4 /* Debug.xcconfig */;
baseConfigurationReference = 06DD472B1BD0C64500A43759 /* Debug.xcconfig */;
buildSettings = {
PARSE_DIR = "$(PROJECT_DIR)/..";
};
name = Debug;
};
1DEB922408733DC00010E9CD /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 8178BEBC1B716EB900051CF4 /* Release.xcconfig */;
baseConfigurationReference = 06DD472C1BD0C64500A43759 /* Release.xcconfig */;
buildSettings = {
PARSE_DIR = "$(PROJECT_DIR)/..";
};
Expand Down
8 changes: 8 additions & 0 deletions ParseTwitterUtils/PFTwitterUtils.m
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
#import <Bolts/BFExecutor.h>
#import <Bolts/BFTaskCompletionSource.h>

#import <Parse/Parse.h>

#import "PFTwitterAuthenticationProvider.h"
#import "PFTwitterPrivateUtilities.h"
#import "PF_Twitter.h"
Expand Down Expand Up @@ -41,7 +43,13 @@ + (void)_assertTwitterInitialized {
@"You must call PFTwitterUtils initializeWithConsumerKey:consumerSecret: to use PFTwitterUtils.");
}

+ (void)_assertParseInitialized {
PFTWConsistencyAssert([Parse getApplicationId] && [Parse getClientKey],
@"PFTwitterUtils should be initialized after setting up Parse.");
}

+ (void)initializeWithConsumerKey:(NSString *)consumerKey consumerSecret:(NSString *)consumerSecret {
[self _assertParseInitialized];
if (![self _authenticationProvider]) {
PF_Twitter *twitter = [[PF_Twitter alloc] init];
twitter.consumerKey = consumerKey;
Expand Down
2 changes: 1 addition & 1 deletion Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ DEPENDENCIES:
SPEC CHECKSUMS:
OCMock: 28def049ef47f996b515a8eeea958be7ccab2dbb

COCOAPODS: 0.39.0.beta.4
COCOAPODS: 0.39.0
15 changes: 13 additions & 2 deletions Tests/Unit/TwitterUtilsTests.m
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
#import "PFTwitterUtils_Private.h"
#import "PF_Twitter.h"

@import Parse.PFUser;
@import Parse.PFUserAuthenticationDelegate;
@import Parse;

///--------------------------------------
#pragma mark - Tests
Expand All @@ -39,6 +38,10 @@ - (void)tearDown {
///--------------------------------------

- (void)testInitialize {
id parseMock = PFStrictClassMock([Parse class]);
OCMStub([parseMock getApplicationId]).andReturn(@"yolo");
OCMStub([parseMock getClientKey]).andReturn(@"yarr");

id userMock = PFStrictClassMock([PFUser class]);
OCMExpect(ClassMethod([userMock registerAuthenticationDelegate:[OCMArg checkWithBlock:^BOOL(id obj) {
return (obj != nil);
Expand All @@ -53,6 +56,10 @@ - (void)testInitialize {
}

- (void)testInitializeTwice {
id parseMock = PFStrictClassMock([Parse class]);
OCMStub([parseMock getApplicationId]).andReturn(@"yolo");
OCMStub([parseMock getClientKey]).andReturn(@"yarr");

id userMock = PFStrictClassMock([PFUser class]);

[PFTwitterUtils initializeWithConsumerKey:@"a" consumerSecret:@"b"];
Expand All @@ -68,4 +75,8 @@ - (void)testInitializeTwice {
OCMVerifyAll(userMock);
}

- (void)testInitializeRequiresParseInitialize {
PFAssertThrowsInconsistencyException([PFTwitterUtils initializeWithConsumerKey:@"a" consumerSecret:@"b"]);
}

@end