Skip to content

Commit e78f471

Browse files
authored
Merge pull request #1571 from otaviolima/match-darwing-nsstring-boolValue
2 parents 1da6fc8 + bfe2a04 commit e78f471

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

Foundation/NSString.swift

+7-1
Original file line numberDiff line numberDiff line change
@@ -633,13 +633,19 @@ extension NSString {
633633
let scanner = Scanner(string: _swiftObject)
634634
// skip initial whitespace if present
635635
let _ = scanner.scanCharactersFromSet(.whitespaces)
636+
637+
if scanner.scanCharactersFromSet(CharacterSet(charactersIn: "tTyY")) != nil {
638+
return true
639+
}
640+
636641
// scan a single optional '+' or '-' character, followed by zeroes
637642
if scanner.scanString("+") == nil {
638643
let _ = scanner.scanString("-")
639644
}
645+
640646
// scan any following zeroes
641647
let _ = scanner.scanCharactersFromSet(CharacterSet(charactersIn: "0"))
642-
return scanner.scanCharactersFromSet(CharacterSet(charactersIn: "tTyY123456789")) != nil
648+
return scanner.scanCharactersFromSet(CharacterSet(charactersIn: "123456789")) != nil
643649
}
644650

645651
public var uppercased: String {

TestFoundation/TestNSString.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class TestNSString: LoopbackServerTest {
9999
for string in trueStrings {
100100
XCTAssert(string.boolValue)
101101
}
102-
let falseStrings: [NSString] = ["false", "FALSE", "fAlSe", "no", "NO", "0", "<true>", "_true", "-00000"]
102+
let falseStrings: [NSString] = ["false", "FALSE", "fAlSe", "no", "NO", "0", "<true>", "_true", "-00000", "+t", "+", "0t", "++"]
103103
for string in falseStrings {
104104
XCTAssertFalse(string.boolValue)
105105
}

0 commit comments

Comments
 (0)