56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
package fourslash_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/microsoft/typescript-go/internal/fourslash"
|
|
"github.com/microsoft/typescript-go/internal/testutil"
|
|
)
|
|
|
|
func TestSourceFixAllImports(t *testing.T) {
|
|
t.Parallel()
|
|
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
|
|
const content = `// @Filename: /a.ts
|
|
export const a: number = 1;
|
|
// @Filename: /b.ts
|
|
export const b: number = 2;
|
|
// @Filename: /main.ts
|
|
a;
|
|
b;`
|
|
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
|
|
defer done()
|
|
f.GoToFile(t, "/main.ts")
|
|
|
|
// Test per-fixId fix-all via VerifyCodeFixAll (quickfix path)
|
|
f.VerifyCodeFixAll(t, fourslash.VerifyCodeFixAllOptions{
|
|
FixID: "fixMissingImport",
|
|
NewFileContent: `import { a } from "./a";
|
|
import { b } from "./b";
|
|
|
|
a;
|
|
b;`,
|
|
})
|
|
}
|
|
|
|
func TestSourceFixAllCodeAction(t *testing.T) {
|
|
t.Parallel()
|
|
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
|
|
const content = `// @Filename: /a.ts
|
|
export const a: number = 1;
|
|
// @Filename: /b.ts
|
|
export const b: number = 2;
|
|
// @Filename: /main.ts
|
|
a;
|
|
b;`
|
|
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
|
|
defer done()
|
|
f.GoToFile(t, "/main.ts")
|
|
|
|
// Test source.fixAll code action directly (on-save path)
|
|
f.VerifySourceFixAll(t, `import { a } from "./a";
|
|
import { b } from "./b";
|
|
|
|
a;
|
|
b;`)
|
|
}
|