Skip to content

Commit d9817a4

Browse files
committed
Merge pull request #162 from HeMet/nsrange-bridging-fix
Fix Range to NSRange conversion. NSRange.length calculated properly now.
2 parents aa25b1c + e577c88 commit d9817a4

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

Foundation/NSRange.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ extension _NSRange {
3939
public init(_ x: Range<Int>) {
4040
if let start = x.first {
4141
if let end = x.last {
42-
self.init(location: start, length: end - start)
42+
self.init(location: start, length: end - start + 1)
4343
return
4444
}
4545
}

TestFoundation/TestNSRange.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class TestNSRange : XCTestCase {
2323
return [
2424
// currently disabled due to pending requirements for NSString
2525
// ("test_NSRangeFromString", test_NSRangeFromString ),
26+
("test_NSRangeBridging", test_NSRangeBridging)
2627
]
2728
}
2829

@@ -58,4 +59,11 @@ class TestNSRange : XCTestCase {
5859
XCTAssert(NSEqualRanges(NSRangeFromString(string), fullRange))
5960
}
6061
}
62+
63+
func test_NSRangeBridging() {
64+
let swiftRange = 1..<7
65+
let range = NSRange(swiftRange)
66+
let swiftRange2 = range.toRange()
67+
XCTAssertEqual(swiftRange, swiftRange2)
68+
}
6169
}

0 commit comments

Comments
 (0)