diff --git a/internal/fourslash/tests/inlayHintsTupleTypeCrash_test.go b/internal/fourslash/tests/inlayHintsTupleTypeCrash_test.go new file mode 100644 index 0000000000..5df5b06667 --- /dev/null +++ b/internal/fourslash/tests/inlayHintsTupleTypeCrash_test.go @@ -0,0 +1,22 @@ +package fourslash_test + +import ( + "testing" + + "github.com/microsoft/typescript-go/internal/fourslash" + "github.com/microsoft/typescript-go/internal/ls/lsutil" + "github.com/microsoft/typescript-go/internal/testutil" +) + +func TestInlayHintsTupleTypeCrash(t *testing.T) { + t.Parallel() + + defer testutil.RecoverAndFail(t, "Panic on fourslash test") + const content = `function iterateTuples(tuples: [string][]): void { + tuples.forEach((l) => {}) +}` + f := fourslash.NewFourslash(t, nil /*capabilities*/, content) + f.VerifyBaselineInlayHints(t, nil /*span*/, &lsutil.UserPreferences{ + IncludeInlayFunctionParameterTypeHints: true, + }) +} diff --git a/testdata/baselines/reference/submodule/fourslash/inlayHints/inlayHintsTupleTypeCrash.baseline b/testdata/baselines/reference/submodule/fourslash/inlayHints/inlayHintsTupleTypeCrash.baseline new file mode 100644 index 0000000000..c4db2d46ea --- /dev/null +++ b/testdata/baselines/reference/submodule/fourslash/inlayHints/inlayHintsTupleTypeCrash.baseline @@ -0,0 +1,25 @@ +// === Inlay Hints === + tuples.forEach((l) => {}) + ^ +{ + "position": { + "line": 1, + "character": 19 + }, + "label": [ + { + "value": ": " + }, + { + "value": "[" + }, + { + "value": "string" + }, + { + "value": "]" + } + ], + "kind": 1, + "paddingLeft": true +} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/fourslash/inlayHints/inlayHintsTupleTypeCrash.baseline.diff b/testdata/baselines/reference/submodule/fourslash/inlayHints/inlayHintsTupleTypeCrash.baseline.diff new file mode 100644 index 0000000000..4b68d3baf3 --- /dev/null +++ b/testdata/baselines/reference/submodule/fourslash/inlayHints/inlayHintsTupleTypeCrash.baseline.diff @@ -0,0 +1,24 @@ +--- old.inlayHintsTupleTypeCrash.baseline ++++ new.inlayHintsTupleTypeCrash.baseline +@@= skipped --1, +0 lines =@@ ++// === Inlay Hints === ++ tuples.forEach((l) => {}) ++ ^ ++{ ++ "label": [ ++ { ++ "value": ": " ++ }, ++ { ++ "value": "[" ++ }, ++ { ++ "value": "string" ++ }, ++ { ++ "value": "]" ++ } ++ ], ++ "kind": 1, ++ "paddingLeft": true ++} \ No newline at end of file