Skip to content

Commit 37e9152

Browse files
authored
LP-9384: move helper method to class file that uses it
1 parent fab6b4f commit 37e9152

File tree

5 files changed

+23
-25
lines changed

5 files changed

+23
-25
lines changed

Example/Tests/Classes/LPMessageTemplatesClassTest.m

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
@interface LPMessageTemplatesClass (Test)
3939
+ (UIImage *)imageFromColor:(UIColor *)color;
4040
+ (UIImage *)dismissImage:(UIColor *)color withSize:(int)size;
41+
+ (NSString *)urlEncodedStringFromString:(NSString *)urlString;
4142

4243
- (void)setupPopupLayout:(BOOL)isFullscreen isPushAskToAsk:(BOOL)isPushAskToAsk;
4344
- (void)updatePopupLayout;
@@ -125,4 +126,11 @@ - (void)test_push_popup_setup
125126
XCTAssertNotNil(cancelButton);
126127
}
127128

129+
- (void)test_urlEncodedStringFromString {
130+
XCTAssertEqualObjects([LPMessageTemplatesClass urlEncodedStringFromString:@"http://www.leanplum.com"], @"http://www.leanplum.com");
131+
XCTAssertEqualObjects([LPMessageTemplatesClass urlEncodedStringFromString:@"http://www.leanplum.com?q=simple_english1&test=2"], @"http://www.leanplum.com?q=simple_english1&test=2");
132+
XCTAssertEqualObjects([LPMessageTemplatesClass urlEncodedStringFromString:@"https://ramsey.tfaforms.net/356302?id={}"], @"https://ramsey.tfaforms.net/356302?id=%7B%7D");
133+
XCTAssertEqualObjects([LPMessageTemplatesClass urlEncodedStringFromString:@"lomotif://music/月亮"], @"lomotif://music/%E6%9C%88%E4%BA%AE");
134+
}
135+
128136
@end

Example/Tests/Classes/LPUtilsTest.m

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,4 @@ - (void)test_base64EncodedStringFromData {
7979
XCTAssertEqualObjects(base64String, expectedSring);
8080
}
8181

82-
- (void)test_urlEncodedStringFromString {
83-
XCTAssertEqualObjects([Utils urlEncodedStringFromString:@"http://www.leanplum.com"], @"http://www.leanplum.com");
84-
XCTAssertEqualObjects([Utils urlEncodedStringFromString:@"http://www.leanplum.com?q=simple_english1&test=2"], @"http://www.leanplum.com?q=simple_english1&test=2");
85-
XCTAssertEqualObjects([Utils urlEncodedStringFromString:@"https://ramsey.tfaforms.net/356302?id={}"], @"https://ramsey.tfaforms.net/356302?id=%7B%7D");
86-
XCTAssertEqualObjects([Utils urlEncodedStringFromString:@"lomotif://music/月亮"], @"lomotif://music/%E6%9C%88%E4%BA%AE");
87-
}
88-
8982
@end

Leanplum-SDK/Classes/LPMessageTemplates.m

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#import "LPMessageTemplates.h"
3030
#import <QuartzCore/QuartzCore.h>
3131
#import <StoreKit/StoreKit.h>
32-
#import "Utils.h"
3332

3433
#define APP_NAME (([[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"]) ?: \
3534
([[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"]))
@@ -324,7 +323,7 @@ - (void)defineActions
324323
withResponder:^BOOL(LPActionContext *context) {
325324
@try {
326325
dispatch_async(dispatch_get_main_queue(), ^{
327-
NSString *encodedURLString = [Utils urlEncodedStringFromString:[context stringNamed:LPMT_ARG_URL]];
326+
NSString *encodedURLString = [[self class] urlEncodedStringFromString:[context stringNamed:LPMT_ARG_URL]];
328327
NSURL *url = [NSURL URLWithString: encodedURLString];
329328
if ([[UIApplication sharedApplication] respondsToSelector:@selector(openURL:options:completionHandler:)]) {
330329
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
@@ -1440,4 +1439,18 @@ - (id)JSONFromString:(NSString *)string
14401439

14411440
#endif
14421441

1442+
/**
1443+
* Helper method
1444+
*/
1445+
1446+
+ (NSString *)urlEncodedStringFromString:(NSString *)urlString {
1447+
NSString *unreserved = @":-._~/?&=";
1448+
NSMutableCharacterSet *allowed = [NSMutableCharacterSet
1449+
alphanumericCharacterSet];
1450+
[allowed addCharactersInString:unreserved];
1451+
return [urlString
1452+
stringByAddingPercentEncodingWithAllowedCharacters:
1453+
allowed];
1454+
}
1455+
14431456
@end

Leanplum-SDK/Classes/Utilities/Utils.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,6 @@
4747
*/
4848
+ (NSString *)base64EncodedStringFromData:(NSData *)data;
4949

50-
/**
51-
* Returns unicode encoded string for supporting international
52-
* characters in URL
53-
*/
54-
+ (NSString *)urlEncodedStringFromString:(NSString *)urlString;
55-
5650
/**
5751
* Initialize exception handling
5852
*/

Leanplum-SDK/Classes/Utilities/Utils.m

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,6 @@ + (NSString *)base64EncodedStringFromData:(NSData *)data
7272

7373
}
7474

75-
+(NSString *)urlEncodedStringFromString:(NSString *)urlString {
76-
NSString *unreserved = @":-._~/?&=";
77-
NSMutableCharacterSet *allowed = [NSMutableCharacterSet
78-
alphanumericCharacterSet];
79-
[allowed addCharactersInString:unreserved];
80-
return [urlString
81-
stringByAddingPercentEncodingWithAllowedCharacters:
82-
allowed];
83-
}
84-
8575
+ (void)initExceptionHandling
8676
{
8777
[LPExceptionHandler sharedExceptionHandler];

0 commit comments

Comments
 (0)