@@ -37,19 +37,21 @@ - (void)testConfigurationWithBlock {
3737 ParseClientConfiguration *configuration = [ParseClientConfiguration configurationWithBlock: ^(id <ParseMutableClientConfiguration> configuration) {
3838 configuration.applicationId = @" foo" ;
3939 configuration.clientKey = @" bar" ;
40+ configuration.server = @" http://localhost" ;
4041 configuration.localDatastoreEnabled = YES ;
4142 configuration.networkRetryAttempts = 1337 ;
4243 }];
4344
4445 XCTAssertEqualObjects (configuration.applicationId , @" foo" );
4546 XCTAssertEqualObjects (configuration.clientKey , @" bar" );
47+ XCTAssertEqualObjects (configuration.server , @" http://localhost" );
4648 XCTAssertTrue (configuration.localDatastoreEnabled );
4749 XCTAssertEqual (configuration.networkRetryAttempts , 1337 );
4850}
4951
5052- (void )testEqual {
51- ParseClientConfiguration *configurationA = [( id )[ ParseClientConfiguration alloc ] init ];
52- ParseClientConfiguration *configurationB = [( id )[ ParseClientConfiguration alloc ] init ];
53+ ParseClientConfiguration *configurationA = [ParseClientConfiguration emptyConfiguration ];
54+ ParseClientConfiguration *configurationB = [ParseClientConfiguration emptyConfiguration ];
5355 XCTAssertEqualObjects (configurationA, configurationB);
5456 XCTAssertEqual (configurationA.hash , configurationB.hash );
5557
@@ -67,6 +69,13 @@ - (void)testEqual {
6769 XCTAssertNotEqualObjects (configurationA, configurationB);
6870 configurationB.clientKey = configurationA.clientKey ;
6971
72+ configurationA.server = configurationB.server = @" http://localhost" ;
73+ XCTAssertEqualObjects (configurationA, configurationB);
74+ XCTAssertEqual (configurationA.hash , configurationB.hash );
75+ configurationB.server = @" http://api.parse.com" ;
76+ XCTAssertNotEqualObjects (configurationA, configurationB);
77+ configurationB.server = configurationA.server ;
78+
7079 configurationA.localDatastoreEnabled = configurationB.localDatastoreEnabled = YES ;
7180 XCTAssertEqualObjects (configurationA, configurationB);
7281 XCTAssertEqual (configurationA.hash , configurationB.hash );
@@ -85,6 +94,7 @@ - (void)testCopy {
8594 ParseClientConfiguration *configurationA = [ParseClientConfiguration configurationWithBlock: ^(id <ParseMutableClientConfiguration> configuration) {
8695 configuration.applicationId = @" foo" ;
8796 configuration.clientKey = @" bar" ;
97+ configuration.server = @" http://localhost" ;
8898 configuration.localDatastoreEnabled = YES ;
8999 configuration.networkRetryAttempts = 1337 ;
90100 }];
@@ -100,6 +110,7 @@ - (void)testCopy {
100110
101111 XCTAssertEqualObjects (configurationB.applicationId , @" foo" );
102112 XCTAssertEqualObjects (configurationB.clientKey , @" bar" );
113+ XCTAssertEqualObjects (configurationB.server , @" http://localhost" );
103114 XCTAssertTrue (configurationB.localDatastoreEnabled );
104115 XCTAssertEqual (configurationB.networkRetryAttempts , 1337 );
105116}
@@ -125,4 +136,14 @@ - (void)testExtensionDataSharing {
125136 XCTAssertNoThrow (configuration.containingApplicationBundleIdentifier = @" someContainer" );
126137}
127138
139+ - (void )testServerValidation {
140+ [ParseClientConfiguration configurationWithBlock: ^(id <ParseMutableClientConfiguration> _Nonnull configuration) {
141+ configuration.applicationId = @" a" ;
142+ configuration.clientKey = @" b" ;
143+
144+ PFAssertThrowsInvalidArgumentException (configuration.server = @" " );
145+ PFAssertThrowsInvalidArgumentException (configuration.server = @" Yolo Yarr" );
146+ }];
147+ }
148+
128149@end
0 commit comments