kittenipc/kitcom/internal/tsgo/fourslash/tests/gen/completionInJsDoc_test.go
2025-10-15 10:12:44 +03:00

144 lines
3.1 KiB
Go

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/ls"
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/lsp/lsproto"
"efprojects.com/kitten-ipc/kitcom/internal/tsgo/testutil"
)
func TestCompletionInJsDoc(t *testing.T) {
t.Parallel()
t.Skip()
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
const content = `// @allowJs: true
// @Filename: Foo.js
/** @/*1*/ */
var v1;
/** @p/*2*/ */
var v2;
/** @param /*3*/ */
var v3;
/** @param { n/*4*/ } bar */
var v4;
/** @type { n/*5*/ } */
var v5;
// @/*6*/
var v6;
// @pa/*7*/
var v7;
/** @return { n/*8*/ } */
var v8;
/** /*9*/ */
/**
/*10*/
*/
/**
* /*11*/
*/
/**
/*12*/
*/
/**
* /*13*/
*/
/**
* some comment /*14*/
*/
/**
* @param /*15*/
*/
/** @param /*16*/ */
/**
* jsdoc inline tag {@/*17*/}
*/`
f := fourslash.NewFourslash(t, nil /*capabilities*/, content)
f.VerifyCompletions(t, []string{"1", "2"}, &fourslash.CompletionsExpectedList{
IsIncomplete: false,
ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
CommitCharacters: &DefaultCommitCharacters,
EditRange: Ignored,
},
Items: &fourslash.CompletionsExpectedItems{
Includes: []fourslash.CompletionsExpectedItem{
"constructor",
"param",
"type",
"method",
"template",
},
},
})
f.VerifyCompletions(t, []string{"3", "15", "16"}, &fourslash.CompletionsExpectedList{
IsIncomplete: false,
ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
CommitCharacters: &DefaultCommitCharacters,
EditRange: Ignored,
},
Items: &fourslash.CompletionsExpectedItems{
Exact: []fourslash.CompletionsExpectedItem{},
},
})
f.VerifyCompletions(t, []string{"4", "5", "8"}, &fourslash.CompletionsExpectedList{
IsIncomplete: false,
ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
CommitCharacters: &DefaultCommitCharacters,
EditRange: Ignored,
},
Items: &fourslash.CompletionsExpectedItems{
Includes: []fourslash.CompletionsExpectedItem{
&lsproto.CompletionItem{
Label: "number",
SortText: PtrTo(string(ls.SortTextGlobalsOrKeywords)),
},
},
},
})
f.VerifyCompletions(t, []string{"6", "7", "14"}, nil)
f.VerifyCompletions(t, []string{"9", "10", "11", "12", "13"}, &fourslash.CompletionsExpectedList{
IsIncomplete: false,
ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
CommitCharacters: &DefaultCommitCharacters,
EditRange: Ignored,
},
Items: &fourslash.CompletionsExpectedItems{
Includes: []fourslash.CompletionsExpectedItem{
"@argument",
"@returns",
},
},
})
f.VerifyCompletions(t, []string{"17"}, &fourslash.CompletionsExpectedList{
IsIncomplete: false,
ItemDefaults: &fourslash.CompletionsExpectedItemDefaults{
CommitCharacters: &DefaultCommitCharacters,
EditRange: Ignored,
},
Items: &fourslash.CompletionsExpectedItems{
Includes: []fourslash.CompletionsExpectedItem{
"link",
"tutorial",
},
},
})
}