1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
package commands_test
import (
"os"
"testing"
"git.sr.ht/~rjarry/aerc/commands"
"github.com/stretchr/testify/assert"
)
func TestCompletePath(t *testing.T) {
os.Chdir("testdata")
defer os.Chdir("..")
vectors := []struct {
arg string
onlyDirs bool
expected []string
}{
{
arg: "",
expected: []string{"baz/", "foo.ini", "foo/"},
},
{
arg: "",
onlyDirs: true,
expected: []string{"baz/", "foo/"},
},
{
arg: ".",
expected: []string{".hidden/", ".keep-me"},
},
{
arg: "fo",
expected: []string{"foo.ini", "foo/"},
},
{
arg: "..",
expected: []string{"../"},
},
{
arg: "../..",
expected: []string{"../../"},
},
{
arg: "../testdata/",
expected: []string{
"../testdata/baz/",
"../testdata/foo.ini",
"../testdata/foo/",
},
},
{
arg: "../testdata/f",
onlyDirs: true,
expected: []string{"../testdata/foo/"},
},
}
for _, vec := range vectors {
t.Run(vec.arg, func(t *testing.T) {
res := commands.CompletePath(vec.arg, vec.onlyDirs)
assert.Equal(t, vec.expected, res)
})
}
}
|