vendor tsgo

This commit is contained in:
2026-07-09 16:50:43 -04:00
parent c06ea2e5a4
commit 98978e4930
5804 changed files with 1556156 additions and 101 deletions

View File

@@ -0,0 +1,55 @@
package fourslash_test
import (
"testing"
"github.com/microsoft/typescript-go/internal/fourslash"
"github.com/microsoft/typescript-go/internal/testutil"
)
func TestSignatureHelpNestedCalls(t *testing.T) {
t.Parallel()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
const content = `function foo(s: string) { return s; }
function bar(s: string) { return s; }
let s = foo(/*a*/ /*b*/bar/*c*/(/*d*/"hello"/*e*/)/*f*/);`
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
defer done()
// Markers a, b, c should show foo (outer call)
f.GoToMarker(t, "a")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{Text: "foo(s: string): string"})
f.GoToMarker(t, "b")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{Text: "foo(s: string): string"})
f.GoToMarker(t, "c")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{Text: "foo(s: string): string"})
// Markers d, e should show bar (inside inner call, including the end boundary)
f.GoToMarker(t, "d")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{Text: "bar(s: string): string"})
f.GoToMarker(t, "e")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{Text: "bar(s: string): string"})
// Marker f should show foo (after the inner call closes)
f.GoToMarker(t, "f")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{Text: "foo(s: string): string"})
}
func TestSignatureHelpEmptyInnerCall(t *testing.T) {
t.Parallel()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
const content = `function foo(s: string) { return s; }
function bar(s: string) { return s; }
let s = foo(bar(/*a*/));`
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
defer done()
// Marker a should show bar even though the inner argument list is empty.
f.GoToMarker(t, "a")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{Text: "bar(s: string): string"})
}