81 lines
1.8 KiB
Go
81 lines
1.8 KiB
Go
// Code generated by convertFourslash; DO NOT EDIT.
|
|
// To modify this test, run "npm run makemanual codeFixClassImplementDeepInheritance"
|
|
|
|
package fourslash_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/microsoft/typescript-go/internal/fourslash"
|
|
"github.com/microsoft/typescript-go/internal/testutil"
|
|
)
|
|
|
|
func TestCodeFixClassImplementDeepInheritance(t *testing.T) {
|
|
fourslash.SkipIfFailing(t)
|
|
t.Parallel()
|
|
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
|
|
const content = `// @stableTypeOrdering: true
|
|
// @strict: false
|
|
// Referenced throughout the inheritance chain.
|
|
interface I0 { a: number }
|
|
|
|
class C1 implements I0 { a: number }
|
|
interface I1 { b: number }
|
|
interface I2 extends C1, I1 {}
|
|
|
|
class C2 { c: number }
|
|
interface I3 {d: number}
|
|
class C3 extends C2 implements I0, I2, I3 {
|
|
a: number;
|
|
b: number;
|
|
d: number;
|
|
}
|
|
|
|
interface I4 { e: number }
|
|
interface I5 { f: number }
|
|
class C4 extends C3 implements I0, I4, I5 {
|
|
e: number;
|
|
f: number;
|
|
}
|
|
|
|
interface I6 extends C4 {}
|
|
class C5 implements I6 {}`
|
|
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
|
|
defer done()
|
|
f.VerifyCodeFix(t, fourslash.VerifyCodeFixOptions{
|
|
Description: "Implement interface 'I6'",
|
|
NewFileContent: `// Referenced throughout the inheritance chain.
|
|
interface I0 { a: number }
|
|
|
|
class C1 implements I0 { a: number }
|
|
interface I1 { b: number }
|
|
interface I2 extends C1, I1 {}
|
|
|
|
class C2 { c: number }
|
|
interface I3 {d: number}
|
|
class C3 extends C2 implements I0, I2, I3 {
|
|
a: number;
|
|
b: number;
|
|
d: number;
|
|
}
|
|
|
|
interface I4 { e: number }
|
|
interface I5 { f: number }
|
|
class C4 extends C3 implements I0, I4, I5 {
|
|
e: number;
|
|
f: number;
|
|
}
|
|
|
|
interface I6 extends C4 {}
|
|
class C5 implements I6 {
|
|
c: number;
|
|
a: number;
|
|
b: number;
|
|
d: number;
|
|
e: number;
|
|
f: number;
|
|
}`,
|
|
Index: 0,
|
|
})
|
|
}
|