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

728 lines
30 KiB
Go

// Code generated by convertFourslash; DO NOT EDIT.
// To modify this test, run "npm run makemanual commentsOverloadsFourslash"
package fourslash_test
import (
"testing"
"github.com/microsoft/typescript-go/internal/fourslash"
. "github.com/microsoft/typescript-go/internal/fourslash/tests/util"
"github.com/microsoft/typescript-go/internal/lsp/lsproto"
"github.com/microsoft/typescript-go/internal/testutil"
)
func TestCommentsOverloadsFourslash(t *testing.T) {
fourslash.SkipIfFailing(t)
t.Parallel()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
const content = `/** this is signature 1*/
function /*1*/f1(/**param a*/a: number): number;
function /*2*/f1(b: string): number;
function /*3*/f1(aOrb: any) {
return 10;
}
f/*4q*/1(/*4*/"hello");
f/*o4q*/1(/*o4*/10);
function /*5*/f2(/**param a*/a: number): number;
/** this is signature 2*/
function /*6*/f2(b: string): number;
/** this is f2 var comment*/
function /*7*/f2(aOrb: any) {
return 10;
}
f/*8q*/2(/*8*/"hello");
f/*o8q*/2(/*o8*/10);
function /*9*/f3(a: number): number;
function /*10*/f3(b: string): number;
function /*11*/f3(aOrb: any) {
return 10;
}
f/*12q*/3(/*12*/"hello");
f/*o12q*/3(/*o12*/10);
/** this is signature 4 - with number parameter*/
function /*13*/f4(/**param a*/a: number): number;
/** this is signature 4 - with string parameter*/
function /*14*/f4(b: string): number;
function /*15*/f4(aOrb: any) {
return 10;
}
f/*16q*/4(/*16*/"hello");
f/*o16q*/4(/*o16*/10);
/*17*/
interface i1 {
/**this signature 1*/
(/**param a*/ a: number): number;
/**this is signature 2*/
(b: string): number;
/** foo 1*/
foo(a: number): number;
/** foo 2*/
foo(b: string): number;
foo2(a: number): number;
/** foo2 2*/
foo2(b: string): number;
foo3(a: number): number;
foo3(b: string): number;
/** foo4 1*/
foo4(a: number): number;
foo4(b: string): number;
/** new 1*/
new (a: string);
new (b: number);
}
var i1_i: i1;
interface i2 {
new (a: string);
/** new 2*/
new (b: number);
(a: number): number;
/**this is signature 2*/
(b: string): number;
}
var i2_i: i2;
interface i3 {
/** new 1*/
new (a: string);
/** new 2*/
new (b: number);
/**this is signature 1*/
(a: number): number;
(b: string): number;
}
var i3_i: i3;
interface i4 {
new (a: string);
new (b: number);
(a: number): number;
(b: string): number;
}
var i4_i: i4;
new /*18*/i1/*19q*/_i(/*19*/10);
new i/*20q*/1_i(/*20*/"Hello");
i/*21q*/1_i(/*21*/10);
i/*22q*/1_i(/*22*/"hello");
i1_i./*23*/f/*24q*/oo(/*24*/10);
i1_i.f/*25q*/oo(/*25*/"hello");
i1_i.fo/*26q*/o2(/*26*/10);
i1_i.fo/*27q*/o2(/*27*/"hello");
i1_i.fo/*28q*/o3(/*28*/10);
i1_i.fo/*29q*/o3(/*29*/"hello");
i1_i.fo/*30q*/o4(/*30*/10);
i1_i.fo/*31q*/o4(/*31*/"hello");
new i2/*32q*/_i(/*32*/10);
new i2/*33q*/_i(/*33*/"Hello");
i/*34q*/2_i(/*34*/10);
i2/*35q*/_i(/*35*/"hello");
new i/*36q*/3_i(/*36*/10);
new i3/*37q*/_i(/*37*/"Hello");
i3/*38q*/_i(/*38*/10);
i3/*39q*/_i(/*39*/"hello");
new i4/*40q*/_i(/*40*/10);
new i/*41q*/4_i(/*41*/"Hello");
i4/*42q*/_i(/*42*/10);
i4/*43q*/_i(/*43*/"hello");
class c {
public /*93*/prop1(a: number): number;
public /*94*/prop1(b: string): number;
public /*95*/prop1(aorb: any) {
return 10;
}
/** prop2 1*/
public /*96*/prop2(a: number): number;
public /*97*/prop2(b: string): number;
public /*98*/prop2(aorb: any) {
return 10;
}
public /*99*/prop3(a: number): number;
/** prop3 2*/
public /*100*/prop3(b: string): number;
public /*101*/prop3(aorb: any) {
return 10;
}
/** prop4 1*/
public /*102*/prop4(a: number): number;
/** prop4 2*/
public /*103*/prop4(b: string): number;
public /*104*/prop4(aorb: any) {
return 10;
}
/** prop5 1*/
public /*105*/prop5(a: number): number;
/** prop5 2*/
public /*106*/prop5(b: string): number;
/** Prop5 implementaion*/
public /*107*/prop5(aorb: any) {
return 10;
}
}
class c1 {
/*78*/constructor(a: number);
/*79*/constructor(b: string);
/*80*/constructor(aorb: any) {
}
}
class c2 {
/** c2 1*/
/*81*/constructor(a: number);
/*82*/constructor(b: string);
/*83*/constructor(aorb: any) {
}
}
class c3 {
/*84*/constructor(a: number);
/** c3 2*/
/*85*/constructor(b: string);
/*86*/constructor(aorb: any) {
}
}
class c4 {
/** c4 1*/
/*87*/constructor(a: number);
/** c4 2*/
/*88*/constructor(b: string);
/*89*/constructor(aorb: any) {
}
}
class c5 {
/** c5 1*/
/*90*/constructor(a: number);
/** c5 2*/
/*91*/constructor(b: string);
/** c5 implementation*/
/*92*/constructor(aorb: any) {
}
}
var c_i = new c();
c_i./*44*/pro/*45q*/p1(/*45*/10);
c_i.pr/*46q*/op1(/*46*/"hello");
c_i.pr/*47q*/op2(/*47*/10);
c_i.pr/*48q*/op2(/*48*/"hello");
c_i.pro/*49q*/p3(/*49*/10);
c_i.pr/*50q*/op3(/*50*/"hello");
c_i.pr/*51q*/op4(/*51*/10);
c_i.pr/*52q*/op4(/*52*/"hello");
c_i.pr/*53q*/op5(/*53*/10);
c_i.pr/*54q*/op5(/*54*/"hello");
var c1/*66*/_i_1 = new c/*55q*/1(/*55*/10);
var c1_i_2 = new c/*56q*/1(/*56*/"hello");
var c2_i_1 = new c/*57q*/2(/*57*/10);
var c/*67*/2_i_2 = new c/*58q*/2(/*58*/"hello");
var c3_i_1 = new c/*59q*/3(/*59*/10);
var c/*68*/3_i_2 = new c/*60q*/3(/*60*/"hello");
var c4/*69*/_i_1 = new c/*61q*/4(/*61*/10);
var c4_i_2 = new c/*62q*/4(/*62*/"hello");
var c/*70*/5_i_1 = new c/*63q*/5(/*63*/10);
var c5_i_2 = new c/*64q*/5(/*64*/"hello");
/** This is multiOverload F1 1*/
function multiOverload(a: number): string;
/** This is multiOverload F1 2*/
function multiOverload(b: string): string;
/** This is multiOverload F1 3*/
function multiOverload(c: boolean): string;
/** This is multiOverload Implementation */
function multiOverload(d): string {
return "Hello";
}
multiOverl/*71*/oad(10);
multiOverl/*72*/oad("hello");
multiOverl/*73*/oad(true);
/** This is ambient F1 1*/
declare function ambientF1(a: number): string;
/** This is ambient F1 2*/
declare function ambientF1(b: string): string;
/** This is ambient F1 3*/
declare function ambientF1(c: boolean): boolean;
/*65*/
ambient/*74*/F1(10);
ambient/*75*/F1("hello");
ambient/*76*/F1(true);
function foo(a/*77*/a: i3) {
}
foo(null);`
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
defer done()
f.VerifyQuickInfoAt(t, "1", "function f1(a: number): number (+1 overload)", "this is signature 1")
f.VerifyQuickInfoAt(t, "2", "function f1(b: string): number (+1 overload)", "this is signature 1")
f.VerifyQuickInfoAt(t, "3", "function f1(a: number): number (+1 overload)", "this is signature 1")
f.VerifyQuickInfoAt(t, "4q", "function f1(b: string): number (+1 overload)", "this is signature 1")
f.VerifyQuickInfoAt(t, "o4q", "function f1(a: number): number (+1 overload)", "this is signature 1")
f.GoToMarker(t, "4")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.GoToMarker(t, "o4")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "this is signature 1", ParameterDocComment: "param a", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "5", "function f2(a: number): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "6", "function f2(b: string): number (+1 overload)", "this is signature 2")
f.VerifyQuickInfoAt(t, "7", "function f2(a: number): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "8q", "function f2(b: string): number (+1 overload)", "this is signature 2")
f.VerifyQuickInfoAt(t, "o8q", "function f2(a: number): number (+1 overload)", "")
f.GoToMarker(t, "8")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "this is signature 2", OverloadsCount: 2})
f.GoToMarker(t, "o8")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{ParameterDocComment: "param a", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "9", "function f3(a: number): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "10", "function f3(b: string): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "11", "function f3(a: number): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "12q", "function f3(b: string): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "o12q", "function f3(a: number): number (+1 overload)", "")
f.GoToMarker(t, "12")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.GoToMarker(t, "o12")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "13", "function f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter")
f.VerifyQuickInfoAt(t, "14", "function f4(b: string): number (+1 overload)", "this is signature 4 - with string parameter")
f.VerifyQuickInfoAt(t, "15", "function f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter")
f.VerifyQuickInfoAt(t, "16q", "function f4(b: string): number (+1 overload)", "this is signature 4 - with string parameter")
f.VerifyQuickInfoAt(t, "o16q", "function f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter")
f.GoToMarker(t, "16")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "this is signature 4 - with string parameter", OverloadsCount: 2})
f.GoToMarker(t, "o16")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "this is signature 4 - with number parameter", ParameterDocComment: "param a", OverloadsCount: 2})
f.VerifyCompletions(t, "17", &fourslash.CompletionsExpectedList{
IsIncomplete: false,
ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
CommitCharacters: &DefaultCommitCharacters,
EditRange: Ignored,
},
Items: &fourslash.CompletionsExpectedItems{
Includes: []fourslash.CompletionsExpectedItem{
&lsproto.CompletionItem{
Label: "f1",
Detail: new("function f1(a: number): number (+1 overload)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "this is signature 1",
},
},
},
&lsproto.CompletionItem{
Label: "f2",
Detail: new("function f2(a: number): number (+1 overload)"),
},
&lsproto.CompletionItem{
Label: "f3",
Detail: new("function f3(a: number): number (+1 overload)"),
},
&lsproto.CompletionItem{
Label: "f4",
Detail: new("function f4(a: number): number (+1 overload)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "this is signature 4 - with number parameter",
},
},
},
},
},
})
f.VerifyCompletions(t, "18", &fourslash.CompletionsExpectedList{
IsIncomplete: false,
ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
CommitCharacters: &DefaultCommitCharacters,
EditRange: Ignored,
},
Items: &fourslash.CompletionsExpectedItems{
Includes: []fourslash.CompletionsExpectedItem{
&lsproto.CompletionItem{
Label: "i1_i",
Detail: new("var i1_i: i1\nnew (b: number) => any (+1 overload)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "new 1",
},
},
},
&lsproto.CompletionItem{
Label: "i2_i",
Detail: new("var i2_i: i2\nnew (a: string) => any (+1 overload)"),
},
&lsproto.CompletionItem{
Label: "i3_i",
Detail: new("var i3_i: i3\nnew (a: string) => any (+1 overload)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "new 1",
},
},
},
&lsproto.CompletionItem{
Label: "i4_i",
Detail: new("var i4_i: i4\nnew (a: string) => any (+1 overload)"),
},
},
Excludes: []string{
"i1",
"i2",
"i3",
"i4",
},
},
})
f.GoToMarker(t, "19")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "19q", "var i1_i: i1\nnew (b: number) => any (+1 overload)", "new 1")
f.GoToMarker(t, "20")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "new 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "20q", "var i1_i: i1\nnew (a: string) => any (+1 overload)", "new 1")
f.GoToMarker(t, "21")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "this signature 1", ParameterDocComment: "param a", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "21q", "var i1_i: i1\n(a: number) => number (+1 overload)", "this signature 1")
f.GoToMarker(t, "22")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "this is signature 2", OverloadsCount: 2})
f.GoToMarker(t, "22q")
f.VerifyQuickInfoAt(t, "22q", "var i1_i: i1\n(b: string) => number (+1 overload)", "this is signature 2")
f.VerifyCompletions(t, "23", &fourslash.CompletionsExpectedList{
IsIncomplete: false,
ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
CommitCharacters: &DefaultCommitCharacters,
EditRange: Ignored,
},
Items: &fourslash.CompletionsExpectedItems{
Includes: []fourslash.CompletionsExpectedItem{
&lsproto.CompletionItem{
Label: "foo",
Detail: new("(method) i1.foo(a: number): number (+1 overload)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "foo 1",
},
},
},
&lsproto.CompletionItem{
Label: "foo2",
Detail: new("(method) i1.foo2(a: number): number (+1 overload)"),
},
&lsproto.CompletionItem{
Label: "foo3",
Detail: new("(method) i1.foo3(a: number): number (+1 overload)"),
},
&lsproto.CompletionItem{
Label: "foo4",
Detail: new("(method) i1.foo4(a: number): number (+1 overload)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "foo4 1",
},
},
},
},
},
})
f.GoToMarker(t, "24")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "foo 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "24q", "(method) i1.foo(a: number): number (+1 overload)", "foo 1")
f.GoToMarker(t, "25")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "foo 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "25q", "(method) i1.foo(b: string): number (+1 overload)", "foo 2")
f.GoToMarker(t, "26")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "26q", "(method) i1.foo2(a: number): number (+1 overload)", "")
f.GoToMarker(t, "27")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "foo2 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "27q", "(method) i1.foo2(b: string): number (+1 overload)", "foo2 2")
f.GoToMarker(t, "28")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "28q", "(method) i1.foo3(a: number): number (+1 overload)", "")
f.GoToMarker(t, "29")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "29q", "(method) i1.foo3(b: string): number (+1 overload)", "")
f.GoToMarker(t, "30")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "foo4 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "30q", "(method) i1.foo4(a: number): number (+1 overload)", "foo4 1")
f.GoToMarker(t, "31")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "31q", "(method) i1.foo4(b: string): number (+1 overload)", "foo4 1")
f.GoToMarker(t, "32")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "new 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "32q", "var i2_i: i2\nnew (b: number) => any (+1 overload)", "new 2")
f.GoToMarker(t, "33")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "33q", "var i2_i: i2\nnew (a: string) => any (+1 overload)", "")
f.GoToMarker(t, "34")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "34q", "var i2_i: i2\n(a: number) => number (+1 overload)", "")
f.GoToMarker(t, "35")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "this is signature 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "35q", "var i2_i: i2\n(b: string) => number (+1 overload)", "this is signature 2")
f.GoToMarker(t, "36")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "new 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "36q", "var i3_i: i3\nnew (b: number) => any (+1 overload)", "new 2")
f.GoToMarker(t, "37")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "new 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "37q", "var i3_i: i3\nnew (a: string) => any (+1 overload)", "new 1")
f.GoToMarker(t, "38")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "this is signature 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "38q", "var i3_i: i3\n(a: number) => number (+1 overload)", "this is signature 1")
f.GoToMarker(t, "39")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "39q", "var i3_i: i3\n(b: string) => number (+1 overload)", "this is signature 1")
f.GoToMarker(t, "40")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "40q", "var i4_i: i4\nnew (b: number) => any (+1 overload)", "")
f.GoToMarker(t, "41")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "41q", "var i4_i: i4\nnew (a: string) => any (+1 overload)", "")
f.GoToMarker(t, "42")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "42q", "var i4_i: i4\n(a: number) => number (+1 overload)", "")
f.GoToMarker(t, "43")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "43q", "var i4_i: i4\n(b: string) => number (+1 overload)", "")
f.VerifyCompletions(t, "44", &fourslash.CompletionsExpectedList{
IsIncomplete: false,
ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
CommitCharacters: &DefaultCommitCharacters,
EditRange: Ignored,
},
Items: &fourslash.CompletionsExpectedItems{
Exact: []fourslash.CompletionsExpectedItem{
&lsproto.CompletionItem{
Label: "prop1",
Detail: new("(method) c.prop1(a: number): number (+1 overload)"),
},
&lsproto.CompletionItem{
Label: "prop2",
Detail: new("(method) c.prop2(a: number): number (+1 overload)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "prop2 1",
},
},
},
&lsproto.CompletionItem{
Label: "prop3",
Detail: new("(method) c.prop3(a: number): number (+1 overload)"),
},
&lsproto.CompletionItem{
Label: "prop4",
Detail: new("(method) c.prop4(a: number): number (+1 overload)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "prop4 1",
},
},
},
&lsproto.CompletionItem{
Label: "prop5",
Detail: new("(method) c.prop5(a: number): number (+1 overload)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "prop5 1",
},
},
},
},
},
})
f.GoToMarker(t, "45")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "45q", "(method) c.prop1(a: number): number (+1 overload)", "")
f.GoToMarker(t, "46")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "46q", "(method) c.prop1(b: string): number (+1 overload)", "")
f.GoToMarker(t, "47")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "prop2 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "47q", "(method) c.prop2(a: number): number (+1 overload)", "prop2 1")
f.GoToMarker(t, "48")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "48q", "(method) c.prop2(b: string): number (+1 overload)", "prop2 1")
f.GoToMarker(t, "49")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "49q", "(method) c.prop3(a: number): number (+1 overload)", "")
f.GoToMarker(t, "50")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "prop3 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "50q", "(method) c.prop3(b: string): number (+1 overload)", "prop3 2")
f.GoToMarker(t, "51")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "prop4 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "51q", "(method) c.prop4(a: number): number (+1 overload)", "prop4 1")
f.GoToMarker(t, "52")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "prop4 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "52q", "(method) c.prop4(b: string): number (+1 overload)", "prop4 2")
f.GoToMarker(t, "53")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "prop5 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "53q", "(method) c.prop5(a: number): number (+1 overload)", "prop5 1")
f.GoToMarker(t, "54")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "prop5 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "54q", "(method) c.prop5(b: string): number (+1 overload)", "prop5 2")
f.GoToMarker(t, "55")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "55q", "constructor c1(a: number): c1 (+1 overload)", "")
f.GoToMarker(t, "56")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "56q", "constructor c1(b: string): c1 (+1 overload)", "")
f.GoToMarker(t, "57")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "c2 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "57q", "constructor c2(a: number): c2 (+1 overload)", "c2 1")
f.GoToMarker(t, "58")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "58q", "constructor c2(b: string): c2 (+1 overload)", "c2 1")
f.GoToMarker(t, "59")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "59q", "constructor c3(a: number): c3 (+1 overload)", "")
f.GoToMarker(t, "60")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "c3 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "60q", "constructor c3(b: string): c3 (+1 overload)", "c3 2")
f.GoToMarker(t, "61")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "c4 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "61q", "constructor c4(a: number): c4 (+1 overload)", "c4 1")
f.GoToMarker(t, "62")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "c4 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "62q", "constructor c4(b: string): c4 (+1 overload)", "c4 2")
f.GoToMarker(t, "63")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "c5 1", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "63q", "constructor c5(a: number): c5 (+1 overload)", "c5 1")
f.GoToMarker(t, "64")
f.VerifySignatureHelp(t, fourslash.VerifySignatureHelpOptions{DocComment: "c5 2", OverloadsCount: 2})
f.VerifyQuickInfoAt(t, "64q", "constructor c5(b: string): c5 (+1 overload)", "c5 2")
f.VerifyCompletions(t, "65", &fourslash.CompletionsExpectedList{
IsIncomplete: false,
ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
CommitCharacters: &DefaultCommitCharacters,
EditRange: Ignored,
},
Items: &fourslash.CompletionsExpectedItems{
Includes: []fourslash.CompletionsExpectedItem{
&lsproto.CompletionItem{
Label: "c",
Detail: new("class c"),
},
&lsproto.CompletionItem{
Label: "c1",
Detail: new("class c1"),
},
&lsproto.CompletionItem{
Label: "c2",
Detail: new("class c2"),
},
&lsproto.CompletionItem{
Label: "c3",
Detail: new("class c3"),
},
&lsproto.CompletionItem{
Label: "c4",
Detail: new("class c4"),
},
&lsproto.CompletionItem{
Label: "c5",
Detail: new("class c5"),
},
&lsproto.CompletionItem{
Label: "c_i",
Detail: new("var c_i: c"),
},
&lsproto.CompletionItem{
Label: "c1_i_1",
Detail: new("var c1_i_1: c1"),
},
&lsproto.CompletionItem{
Label: "c2_i_1",
Detail: new("var c2_i_1: c2"),
},
&lsproto.CompletionItem{
Label: "c3_i_1",
Detail: new("var c3_i_1: c3"),
},
&lsproto.CompletionItem{
Label: "c4_i_1",
Detail: new("var c4_i_1: c4"),
},
&lsproto.CompletionItem{
Label: "c5_i_1",
Detail: new("var c5_i_1: c5"),
},
&lsproto.CompletionItem{
Label: "c1_i_2",
Detail: new("var c1_i_2: c1"),
},
&lsproto.CompletionItem{
Label: "c2_i_2",
Detail: new("var c2_i_2: c2"),
},
&lsproto.CompletionItem{
Label: "c3_i_2",
Detail: new("var c3_i_2: c3"),
},
&lsproto.CompletionItem{
Label: "c4_i_2",
Detail: new("var c4_i_2: c4"),
},
&lsproto.CompletionItem{
Label: "c5_i_2",
Detail: new("var c5_i_2: c5"),
},
&lsproto.CompletionItem{
Label: "multiOverload",
Detail: new("function multiOverload(a: number): string (+2 overloads)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "This is multiOverload F1 1",
},
},
},
&lsproto.CompletionItem{
Label: "ambientF1",
Detail: new("function ambientF1(a: number): string (+2 overloads)"),
Documentation: &lsproto.StringOrMarkupContent{
MarkupContent: &lsproto.MarkupContent{
Kind: lsproto.MarkupKindMarkdown,
Value: "This is ambient F1 1",
},
},
},
},
},
})
f.VerifyQuickInfoAt(t, "66", "var c1_i_1: c1", "")
f.VerifyQuickInfoAt(t, "67", "var c2_i_2: c2", "")
f.VerifyQuickInfoAt(t, "68", "var c3_i_2: c3", "")
f.VerifyQuickInfoAt(t, "69", "var c4_i_1: c4", "")
f.VerifyQuickInfoAt(t, "70", "var c5_i_1: c5", "")
f.VerifyQuickInfoAt(t, "71", "function multiOverload(a: number): string (+2 overloads)", "This is multiOverload F1 1")
f.VerifyQuickInfoAt(t, "72", "function multiOverload(b: string): string (+2 overloads)", "This is multiOverload F1 2")
f.VerifyQuickInfoAt(t, "73", "function multiOverload(c: boolean): string (+2 overloads)", "This is multiOverload F1 3")
f.VerifyQuickInfoAt(t, "74", "function ambientF1(a: number): string (+2 overloads)", "This is ambient F1 1")
f.VerifyQuickInfoAt(t, "75", "function ambientF1(b: string): string (+2 overloads)", "This is ambient F1 2")
f.VerifyQuickInfoAt(t, "76", "function ambientF1(c: boolean): boolean (+2 overloads)", "This is ambient F1 3")
f.VerifyQuickInfoAt(t, "77", "(parameter) aa: i3", "")
f.VerifyQuickInfoAt(t, "78", "constructor c1(a: number): c1 (+1 overload)", "")
f.VerifyQuickInfoAt(t, "79", "constructor c1(b: string): c1 (+1 overload)", "")
f.VerifyQuickInfoAt(t, "80", "constructor c1(a: number): c1 (+1 overload)", "")
f.VerifyQuickInfoAt(t, "81", "constructor c2(a: number): c2 (+1 overload)", "c2 1")
f.VerifyQuickInfoAt(t, "82", "constructor c2(b: string): c2 (+1 overload)", "c2 1")
f.VerifyQuickInfoAt(t, "83", "constructor c2(a: number): c2 (+1 overload)", "c2 1")
f.VerifyQuickInfoAt(t, "84", "constructor c3(a: number): c3 (+1 overload)", "")
f.VerifyQuickInfoAt(t, "85", "constructor c3(b: string): c3 (+1 overload)", "c3 2")
f.VerifyQuickInfoAt(t, "86", "constructor c3(a: number): c3 (+1 overload)", "")
f.VerifyQuickInfoAt(t, "87", "constructor c4(a: number): c4 (+1 overload)", "c4 1")
f.VerifyQuickInfoAt(t, "88", "constructor c4(b: string): c4 (+1 overload)", "c4 2")
f.VerifyQuickInfoAt(t, "89", "constructor c4(a: number): c4 (+1 overload)", "c4 1")
f.VerifyQuickInfoAt(t, "90", "constructor c5(a: number): c5 (+1 overload)", "c5 1")
f.VerifyQuickInfoAt(t, "91", "constructor c5(b: string): c5 (+1 overload)", "c5 2")
f.VerifyQuickInfoAt(t, "92", "constructor c5(a: number): c5 (+1 overload)", "c5 1")
f.VerifyQuickInfoAt(t, "93", "(method) c.prop1(a: number): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "94", "(method) c.prop1(b: string): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "95", "(method) c.prop1(a: number): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "96", "(method) c.prop2(a: number): number (+1 overload)", "prop2 1")
f.VerifyQuickInfoAt(t, "97", "(method) c.prop2(b: string): number (+1 overload)", "prop2 1")
f.VerifyQuickInfoAt(t, "98", "(method) c.prop2(a: number): number (+1 overload)", "prop2 1")
f.VerifyQuickInfoAt(t, "99", "(method) c.prop3(a: number): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "100", "(method) c.prop3(b: string): number (+1 overload)", "prop3 2")
f.VerifyQuickInfoAt(t, "101", "(method) c.prop3(a: number): number (+1 overload)", "")
f.VerifyQuickInfoAt(t, "102", "(method) c.prop4(a: number): number (+1 overload)", "prop4 1")
f.VerifyQuickInfoAt(t, "103", "(method) c.prop4(b: string): number (+1 overload)", "prop4 2")
f.VerifyQuickInfoAt(t, "104", "(method) c.prop4(a: number): number (+1 overload)", "prop4 1")
f.VerifyQuickInfoAt(t, "105", "(method) c.prop5(a: number): number (+1 overload)", "prop5 1")
f.VerifyQuickInfoAt(t, "106", "(method) c.prop5(b: string): number (+1 overload)", "prop5 2")
f.VerifyQuickInfoAt(t, "107", "(method) c.prop5(a: number): number (+1 overload)", "prop5 1")
}