diff options
Diffstat (limited to 'commands/util_test.go')
-rw-r--r-- | commands/util_test.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/commands/util_test.go b/commands/util_test.go new file mode 100644 index 00000000..80113fd5 --- /dev/null +++ b/commands/util_test.go @@ -0,0 +1,54 @@ +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 + expected []string + }{ + { + arg: "", + expected: []string{"baz/", "foo.ini", "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/", + }, + }, + } + for _, vec := range vectors { + t.Run(vec.arg, func(t *testing.T) { + res := commands.CompletePath(vec.arg) + assert.Equal(t, vec.expected, res) + }) + } +} |