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

78 lines
2.0 KiB
Go

package fourslash_test
import (
"testing"
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/fourslash"
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/testutil"
)
func TestJsDocInheritDoc(t *testing.T) {
t.Parallel()
t.Skip()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
const content = `// @Filename: inheritDoc.ts
class Foo {
/**
* Foo constructor documentation
*/
constructor(value: number) {}
/**
* Foo#method1 documentation
*/
static method1() {}
/**
* Foo#method2 documentation
*/
method2() {}
/**
* Foo#property1 documentation
*/
property1: string;
/**
* Foo#property3 documentation
*/
property3 = "instance prop";
}
interface Baz {
/** Baz#property1 documentation */
property1: string;
/**
* Baz#property2 documentation
*/
property2: object;
}
class Bar extends Foo implements Baz {
ctorValue: number;
/** @inheritDoc */
constructor(value: number) {
super(value);
this.ctorValue = value;
}
/** @inheritDoc */
static method1() {}
method2() {}
/** @inheritDoc */
property1: string;
/**
* Bar#property2
* @inheritDoc
*/
property2: object;
static /*6*/property3 = "class prop";
}
const b = new Bar/*1*/(5);
b.method2/*2*/();
Bar.method1/*3*/();
const p1 = b.property1/*4*/;
const p2 = b.property2/*5*/;`
f := fourslash.NewFourslash(t, nil /*capabilities*/, content)
f.VerifyQuickInfoAt(t, "1", "constructor Bar(value: number): Bar", "")
f.VerifyQuickInfoAt(t, "2", "(method) Bar.method2(): void", "Foo#method2 documentation")
f.VerifyQuickInfoAt(t, "3", "(method) Bar.method1(): void", "Foo#method1 documentation")
f.VerifyQuickInfoAt(t, "4", "(property) Bar.property1: string", "Foo#property1 documentation")
f.VerifyQuickInfoAt(t, "5", "(property) Bar.property2: object", "Baz#property2 documentation\nBar#property2")
f.VerifyQuickInfoAt(t, "6", "(property) Bar.property3: string", "")
}