41 lines
890 B
Go
41 lines
890 B
Go
package fourslash_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/fourslash"
|
|
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/testutil"
|
|
)
|
|
|
|
func TestFindAllRefsJsThisPropertyAssignment(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
|
|
const content = `// @allowJs: true
|
|
// @noImplicitThis: true
|
|
// @Filename: infer.d.ts
|
|
export declare function infer(o: { m(): void } & ThisType<{ x: number }>): void;
|
|
// @Filename: a.js
|
|
import { infer } from "./infer";
|
|
infer({
|
|
m() {
|
|
this.x = 1;
|
|
this./*1*/x;
|
|
},
|
|
});
|
|
// @Filename: b.js
|
|
/**
|
|
* @template T
|
|
* @param {{m(): void} & ThisType<{x: number}>} o
|
|
*/
|
|
function infer(o) {}
|
|
infer({
|
|
m() {
|
|
this.x = 2;
|
|
this./*2*/x;
|
|
},
|
|
});`
|
|
f := fourslash.NewFourslash(t, nil /*capabilities*/, content)
|
|
f.VerifyBaselineFindAllReferences(t, "1", "2")
|
|
}
|