MCPcopy
hub / github.com/x-motemen/gore / TestSession_completeWord

Function TestSession_completeWord

complete_test.go:11–132  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9)
10
11func TestSession_completeWord(t *testing.T) {
12 var stdout, stderr strings.Builder
13 s, err := NewSession(&stdout, &stderr)
14 t.Cleanup(func() { s.Clear() })
15 require.NoError(t, err)
16
17 err = s.initCompleter()
18 if err != nil {
19 t.Skipf("Skip test: %s", err)
20 }
21
22 pre, cands, post := s.completeWord("", 0)
23 assert.Equal(t, "", pre)
24 assert.Equal(t, []string{" "}, cands)
25 assert.Equal(t, post, "")
26
27 pre, cands, post = s.completeWord(" x", 4)
28 assert.Equal(t, " ", pre)
29 assert.Equal(t, []string{" "}, cands)
30 assert.Equal(t, post, "x")
31
32 pre, cands, post = s.completeWord(" : :", 4)
33 assert.Equal(t, " : :", pre)
34 assert.Equal(t, []string{
35 "import ",
36 "type ",
37 "print",
38 "write ",
39 "clear",
40 "doc ",
41 "help",
42 "quit",
43 }, cands)
44 assert.Equal(t, post, "")
45
46 pre, cands, post = s.completeWord(" : : i", 6)
47 assert.Equal(t, " : : ", pre)
48 assert.Equal(t, []string{"import "}, cands)
49 assert.Equal(t, post, "")
50
51 pre, cands, post = s.completeWord("::i t", 5)
52 assert.Equal(t, "::i ", pre)
53 assert.Equal(t, []string{"testing", "text", "time"}, cands)
54 assert.Equal(t, post, "")
55
56 pre, cands, post = s.completeWord("::i gor", 7)
57 assert.Equal(t, "::i ", pre)
58 assert.Equal(t, []string{"github.com/x-motemen/gore"}, cands)
59 assert.Equal(t, post, "")
60
61 pre, cands, post = s.completeWord(":i gore", 7)
62 assert.Equal(t, ":i ", pre)
63 assert.Equal(t, []string{"github.com/x-motemen/gore"}, cands)
64 assert.Equal(t, post, "")
65
66 pre, cands, post = s.completeWord("::i\u3000gore", 10)
67 assert.Equal(t, "::i\u3000", pre)
68 assert.Equal(t, []string{"github.com/x-motemen/gore"}, cands)

Callers

nothing calls this directly

Calls 5

ClearMethod · 0.95
initCompleterMethod · 0.95
completeWordMethod · 0.95
NewSessionFunction · 0.85
actionImportFunction · 0.85

Tested by

no test coverage detected