package fourslash_test import ( "testing" "efprojects.com/kitten-ipc/kitcom/internal/tsgo/fourslash" "efprojects.com/kitten-ipc/kitcom/internal/tsgo/testutil" ) func TestSignatureHelpCommentsClassMembers(t *testing.T) { t.Parallel() defer testutil.RecoverAndFail(t, "Panic on fourslash test") const content = `/** This is comment for c1*/ class c1 { /** p1 is property of c1*/ public p1: number; /** sum with property*/ public p2(/** number to add*/b: number) { return this.p1 + b; } /** getter property 1*/ public get p3() { return this.p2(/*8*/this.p1); } /** setter property 1*/ public set p3(/** this is value*/value: number) { this.p1 = this.p2(/*13*/value); } /** pp1 is property of c1*/ private pp1: number; /** sum with property*/ private pp2(/** number to add*/b: number) { return this.p1 + b; } /** getter property 2*/ private get pp3() { return this.pp2(/*20*/this.pp1); } /** setter property 2*/ private set pp3( /** this is value*/value: number) { this.pp1 = this.pp2(/*25*/value); } /** Constructor method*/ constructor() { } /** s1 is static property of c1*/ static s1: number; /** static sum with property*/ static s2(/** number to add*/b: number) { return c1.s1 + b; } /** static getter property*/ static get s3() { return c1.s2(/*35*/c1.s1); } /** setter property 3*/ static set s3( /** this is value*/value: number) { c1.s1 = c1.s2(/*42*/value); } public nc_p1: number; public nc_p2(b: number) { return this.nc_p1 + b; } public get nc_p3() { return this.nc_p2(/*47*/this.nc_p1); } public set nc_p3(value: number) { this.nc_p1 = this.nc_p2(/*49*/value); } private nc_pp1: number; private nc_pp2(b: number) { return this.nc_pp1 + b; } private get nc_pp3() { return this.nc_pp2(/*54*/this.nc_pp1); } private set nc_pp3(value: number) { this.nc_pp1 = this.nc_pp2(/*56*/value); } static nc_s1: number; static nc_s2(b: number) { return c1.nc_s1 + b; } static get nc_s3() { return c1.nc_s2(/*61*/c1.nc_s1); } static set nc_s3(value: number) { c1.nc_s1 = c1.nc_s2(/*63*/value); } } var i1 = new c1(/*65*/); var i1_p = i1.p1; var i1_f = i1.p2; var i1_r = i1.p2(/*71*/20); var i1_prop = i1.p3; i1.p3 = i1_prop; var i1_nc_p = i1.nc_p1; var i1_ncf = i1.nc_p2; var i1_ncr = i1.nc_p2(/*81*/20); var i1_ncprop = i1.nc_p3; i1.nc_p3 = i1_ncprop; var i1_s_p = c1.s1; var i1_s_f = c1.s2; var i1_s_r = c1.s2(/*92*/20); var i1_s_prop = c1.s3; c1.s3 = i1_s_prop; var i1_s_nc_p = c1.nc_s1; var i1_s_ncf = c1.nc_s2; var i1_s_ncr = c1.nc_s2(/*102*/20); var i1_s_ncprop = c1.nc_s3; c1.nc_s3 = i1_s_ncprop; var i1_c = c1; class cProperties { private val: number; /** getter only property*/ public get p1() { return this.val; } public get nc_p1() { return this.val; } /**setter only property*/ public set p2(value: number) { this.val = value; } public set nc_p2(value: number) { this.val = value; } } var cProperties_i = new cProperties(); cProperties_i.p2 = cProperties_i.p1; cProperties_i.nc_p2 = cProperties_i.nc_p1; class cWithConstructorProperty { /** * this is class cWithConstructorProperty's constructor * @param a this is first parameter a */ constructor(/**more info about a*/public a: number) { var bbbb = 10; this.a = a + 2 + bbbb; } }` f := fourslash.NewFourslash(t, nil /*capabilities*/, content) f.VerifyBaselineSignatureHelp(t) }