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) } } }