kittenipc/kitcom/internal/tsgo/fourslash/tests/gen/quickInfoJsDocGetterSetter_test.go
2025-10-15 10:12:44 +03:00

61 lines
1.1 KiB
Go

package fourslash_test
import (
"testing"
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/fourslash"
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/testutil"
)
func TestQuickInfoJsDocGetterSetter(t *testing.T) {
t.Parallel()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
const content = `class A {
/**
* getter A
* @returns return A
*/
get /*1*/x(): string {
return "";
}
/**
* setter A
* @param value foo A
* @todo empty jsdoc
*/
set /*2*/x(value) { }
}
// override both getter and setter
class B extends A {
/**
* getter B
* @returns return B
*/
get /*3*/x(): string {
return "";
}
/**
* setter B
* @param value foo B
*/
set /*4*/x(vale) { }
}
// not override
class C extends A { }
// only override setter
class D extends A {
/**
* setter D
* @param value foo D
*/
set /*5*/x(val: string) { }
}
new A()./*6*/x = "1";
new B()./*7*/x = "1";
new C()./*8*/x = "1";
new D()./*9*/x = "1";`
f := fourslash.NewFourslash(t, nil /*capabilities*/, content)
f.VerifyBaselineHover(t)
}