From e81a7b7c6d1acbbc601ee655f45f8d6be5b07531 Mon Sep 17 00:00:00 2001 From: Eric Meyer Date: Wed, 27 Jun 2012 19:59:51 -0500 Subject: [PATCH 1/2] Add $trim for NSString --- ConciseKitSpecs/Spec/NSStringConciseKitSpec.m | 7 +++++++ src/NSString+ConciseKit.h | 1 + src/NSString+ConciseKit.m | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/ConciseKitSpecs/Spec/NSStringConciseKitSpec.m b/ConciseKitSpecs/Spec/NSStringConciseKitSpec.m index 9f4dd65..21546d9 100644 --- a/ConciseKitSpecs/Spec/NSStringConciseKitSpec.m +++ b/ConciseKitSpecs/Spec/NSStringConciseKitSpec.m @@ -38,6 +38,13 @@ assertThat([@"ab cd ef" $split], equalTo($arr(@"ab",@"cd",@"ef"))); }); }); + + describe(@"-$trim", ^{ + it(@"removes leading and trailing whitespace", ^{ + assertThat([@"\t \n foo \t \n " $trim], equalTo(@"foo")); + }); + }); + }); describe(@"NSMutableString (ConciseKit)", ^{ diff --git a/src/NSString+ConciseKit.h b/src/NSString+ConciseKit.h index 9648b8c..197b92a 100644 --- a/src/NSString+ConciseKit.h +++ b/src/NSString+ConciseKit.h @@ -6,6 +6,7 @@ - (NSString *)$prepend:(NSString *)aString; - (NSArray *)$split:(NSString *)aString; - (NSArray *)$split; +- (NSString *)$trim; @end diff --git a/src/NSString+ConciseKit.m b/src/NSString+ConciseKit.m index 4083227..780b454 100644 --- a/src/NSString+ConciseKit.m +++ b/src/NSString+ConciseKit.m @@ -18,6 +18,10 @@ @implementation NSString (ConciseKit) return [self componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; } +- (NSString*)$trim { + return [self stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; +} + @end @implementation NSMutableString (ConciseKit) From b761ded92c6f8d6caa5674f9d3cc0317452eb704 Mon Sep 17 00:00:00 2001 From: Eric Meyer Date: Fri, 3 Aug 2012 07:05:48 -0500 Subject: [PATCH 2/2] Added for NSString --- ConciseKitSpecs/Spec/NSStringConciseKitSpec.m | 10 ++++++++++ src/NSString+ConciseKit.h | 1 + src/NSString+ConciseKit.m | 11 ++++++++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/ConciseKitSpecs/Spec/NSStringConciseKitSpec.m b/ConciseKitSpecs/Spec/NSStringConciseKitSpec.m index 21546d9..88d1af1 100644 --- a/ConciseKitSpecs/Spec/NSStringConciseKitSpec.m +++ b/ConciseKitSpecs/Spec/NSStringConciseKitSpec.m @@ -98,6 +98,16 @@ assertThat(mstring, equalTo(@"bar")); }); }); + + describe(@"-$chars", ^{ + it(@"splits the string into characters", ^{ + assertThat([@"abc" $chars], equalTo($arr(@"a", @"b", @"c"))); + }); + + it(@"returns an empty array for an empty string", ^{ + assertThat([@"" $chars], equalTo($arr(nil))); + }); + }); }); } DESCRIBE_END \ No newline at end of file diff --git a/src/NSString+ConciseKit.h b/src/NSString+ConciseKit.h index 197b92a..c311da5 100644 --- a/src/NSString+ConciseKit.h +++ b/src/NSString+ConciseKit.h @@ -6,6 +6,7 @@ - (NSString *)$prepend:(NSString *)aString; - (NSArray *)$split:(NSString *)aString; - (NSArray *)$split; +- (NSArray *)$chars; - (NSString *)$trim; @end diff --git a/src/NSString+ConciseKit.m b/src/NSString+ConciseKit.m index 780b454..4255e95 100644 --- a/src/NSString+ConciseKit.m +++ b/src/NSString+ConciseKit.m @@ -15,7 +15,16 @@ @implementation NSString (ConciseKit) } - (NSArray *)$split { - return [self componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + return [self componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; +} + +- (NSArray *)$chars { + NSMutableArray *array = [[[NSMutableArray alloc] init] autorelease]; + for (int i=0; i < [self length]; i++) { + NSString *spot = [NSString stringWithFormat:@"%c", [self characterAtIndex:i]]; + [array addObject: spot]; + } + return array; } - (NSString*)$trim {