@@ -320,7 +320,7 @@ public async Task Definition_Success()
320
320
/// Ensure that the language client can successfully request DocumentHighlight.
321
321
/// </summary>
322
322
[ Fact ( DisplayName = "Language client can successfully request document highlights" , Skip = "Periodic failures" ) ]
323
- public async Task DocumentHighlight_Success ( )
323
+ public async Task DocumentHighlights_Success ( )
324
324
{
325
325
await Connect ( ) ;
326
326
@@ -355,7 +355,7 @@ public async Task DocumentHighlight_Success()
355
355
return Task . FromResult ( expectedHighlights ) ;
356
356
} ) ;
357
357
358
- var definitions = await LanguageClient . TextDocument . DocumentHighlight ( AbsoluteDocumentPath , line , column ) ;
358
+ var definitions = await LanguageClient . TextDocument . DocumentHighlights ( AbsoluteDocumentPath , line , column ) ;
359
359
360
360
var actualDefinitions = definitions . ToArray ( ) ;
361
361
Assert . Collection ( actualDefinitions , actualHighlight => {
@@ -373,6 +373,47 @@ public async Task DocumentHighlight_Success()
373
373
} ) ;
374
374
}
375
375
376
+ /// <summary>
377
+ /// Ensure that the language client can successfully request FoldingRanges.
378
+ /// </summary>
379
+ [ Fact ( DisplayName = "Language client can successfully request document folding ranges" , Skip = "Periodic failures" ) ]
380
+ public async Task FoldingRanges_Success ( )
381
+ {
382
+ await Connect ( ) ;
383
+
384
+ var expectedDocumentPath = AbsoluteDocumentPath ;
385
+ var expectedDocumentUri = DocumentUri . FromFileSystemPath ( expectedDocumentPath ) ;
386
+
387
+ var expectedFoldingRanges = new Container < FoldingRange > (
388
+ new FoldingRange {
389
+ Kind = FoldingRangeKind . Region ,
390
+ StartLine = 5 ,
391
+ StartCharacter = 1 ,
392
+ EndLine = 7 ,
393
+ EndCharacter = 2 ,
394
+ } ) ;
395
+
396
+ ServerDispatcher . HandleRequest < FoldingRangeRequestParam , Container < FoldingRange > > ( DocumentNames . FoldingRange , ( request , cancellationToken ) => {
397
+ Assert . NotNull ( request . TextDocument ) ;
398
+ Assert . Equal ( expectedDocumentUri , request . TextDocument . Uri ) ;
399
+ return Task . FromResult ( expectedFoldingRanges ) ;
400
+ } ) ;
401
+
402
+ var foldingRanges = await LanguageClient . TextDocument . FoldingRanges ( AbsoluteDocumentPath ) ;
403
+
404
+ var actualFoldingRanges = foldingRanges . ToArray ( ) ;
405
+ Assert . Collection ( actualFoldingRanges , actualFoldingRange => {
406
+ var expectedFoldingRange = expectedFoldingRanges . Single ( ) ;
407
+
408
+ Assert . Equal ( FoldingRangeKind . Region , expectedFoldingRange . Kind ) ;
409
+
410
+ Assert . Equal ( expectedFoldingRange . StartLine , actualFoldingRange . StartLine ) ;
411
+ Assert . Equal ( expectedFoldingRange . StartCharacter , actualFoldingRange . StartCharacter ) ;
412
+ Assert . Equal ( expectedFoldingRange . EndLine , actualFoldingRange . EndLine ) ;
413
+ Assert . Equal ( expectedFoldingRange . EndCharacter , actualFoldingRange . EndCharacter ) ;
414
+ } ) ;
415
+ }
416
+
376
417
/// <summary>
377
418
/// Ensure that the language client can successfully receive Diagnostics from the server.
378
419
/// </summary>
0 commit comments