// Code generated by convertFourslash; DO NOT EDIT. // To modify this test, run "npm run makemanual jsDocAugmentsAndExtends" package fourslash_test import ( "testing" "github.com/microsoft/typescript-go/internal/fourslash" "github.com/microsoft/typescript-go/internal/lsp/lsproto" "github.com/microsoft/typescript-go/internal/testutil" ) func TestJsDocAugmentsAndExtends(t *testing.T) { fourslash.SkipIfFailing(t) t.Parallel() defer testutil.RecoverAndFail(t, "Panic on fourslash test") const content = `// @allowJs: true // @checkJs: true // @Filename: dummy.js /** * @augments {Thing} * [|@extends {Thing}|] */ class MyStringThing extends Thing { constructor() { super(); var x = this.mine; x/**/; } } // @Filename: declarations.d.ts declare class Thing { mine: T; }` f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content) defer done() f.GoToMarker(t, "") f.VerifyQuickInfoIs(t, "(local var) x: number", "") f.VerifyNonSuggestionDiagnostics(t, []*lsproto.Diagnostic{ { Message: lsproto.StringOrMarkupContent{String: new("Class declarations cannot have more than one '@augments' or '@extends' tag.")}, Code: &lsproto.IntegerOrString{Integer: new(int32(8025))}, }, }) }