Skip to content

Commit e1f1b02

Browse files
committed
Add basic unit tests for URLConstructor.
1 parent a4c49d0 commit e1f1b02

File tree

2 files changed

+73
-1
lines changed

2 files changed

+73
-1
lines changed

Parse.xcodeproj/project.pbxproj

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,8 @@
325325
810749B11B74662B00682EEB /* PFURLSessionFileDownloadTaskDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 810749AD1B74662B00682EEB /* PFURLSessionFileDownloadTaskDelegate.m */; };
326326
810B7D761A0291FF003C0909 /* PFMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 810B7D751A0291FF003C0909 /* PFMacros.h */; };
327327
810B7D771A0291FF003C0909 /* PFMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 810B7D751A0291FF003C0909 /* PFMacros.h */; };
328+
810D54B61C22582F002B4932 /* URLConstructorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 810D54B51C22582F002B4932 /* URLConstructorTests.m */; };
329+
810D54B71C22582F002B4932 /* URLConstructorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 810D54B51C22582F002B4932 /* URLConstructorTests.m */; };
328330
810ECA701B573853002944D4 /* PFRelationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 810ECA6F1B573853002944D4 /* PFRelationPrivate.h */; };
329331
810ECA711B573853002944D4 /* PFRelationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 810ECA6F1B573853002944D4 /* PFRelationPrivate.h */; };
330332
810ECC6F1B573C6B002944D4 /* SwiftSubclass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810ECC6E1B573C6B002944D4 /* SwiftSubclass.swift */; };
@@ -1757,6 +1759,7 @@
17571759
810749AC1B74662B00682EEB /* PFURLSessionFileDownloadTaskDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFURLSessionFileDownloadTaskDelegate.h; sourceTree = "<group>"; };
17581760
810749AD1B74662B00682EEB /* PFURLSessionFileDownloadTaskDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PFURLSessionFileDownloadTaskDelegate.m; sourceTree = "<group>"; };
17591761
810B7D751A0291FF003C0909 /* PFMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFMacros.h; sourceTree = "<group>"; };
1762+
810D54B51C22582F002B4932 /* URLConstructorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = URLConstructorTests.m; sourceTree = "<group>"; };
17601763
810ECA6F1B573853002944D4 /* PFRelationPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFRelationPrivate.h; sourceTree = "<group>"; };
17611764
810ECC611B573B96002944D4 /* ParseUnitTests-iOS-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "ParseUnitTests-iOS-Info.plist"; sourceTree = "<group>"; };
17621765
810ECC621B573B96002944D4 /* ParseUnitTests-OSX-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "ParseUnitTests-OSX-Info.plist"; sourceTree = "<group>"; };
@@ -2871,6 +2874,7 @@
28712874
814915E81B66D44500EFD14F /* FieldOperationTests.m */,
28722875
814915E91B66D44500EFD14F /* FileCommandTests.m */,
28732876
814915EA1B66D44500EFD14F /* FileControllerTests.m */,
2877+
F57E29B11BA388DD00A2C59D /* FileDataStreamTests.m */,
28742878
814915EB1B66D44500EFD14F /* FileStateTests.m */,
28752879
814915EC1B66D44500EFD14F /* FileUnitTests.m */,
28762880
814915ED1B66D44500EFD14F /* GeoPointLocationTests.m */,
@@ -2883,7 +2887,6 @@
28832887
814915F31B66D44500EFD14F /* KeyValueCacheTests.m */,
28842888
814915F41B66D44500EFD14F /* LocationManagerMobileTests.m */,
28852889
814915F51B66D44500EFD14F /* LocationManagerTests.m */,
2886-
F57E29B11BA388DD00A2C59D /* FileDataStreamTests.m */,
28872890
814915F61B66D44500EFD14F /* ObjectBatchCommandTests.m */,
28882891
814915F71B66D44500EFD14F /* ObjectBatchControllerTests.m */,
28892892
814915F81B66D44500EFD14F /* ObjectCommandTests.m */,
@@ -2931,6 +2934,7 @@
29312934
814916211B66D44500EFD14F /* SessionUnitTests.m */,
29322935
814916221B66D44500EFD14F /* SessionUtilitiesTests.m */,
29332936
814916231B66D44500EFD14F /* SQLiteDatabaseTest.m */,
2937+
810D54B51C22582F002B4932 /* URLConstructorTests.m */,
29342938
814916241B66D44500EFD14F /* URLSessionCommandRunnerTests.m */,
29352939
F5732DE01B6712140066DCD5 /* URLSessionDataTaskDelegateTests.m */,
29362940
F5556A141B66F36000410837 /* URLSessionTests.m */,
@@ -5355,6 +5359,7 @@
53555359
814916A31B66D44600EFD14F /* ParseSetupUnitTests.m in Sources */,
53565360
8149163B1B66D44500EFD14F /* BaseStateTests.m in Sources */,
53575361
8149162F1B66D44500EFD14F /* AnalyticsCommandTests.m in Sources */,
5362+
810D54B61C22582F002B4932 /* URLConstructorTests.m in Sources */,
53585363
814916931B66D44600EFD14F /* ObjectSubclassPropertiesTests.m in Sources */,
53595364
8149168B1B66D44600EFD14F /* ObjectOfflineTests.m in Sources */,
53605365
814916B11B66D44600EFD14F /* PushChannelsControllerTests.m in Sources */,
@@ -5473,6 +5478,7 @@
54735478
81A016281B59E19D00B0C7ED /* PFExtensionDataSharingTestHelper.m in Sources */,
54745479
814916441B66D44600EFD14F /* CloudUnitTests.m in Sources */,
54755480
814916DE1B66D44600EFD14F /* UserControllerTests.m in Sources */,
5481+
810D54B71C22582F002B4932 /* URLConstructorTests.m in Sources */,
54765482
814916801B66D44600EFD14F /* ObjectBatchControllerTests.m in Sources */,
54775483
814916CA1B66D44600EFD14F /* QueryUtilitiesTests.m in Sources */,
54785484
81E0335B1B573F3E00B25168 /* PFMockURLProtocol.m in Sources */,

Tests/Unit/URLConstructorTests.m

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/**
2+
* Copyright (c) 2015-present, Parse, LLC.
3+
* All rights reserved.
4+
*
5+
* This source code is licensed under the BSD-style license found in the
6+
* LICENSE file in the root directory of this source tree. An additional grant
7+
* of patent rights can be found in the PATENTS file in the same directory.
8+
*/
9+
10+
#import "PFTestCase.h"
11+
12+
#import "PFURLConstructor.h"
13+
14+
@interface URLConstructorTests : PFTestCase
15+
16+
@end
17+
18+
@implementation URLConstructorTests
19+
20+
- (void)testURLWithNilPathNilQuery {
21+
XCTAssertEqualObjects([PFURLConstructor URLFromAbsoluteString:@"https://yolo.com"
22+
path:nil
23+
query:nil].absoluteString,
24+
@"https://yolo.com");
25+
XCTAssertEqualObjects([PFURLConstructor URLFromAbsoluteString:@"https://yolo.com/"
26+
path:nil
27+
query:nil].absoluteString,
28+
@"https://yolo.com/");
29+
XCTAssertEqualObjects([PFURLConstructor URLFromAbsoluteString:@"https://yolo.com/123"
30+
path:nil
31+
query:nil].absoluteString,
32+
@"https://yolo.com/123");
33+
}
34+
35+
- (void)testURLWithPath {
36+
XCTAssertEqualObjects([PFURLConstructor URLFromAbsoluteString:@"https://yolo.com"
37+
path:@"100500/yolo"
38+
query:nil].absoluteString,
39+
@"https://yolo.com/100500/yolo");
40+
XCTAssertEqualObjects([PFURLConstructor URLFromAbsoluteString:@"https://yolo.com"
41+
path:@"/100500/yolo"
42+
query:nil].absoluteString,
43+
@"https://yolo.com/100500/yolo");
44+
XCTAssertEqualObjects([PFURLConstructor URLFromAbsoluteString:@"https://yolo.com/"
45+
path:@"100500/yolo"
46+
query:nil].absoluteString,
47+
@"https://yolo.com/100500/yolo");
48+
XCTAssertEqualObjects([PFURLConstructor URLFromAbsoluteString:@"https://yolo.com/"
49+
path:@"/100500/yolo"
50+
query:nil].absoluteString,
51+
@"https://yolo.com/100500/yolo");
52+
XCTAssertEqualObjects([PFURLConstructor URLFromAbsoluteString:@"https://yolo.com/abc"
53+
path:@"100500/yolo"
54+
query:nil].absoluteString,
55+
@"https://yolo.com/abc/100500/yolo");
56+
XCTAssertEqualObjects([PFURLConstructor URLFromAbsoluteString:@"https://yolo.com/abc/"
57+
path:@"/100500/yolo"
58+
query:nil].absoluteString,
59+
@"https://yolo.com/abc/100500/yolo");
60+
XCTAssertEqualObjects([PFURLConstructor URLFromAbsoluteString:@"https://yolo.com/abc/xyz"
61+
path:@"/100500/yolo"
62+
query:nil].absoluteString,
63+
@"https://yolo.com/abc/xyz/100500/yolo");
64+
}
65+
66+
@end

0 commit comments

Comments
 (0)