File tree Expand file tree Collapse file tree
Tool/Tests/XcodeInspectorTests Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -66,6 +66,28 @@ class SourceEditorRangeConversionTests: XCTestCase {
6666 XCTAssertEqual ( cursorRange. start, . init( line: 1 , character: 3 ) )
6767 XCTAssertEqual ( cursorRange. end, . init( line: 3 , character: 3 ) )
6868 }
69+
70+ func test_convert_multiline_range_cutting_emoji( ) {
71+ // undefined behavior
72+
73+ let code = """
74+ import Foundation
75+ import 🎆🎆🎆🎆🎆🎆
76+
77+ class SourceEditorRangeConversionTests {
78+ func testSomething() {
79+ // test
80+ }
81+ }
82+
83+ """
84+
85+ let range = 26 ... 42 // in the middle of the emoji
86+ let cursorRange = SourceEditor . convertRangeToCursorRange ( range, in: code)
87+
88+ XCTAssertEqual ( cursorRange. start, . init( line: 1 , character: 8 ) )
89+ XCTAssertEqual ( cursorRange. end, . init( line: 3 , character: 3 ) )
90+ }
6991
7092 func test_convert_range_with_no_code( ) {
7193 let code = " "
You can’t perform that action at this time.
0 commit comments