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) }) } }