Add a FileContentFlag that loads the contents of a file into a flag

value.
This commit is contained in:
Alec Thomas
2018-09-22 11:13:20 +10:00
parent c935ea07dd
commit 1048bd0448
2 changed files with 32 additions and 1 deletions
+17
View File
@@ -1,7 +1,10 @@
package kong_test
import (
"fmt"
"io/ioutil"
"net/url"
"os"
"reflect"
"testing"
"time"
@@ -149,3 +152,17 @@ func TestMapperValue(t *testing.T) {
require.NoError(t, err)
require.Equal(t, "foo", cli.Value.decoded)
}
func TestFileContentFlag(t *testing.T) {
var cli struct {
File kong.FileContentFlag
}
f, err := ioutil.TempFile("", "")
require.NoError(t, err)
defer os.Remove(f.Name())
fmt.Fprint(f, "hello world")
f.Close()
_, err = mustNew(t, &cli).Parse([]string{"--file", f.Name()})
require.NoError(t, err)
require.Equal(t, []byte("hello world"), []byte(cli.File))
}