|
|
|
package keybase
|
|
|
|
|
|
|
|
import (
|
|
|
|
"reflect"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestBuildArgs(t *testing.T) {
|
|
|
|
cases := []struct {
|
|
|
|
Opts Options
|
|
|
|
Args []string
|
|
|
|
Expected []string
|
|
|
|
}{
|
|
|
|
{
|
|
|
|
Opts: Options{HomeDir: "/home/foo"},
|
|
|
|
Args: []string{"arg1"},
|
|
|
|
Expected: []string{"--home", "/home/foo", "--enable-bot-lite-mode", "arg1"},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
Opts: Options{HomeDir: "/home/foo"},
|
|
|
|
Args: []string{"arg1", "arg2"},
|
|
|
|
Expected: []string{"--home", "/home/foo", "--enable-bot-lite-mode", "arg1", "arg2"},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
Opts: Options{HomeDir: "/home/foo", DisableLiteMode: true},
|
|
|
|
Args: []string{"arg1"},
|
|
|
|
Expected: []string{"--home", "/home/foo", "arg1"},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
for i, c := range cases {
|
|
|
|
actual, err := buildArgs(c.Opts, c.Args...)
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("[case %d] returned error: %v", i, err)
|
|
|
|
}
|
|
|
|
if !reflect.DeepEqual(actual, c.Expected) {
|
|
|
|
t.Errorf("[case %d] expected: %#v, got: %#v", i, c.Expected, actual)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|