diff --git a/internal/fourslash/tests/foldingRangeJSXPropertyAccess_test.go b/internal/fourslash/tests/foldingRangeJSXPropertyAccess_test.go new file mode 100644 index 0000000000..b2ba20c90e --- /dev/null +++ b/internal/fourslash/tests/foldingRangeJSXPropertyAccess_test.go @@ -0,0 +1,26 @@ +package fourslash_test + +import ( + "testing" + + "github.com/microsoft/typescript-go/internal/fourslash" + "github.com/microsoft/typescript-go/internal/testutil" +) + +func TestFoldingRangeJSXPropertyAccess(t *testing.T) { + t.Parallel() + + defer testutil.RecoverAndFail(t, "Panic on fourslash test") + const content = `// @jsx: preserve +// @Filename: /a.tsx +const Components =[| { + Nested: () => null +}|]; + +export const Test = () =>[| { + return [||]; +}|];` + f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content) + defer done() + f.VerifyOutliningSpans(t) +} diff --git a/internal/ls/folding.go b/internal/ls/folding.go index d37548c7c3..ecd819d635 100644 --- a/internal/ls/folding.go +++ b/internal/ls/folding.go @@ -430,7 +430,7 @@ func spanForJSXElement(node *ast.Node, sourceFile *ast.SourceFile, l *LanguageSe if node.Kind == ast.KindJsxElement { jsxElement := node.AsJsxElement() textRange := l.createLspRangeFromBounds(astnav.GetStartOfNode(jsxElement.OpeningElement, sourceFile, false /*includeJSDoc*/), jsxElement.ClosingElement.End(), sourceFile) - tagName := jsxElement.OpeningElement.TagName().Text() + tagName := scanner.GetTextOfNode(jsxElement.OpeningElement.TagName()) bannerText := "<" + tagName + ">..." return createFoldingRange(textRange, "", bannerText) }