aboutsummaryrefslogtreecommitdiffstats
path: root/commands/util_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'commands/util_test.go')
-rw-r--r--commands/util_test.go54
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)
+ })
+ }
+}