48 lines
1.3 KiB
Go
48 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 TestCodeLensReferencesShowOnAllClassMethods(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 abstract class ABC {
|
|
abstract methodA(): void;
|
|
methodB(): void {}
|
|
#methodC(): void {}
|
|
protected methodD(): void {}
|
|
private methodE(): void {}
|
|
protected abstract methodG(): void;
|
|
public methodH(): void {}
|
|
|
|
static methodStaticA(): void {}
|
|
protected static methodStaticB(): void {}
|
|
private static methodStaticC(): void {}
|
|
static #methodStaticD(): void {}
|
|
}
|
|
`
|
|
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
|
|
defer done()
|
|
f.VerifyBaselineCodeLens(t, &lsutil.UserPreferences{
|
|
CodeLens: lsutil.CodeLensUserPreferences{
|
|
ImplementationsCodeLensEnabled: core.TSTrue,
|
|
ImplementationsCodeLensShowOnAllClassMethods: value,
|
|
},
|
|
})
|
|
})
|
|
}
|
|
}
|