Add ChangeToFlag to allow changing the current working directory.

This commit is contained in:
Mitar
2021-12-20 23:26:15 +01:00
committed by Alec Thomas
parent 88dcc90dde
commit f5bd1465d8
2 changed files with 41 additions and 0 deletions
+22
View File
@@ -3,6 +3,7 @@ package kong
import (
"io/ioutil"
"os"
"path/filepath"
"strings"
"testing"
@@ -42,3 +43,24 @@ func TestVersionFlag(t *testing.T) {
require.Equal(t, "0.1.1", strings.TrimSpace(w.String()))
require.Equal(t, 0, called)
}
func TestChangeDirFlag(t *testing.T) {
cwd, err := os.Getwd()
require.NoError(t, err)
defer os.Chdir(cwd) // nolint: errcheck
dir := t.TempDir()
file := filepath.Join(dir, "out.txt")
err = os.WriteFile(file, []byte("foobar"), 0o600)
require.NoError(t, err)
var cli struct {
ChangeDir ChangeDirFlag `short:"C"`
Path string `arg:"" type:"existingfile"`
}
p := Must(&cli)
_, err = p.Parse([]string{"-C", dir, "out.txt"})
require.NoError(t, err)
require.Equal(t, file, cli.Path)
}