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