Add configuration loading + docs + linter fixes.
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
package kong
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -16,3 +19,31 @@ func TestOptions(t *testing.T) {
|
||||
require.Nil(t, p.Stderr)
|
||||
require.Nil(t, p.Exit)
|
||||
}
|
||||
|
||||
func TestConfigLoading(t *testing.T) {
|
||||
first, err := ioutil.TempFile("", "")
|
||||
require.NoError(t, err)
|
||||
defer first.Close()
|
||||
defer os.Remove(first.Name())
|
||||
second, err := ioutil.TempFile("", "")
|
||||
require.NoError(t, err)
|
||||
defer second.Close()
|
||||
defer os.Remove(second.Name())
|
||||
|
||||
var cli struct {
|
||||
Flag string `json:"flag,omitempty"`
|
||||
}
|
||||
|
||||
cli.Flag = "first"
|
||||
err = json.NewEncoder(first).Encode(&cli)
|
||||
require.NoError(t, err)
|
||||
|
||||
cli.Flag = ""
|
||||
err = json.NewEncoder(second).Encode(&cli)
|
||||
require.NoError(t, err)
|
||||
|
||||
p := mustNew(t, &cli, Configuration(JSON, first.Name(), second.Name()))
|
||||
_, err = p.Parse(nil)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "first", cli.Flag)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user