Skip to content

Commit c2eae28

Browse files
committed
[NSString] Add implementation of longLongValue and tests
1 parent 6681af4 commit c2eae28

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

Foundation/NSString.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ extension NSString {
472472

473473
public var longLongValue: Int64 {
474474
get {
475-
NSUnimplemented()
475+
return NSScanner(string: _swiftObject).scanLongLong() ?? 0
476476
}
477477
}
478478

TestFoundation/TestNSString.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ class TestNSString : XCTestCase {
3636
("test_FromNullTerminatedCStringInASCII", test_FromNullTerminatedCStringInASCII ),
3737
("test_FromNullTerminatedCStringInUTF8", test_FromNullTerminatedCStringInUTF8 ),
3838
("test_FromMalformedNullTerminatedCStringInUTF8", test_FromMalformedNullTerminatedCStringInUTF8 ),
39+
("test_longLongValue", test_longLongValue ),
3940
("test_rangeOfCharacterFromSet", test_rangeOfCharacterFromSet ),
4041
]
4142
}
@@ -182,6 +183,14 @@ class TestNSString : XCTestCase {
182183
XCTAssertNil(string)
183184
}
184185

186+
func test_longLongValue() {
187+
let string1: NSString = "9223372036854775808"
188+
XCTAssertEqual(string1.longLongValue, 9223372036854775807)
189+
190+
let string2: NSString = "-9223372036854775809"
191+
XCTAssertEqual(string2.longLongValue, -9223372036854775808)
192+
}
193+
185194
func test_rangeOfCharacterFromSet() {
186195
let string: NSString = "0Az"
187196
let letters = NSCharacterSet.letterCharacterSet()

0 commit comments

Comments
 (0)