@@ -32,7 +32,8 @@ final class HoverTests: XCTestCase {
32
32
This is a doc comment for S.
33
33
34
34
Details.
35
- """
35
+ """ ,
36
+ expectedRange: Position ( line: 3 , utf16index: 7 ) ..< Position ( line: 3 , utf16index: 9 )
36
37
)
37
38
}
38
39
@@ -81,7 +82,9 @@ final class HoverTests: XCTestCase {
81
82
init()
82
83
```
83
84
84
- """
85
+ """ ,
86
+ expectedRange:
87
+ . init( line: 3 , utf16index: 4 ) ..< . init( line: 3 , utf16index: 7 )
85
88
)
86
89
}
87
90
@@ -113,7 +116,8 @@ final class HoverTests: XCTestCase {
113
116
```
114
117
115
118
The initializer
116
- """
119
+ """ ,
120
+ expectedRange: Position ( line: 5 , utf16index: 4 ) ..< Position ( line: 5 , utf16index: 7 )
117
121
)
118
122
}
119
123
@@ -130,7 +134,8 @@ final class HoverTests: XCTestCase {
130
134
```
131
135
132
136
this is **bold** documentation
133
- """##
137
+ """## ,
138
+ expectedRange: Position ( line: 1 , utf16index: 5 ) ..< Position ( line: 1 , utf16index: 9 )
134
139
)
135
140
}
136
141
@@ -147,7 +152,8 @@ final class HoverTests: XCTestCase {
147
152
```
148
153
149
154
this is *italic* documentation
150
- """##
155
+ """## ,
156
+ expectedRange: Position ( line: 1 , utf16index: 5 ) ..< Position ( line: 1 , utf16index: 8 )
151
157
)
152
158
}
153
159
@@ -168,14 +174,16 @@ final class HoverTests: XCTestCase {
168
174
Eat an apple
169
175
170
176
- Precondition: Must have an apple
171
- """
177
+ """ ,
178
+ expectedRange: Position ( line: 3 , utf16index: 5 ) ..< Position ( line: 3 , utf16index: 13 )
172
179
)
173
180
}
174
181
}
175
182
176
183
private func assertHover(
177
184
_ markedSource: String ,
178
185
expectedContent: String ,
186
+ expectedRange: Range < Position > ,
179
187
file: StaticString = #filePath,
180
188
line: UInt = #line
181
189
) async throws {
@@ -189,12 +197,11 @@ private func assertHover(
189
197
)
190
198
191
199
let hover = try XCTUnwrap ( response, file: file, line: line)
192
- XCTAssertNil ( hover. range, file: file, line: line)
193
- guard case . markupContent( let content) = hover. contents else {
200
+ XCTAssertEqual ( hover. range, expectedRange , file: file, line: line)
201
+ guard case let . markupContent( content) = hover. contents else {
194
202
XCTFail ( " hover.contents is not .markupContents " , file: file, line: line)
195
203
return
196
204
}
197
205
XCTAssertEqual ( content. kind, . markdown, file: file, line: line)
198
206
XCTAssertEqual ( content. value, expectedContent, file: file, line: line)
199
-
200
207
}
0 commit comments