package fourslash_test import ( "testing" "efprojects.com/kitten-ipc/kitcom/internal/tsgo/fourslash" . "efprojects.com/kitten-ipc/kitcom/internal/tsgo/fourslash/tests/util" "efprojects.com/kitten-ipc/kitcom/internal/tsgo/testutil" ) func TestCompletionInChecks1(t *testing.T) { t.Parallel() t.Skip() defer testutil.RecoverAndFail(t, "Panic on fourslash test") const content = `// @target: esnext declare const obj: { a?: string; b: number; }; if ("/*1*/" in obj) {} if (((("/*2*/"))) in obj) {} if ("/*3*/" in (((obj)))) {} if (((("/*4*/"))) in (((obj)))) {} type MyUnion = { missing: true } | { result: string }; declare const u: MyUnion; if ("/*5*/" in u) {} class Cls1 { foo = ''; #bar = 0; } declare const c1: Cls1; if ("/*6*/" in c1) {} class Cls2 { foo = ''; private bar = 0; } declare const c2: Cls2; if ("/*7*/" in c2) {}` f := fourslash.NewFourslash(t, nil /*capabilities*/, content) f.VerifyCompletions(t, []string{"1", "2", "3", "4"}, &fourslash.CompletionsExpectedList{ IsIncomplete: false, ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{ CommitCharacters: &DefaultCommitCharacters, EditRange: Ignored, }, Items: &fourslash.CompletionsExpectedItems{ Exact: []fourslash.CompletionsExpectedItem{ "a", "b", }, }, }) f.VerifyCompletions(t, "5", &fourslash.CompletionsExpectedList{ IsIncomplete: false, ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{ CommitCharacters: &DefaultCommitCharacters, EditRange: Ignored, }, Items: &fourslash.CompletionsExpectedItems{ Exact: []fourslash.CompletionsExpectedItem{ "missing", "result", }, }, }) f.VerifyCompletions(t, "6", &fourslash.CompletionsExpectedList{ IsIncomplete: false, ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{ CommitCharacters: &DefaultCommitCharacters, EditRange: Ignored, }, Items: &fourslash.CompletionsExpectedItems{ Exact: []fourslash.CompletionsExpectedItem{ "foo", }, }, }) f.VerifyCompletions(t, "7", &fourslash.CompletionsExpectedList{ IsIncomplete: false, ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{ CommitCharacters: &DefaultCommitCharacters, EditRange: Ignored, }, Items: &fourslash.CompletionsExpectedItems{ Exact: []fourslash.CompletionsExpectedItem{ "bar", "foo", }, }, }) }