@@ -36,6 +36,7 @@ class TestNSString : XCTestCase {
36
36
( " test_FromNullTerminatedCStringInUTF8 " , test_FromNullTerminatedCStringInUTF8 ) ,
37
37
( " test_FromMalformedNullTerminatedCStringInUTF8 " , test_FromMalformedNullTerminatedCStringInUTF8 ) ,
38
38
( " test_rangeOfCharacterFromSet " , test_rangeOfCharacterFromSet ) ,
39
+ ( " test_stringByTrimmingCharactersInSet " , test_stringByTrimmingCharactersInSet ) ,
39
40
]
40
41
}
41
42
@@ -164,4 +165,27 @@ class TestNSString : XCTestCase {
164
165
XCTAssertEqual ( string. rangeOfCharacterFromSet ( letters, options: [ . BackwardsSearch] ) . location, 2 )
165
166
XCTAssertEqual ( string. rangeOfCharacterFromSet ( letters, options: [ ] , range: NSMakeRange ( 2 , 1 ) ) . location, 2 )
166
167
}
168
+
169
+ func test_stringByTrimmingCharactersInSet( ) {
170
+ XCTAssertEqual ( " \u{feff} " . stringByTrimmingCharactersInSet ( NSCharacterSet . controlCharacterSet ( ) ) , " " )
171
+ XCTAssertEqual ( " a " . stringByTrimmingCharactersInSet ( NSCharacterSet . letterCharacterSet ( ) ) , " " )
172
+ XCTAssertEqual ( " a " . stringByTrimmingCharactersInSet ( NSCharacterSet . lowercaseLetterCharacterSet ( ) ) , " " )
173
+ XCTAssertEqual ( " A " . stringByTrimmingCharactersInSet ( NSCharacterSet . uppercaseLetterCharacterSet ( ) ) , " " )
174
+ XCTAssertEqual ( " \u{01c5} " . stringByTrimmingCharactersInSet ( NSCharacterSet . uppercaseLetterCharacterSet ( ) ) , " " )
175
+ XCTAssertEqual ( " \u{01c5} " . stringByTrimmingCharactersInSet ( NSCharacterSet . capitalizedLetterCharacterSet ( ) ) , " " )
176
+ XCTAssertEqual ( " \u{002b} " . stringByTrimmingCharactersInSet ( NSCharacterSet . symbolCharacterSet ( ) ) , " " )
177
+ XCTAssertEqual ( " \u{20b1} " . stringByTrimmingCharactersInSet ( NSCharacterSet . symbolCharacterSet ( ) ) , " " )
178
+ XCTAssertEqual ( " \u{000a} " . stringByTrimmingCharactersInSet ( NSCharacterSet . newlineCharacterSet ( ) ) , " " )
179
+ XCTAssertEqual ( " \u{2029} " . stringByTrimmingCharactersInSet ( NSCharacterSet . newlineCharacterSet ( ) ) , " " )
180
+
181
+ let cset1 = NSCharacterSet ( charactersInString: " ABC123 " )
182
+ XCTAssertEqual ( " " . stringByTrimmingCharactersInSet ( cset1) , " " )
183
+ XCTAssertEqual ( " 321CBA " . stringByTrimmingCharactersInSet ( cset1) , " " , " Should trim everything " )
184
+ XCTAssertEqual ( " CBAabc " . stringByTrimmingCharactersInSet ( cset1) , " abc " , " Should trim only first 3 characters " )
185
+ XCTAssertEqual ( " cbaABC " . stringByTrimmingCharactersInSet ( cset1) , " cba " , " Should trim only last 3 characters " )
186
+ XCTAssertEqual ( " cba123abc " . stringByTrimmingCharactersInSet ( cset1) , " cba123abc " , " Should not trim anything " )
187
+
188
+ let cset2 = NSCharacterSet ( charactersInString: " юникодユニコード " )
189
+ XCTAssertEqual ( " ЮНИゆにコドкод " . stringByTrimmingCharactersInSet ( cset2) , " ЮНИゆに " )
190
+ }
167
191
}
0 commit comments