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

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,
})
}