@@ -8,32 +8,13 @@ import (
88 "context"
99 "testing"
1010
11- "github.com/stretchr/testify/assert"
1211 "github.com/stretchr/testify/require"
13- core "typefox.dev/fastbelt"
1412 "typefox.dev/fastbelt/internal/grammar"
1513 "typefox.dev/fastbelt/test"
1614 "typefox.dev/fastbelt/util/service"
1715 "typefox.dev/lsp"
1816)
1917
20- func assertHasFoldingRange (t * testing.T , result []lsp.FoldingRange , markerRange core.TextRange , label string ) {
21- t .Helper ()
22- for _ , fr := range result {
23- if fr .StartLine == nil || fr .EndLine == nil {
24- continue
25- }
26-
27- if * fr .StartLine == uint32 (markerRange .Start .Line ) && * fr .EndLine == uint32 (markerRange .End .Line ) {
28- if label == "comment" {
29- assert .Equal (t , "comment" , fr .Kind , "Comment folding should have kind='comment'" )
30- }
31- return
32- }
33- }
34- t .Errorf ("Should have folding range for marker '%s' (lines %d-%d)" , label , markerRange .Start .Line , markerRange .End .Line )
35- }
36-
3718func TestFoldingRangeIntegration (t * testing.T ) {
3819 sc := service .NewContainer ()
3920 grammar .SetupServices (sc )
@@ -79,13 +60,5 @@ func TestFoldingRangeIntegration(t *testing.T) {
7960 require .NoError (t , err )
8061 require .NotNil (t , result )
8162
82- // We expect folding ranges for the marked regions plus the grammar root
83- expectedLabels := []string {"first" , "second" , "comment" , "third" }
84- assert .Equal (t , len (result ), len (expectedLabels )+ 1 , "Should have at least %d folding ranges" , len (expectedLabels ))
85-
86- for _ , label := range expectedLabels {
87- markerRange , ok := doc .MarkerRange (label )
88- require .True (t , ok , "Marker '%s' should exist" , label )
89- assertHasFoldingRange (t , result , markerRange , label )
90- }
63+ doc .AssertFoldingRanges (result , "first" , "second" , "comment" , "third" )
9164}
0 commit comments