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

47 lines
1.2 KiB
Go

// 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<number>}
* [|@extends {Thing<string>}|]
*/
class MyStringThing extends Thing {
constructor() {
super();
var x = this.mine;
x/**/;
}
}
// @Filename: declarations.d.ts
declare class Thing<T> {
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))},
},
})
}