Files
kjol/tools/tsgo/internal/fourslash/tests/manual/quickInfoForOverloadOnConst1_test.go
2026-07-09 16:50:43 -04:00

43 lines
1.6 KiB
Go

package fourslash_test
import (
"testing"
"github.com/microsoft/typescript-go/internal/fourslash"
"github.com/microsoft/typescript-go/internal/testutil"
)
func TestQuickInfoForOverloadOnConst1(t *testing.T) {
t.Parallel()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
const content = `interface I {
x/*1*/1(a: number, callback: (x: 'hi') => number);
}
class C {
x/*2*/1(a: number, call/*3*/back: (x: 'hi') => number);
x/*4*/1(a: number, call/*5*/back: (x: string) => number) {
call/*6*/back('hi');
callback('bye');
var hm = "hm";
callback(hm);
}
}
var c: C;
c.x/*7*/1(1, (x/*8*/x: 'hi') => { return 1; } );
c.x1(1, (x/*9*/x: 'bye') => { return 1; } );
c.x1(1, (x/*10*/x) => { return 1; } );`
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
defer done()
f.VerifyQuickInfoAt(t, "1", "(method) I.x1(a: number, callback: (x: 'hi') => number): any", "")
f.VerifyQuickInfoAt(t, "2", "(method) C.x1(a: number, callback: (x: 'hi') => number): any", "")
f.VerifyQuickInfoAt(t, "3", "(parameter) callback: (x: 'hi') => number", "")
f.VerifyQuickInfoAt(t, "4", "(method) C.x1(a: number, callback: (x: string) => number): void", "")
f.VerifyQuickInfoAt(t, "5", "(parameter) callback: (x: string) => number", "")
f.VerifyQuickInfoAt(t, "6", "(parameter) callback: (x: string) => number", "")
f.VerifyQuickInfoAt(t, "7", "(method) C.x1(a: number, callback: (x: 'hi') => number): any", "")
f.VerifyQuickInfoAt(t, "8", "(parameter) xx: \"hi\"", "")
f.VerifyQuickInfoAt(t, "9", "(parameter) xx: \"bye\"", "")
f.VerifyQuickInfoAt(t, "10", "(parameter) xx: \"hi\"", "")
}