github.com/jingweno/gh@v2.1.1-0.20221007190738-04a7985fa9a1+incompatible/commands/args_test.go (about) 1 package commands 2 3 import ( 4 "github.com/bmizerany/assert" 5 "testing" 6 ) 7 8 func TestNewArgs(t *testing.T) { 9 args := NewArgs([]string{}) 10 assert.Equal(t, "", args.Command) 11 assert.Equal(t, 0, args.ParamsSize()) 12 13 args = NewArgs([]string{"command"}) 14 assert.Equal(t, "command", args.Command) 15 assert.Equal(t, 0, args.ParamsSize()) 16 17 args = NewArgs([]string{"command", "args"}) 18 assert.Equal(t, "command", args.Command) 19 assert.Equal(t, 1, args.ParamsSize()) 20 } 21 22 func TestArgs_Words(t *testing.T) { 23 args := NewArgs([]string{"--no-ff", "master"}) 24 a := args.Words() 25 26 assert.Equal(t, 1, len(a)) 27 assert.Equal(t, "master", a[0]) 28 } 29 30 func TestArgs_Insert(t *testing.T) { 31 args := NewArgs([]string{"command", "1", "2", "3", "4"}) 32 args.InsertParam(0, "foo") 33 34 assert.Equal(t, 5, args.ParamsSize()) 35 assert.Equal(t, "foo", args.FirstParam()) 36 37 args = NewArgs([]string{"command", "1", "2", "3", "4"}) 38 args.InsertParam(3, "foo") 39 40 assert.Equal(t, 5, args.ParamsSize()) 41 assert.Equal(t, "foo", args.Params[3]) 42 } 43 44 func TestArgs_Remove(t *testing.T) { 45 args := NewArgs([]string{"1", "2", "3", "4"}) 46 47 item := args.RemoveParam(1) 48 assert.Equal(t, "3", item) 49 assert.Equal(t, 2, args.ParamsSize()) 50 assert.Equal(t, "2", args.FirstParam()) 51 assert.Equal(t, "4", args.GetParam(1)) 52 }