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

54 lines
1.4 KiB
Go

package fourslash_test
import (
"testing"
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/fourslash"
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/testutil"
)
func TestDeclarationMapGoToDefinition(t *testing.T) {
t.Parallel()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
const content = `// @Filename: index.ts
export class Foo {
member: string;
/*2*/methodName(propName: SomeType): void {}
otherMethod() {
if (Math.random() > 0.5) {
return {x: 42};
}
return {y: "yes"};
}
}
export interface SomeType {
member: number;
}
// @Filename: indexdef.d.ts.map
{"version":3,"file":"indexdef.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;IACI,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IACpC,WAAW;;;;;;;CAMd;AAED,MAAM,WAAW,QAAQ;IACrB,MAAM,EAAE,MAAM,CAAC;CAClB"}
// @Filename: indexdef.d.ts
export declare class Foo {
member: string;
methodName(propName: SomeType): void;
otherMethod(): {
x: number;
y?: undefined;
} | {
y: string;
x?: undefined;
};
}
export interface SomeType {
member: number;
}
//# sourceMappingURL=indexdef.d.ts.map
// @Filename: mymodule.ts
import * as mod from "./indexdef";
const instance = new mod.Foo();
instance.[|/*1*/methodName|]({member: 12});`
f := fourslash.NewFourslash(t, nil /*capabilities*/, content)
f.VerifyBaselineGoToDefinition(t, "1")
}