45 lines
1.2 KiB
Go
45 lines
1.2 KiB
Go
// Code generated by convertFourslash; DO NOT EDIT.
|
|
// To modify this test, run "npm run makemanual issue57429"
|
|
|
|
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 TestIssue57429(t *testing.T) {
|
|
fourslash.SkipIfFailing(t)
|
|
t.Parallel()
|
|
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
|
|
const content = `// @strict: true
|
|
function Builder<I>(def: I) {
|
|
return def;
|
|
}
|
|
|
|
interface IThing {
|
|
doThing: (args: { value: object }) => string
|
|
doAnotherThing: () => void
|
|
}
|
|
|
|
Builder<IThing>({
|
|
doThing(args: { value: object }) {
|
|
const { v/*1*/alue } = this.[|args|]
|
|
return ` + "`" + `${value}` + "`" + `
|
|
},
|
|
doAnotherThing() { },
|
|
})`
|
|
f, done := fourslash.NewFourslash(t, nil /*capabilities*/, content)
|
|
defer done()
|
|
f.VerifyQuickInfoAt(t, "1", "const value: any", "")
|
|
f.VerifyNonSuggestionDiagnostics(t, []*lsproto.Diagnostic{
|
|
{
|
|
Message: lsproto.StringOrMarkupContent{String: new("Property 'args' does not exist on type 'IThing'.")},
|
|
Code: &lsproto.IntegerOrString{Integer: new(int32(2339))},
|
|
},
|
|
})
|
|
}
|