From 63f341ae5cc5783c7a4c0fb087f3d15a802586d2 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 3 Dec 2025 12:39:53 -0800 Subject: [PATCH 1/3] test --- .../foldingRangeJSXPropertyAccess_test.go | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 internal/fourslash/tests/foldingRangeJSXPropertyAccess_test.go diff --git a/internal/fourslash/tests/foldingRangeJSXPropertyAccess_test.go b/internal/fourslash/tests/foldingRangeJSXPropertyAccess_test.go new file mode 100644 index 0000000000..dd75c7dc70 --- /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) +} From 406998b4fff20aafb68918c1d0e015cf9d03bd4e Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 3 Dec 2025 12:40:24 -0800 Subject: [PATCH 2/3] Fix bug --- internal/ls/folding.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) } From f189f5ba36c1c63e27d03cf1e94cba6c33c8fb7d Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 3 Dec 2025 12:43:45 -0800 Subject: [PATCH 3/3] test --- .../tests/foldingRangeJSXPropertyAccess_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/fourslash/tests/foldingRangeJSXPropertyAccess_test.go b/internal/fourslash/tests/foldingRangeJSXPropertyAccess_test.go index dd75c7dc70..b2ba20c90e 100644 --- a/internal/fourslash/tests/foldingRangeJSXPropertyAccess_test.go +++ b/internal/fourslash/tests/foldingRangeJSXPropertyAccess_test.go @@ -13,13 +13,13 @@ func TestFoldingRangeJSXPropertyAccess(t *testing.T) { defer testutil.RecoverAndFail(t, "Panic on fourslash test") const content = `// @jsx: preserve // @Filename: /a.tsx - const Components = { +const Components =[| { Nested: () => null -}; +}|]; -export const Test = () => { - return ; -};` +export const Test = () =>[| { + return [||]; +}|];` f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content) defer done() f.VerifyOutliningSpans(t)