Files
kjol/tools/tsgo/internal/fourslash/tests/codeLensShowOnInterfaceMethods_test.go
2026-07-09 16:50:43 -04:00

57 lines
1.3 KiB
Go

package fourslash_test
import (
"fmt"
"testing"
"github.com/microsoft/typescript-go/internal/core"
"github.com/microsoft/typescript-go/internal/fourslash"
"github.com/microsoft/typescript-go/internal/ls/lsutil"
"github.com/microsoft/typescript-go/internal/testutil"
)
func TestCodeLensReferencesShowOnInterfaceMethods(t *testing.T) {
t.Parallel()
containingTestName := t.Name()
for _, value := range []core.Tristate{core.TSTrue, core.TSFalse} {
t.Run(fmt.Sprintf("%s=%v", containingTestName, value.IsTrue()), func(t *testing.T) {
t.Parallel()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
const content = `
export interface I {
methodA(): void;
}
export interface I {
methodB(): void;
}
interface J extends I {
methodB(): void;
methodC(): void;
}
class C implements J {
methodA(): void {}
methodB(): void {}
methodC(): void {}
}
class AbstractC implements J {
abstract methodA(): void;
methodB(): void {}
abstract methodC(): void;
}
`
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
defer done()
f.VerifyBaselineCodeLens(t, &lsutil.UserPreferences{
CodeLens: lsutil.CodeLensUserPreferences{
ImplementationsCodeLensEnabled: core.TSTrue,
ImplementationsCodeLensShowOnInterfaceMethods: value,
},
})
})
}
}