29 lines
950 B
Go
29 lines
950 B
Go
package fourslash_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/microsoft/typescript-go/internal/fourslash"
|
|
"github.com/microsoft/typescript-go/internal/lsp/lsproto"
|
|
"github.com/microsoft/typescript-go/internal/testutil"
|
|
)
|
|
|
|
func TestSignatureHelpNestedCallTrailingComma(t *testing.T) {
|
|
t.Parallel()
|
|
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
|
|
// Regression test for crash when requesting signature help on a call target
|
|
// where the nested call has a trailing comma.
|
|
// Both outer and inner calls must have trailing commas, and outer must be generic.
|
|
const content = `declare function outer<T>(range: T): T;
|
|
declare function inner(a: any): any;
|
|
|
|
outer(inner/*1*/(undefined,),);`
|
|
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
|
|
defer done()
|
|
f.GoToMarker(t, "1")
|
|
f.VerifySignatureHelpPresent(t, &lsproto.SignatureHelpContext{
|
|
IsRetrigger: false,
|
|
TriggerKind: lsproto.SignatureHelpTriggerKindInvoked,
|
|
})
|
|
}
|