github.com/WindomZ/go-commander@v1.2.2/option_test.go (about) 1 package commander 2 3 import ( 4 "github.com/WindomZ/testify/assert" 5 "testing" 6 ) 7 8 func TestOption_1(t *testing.T) { 9 o := newOption("-p", "add pepper") 10 11 assert.Equal(t, o.Names(), []string{"-p"}) 12 assert.Equal(t, o.IsRequired(), false) 13 assert.Equal(t, o.IsOptional(), true) 14 assert.Equal(t, o.UsageString(), "[-p]") 15 assert.Equal(t, o.OptionString(), "-p add pepper") 16 } 17 18 func TestOption_2(t *testing.T) { 19 o := newOption("-p,--pepper", "add pepper") 20 21 assert.Equal(t, o.Names(), []string{"-p", "--pepper"}) 22 assert.Equal(t, o.IsRequired(), false) 23 assert.Equal(t, o.IsOptional(), true) 24 assert.Equal(t, o.UsageString(), "[-p|--pepper]") 25 assert.Equal(t, o.OptionString(), "-p --pepper add pepper") 26 } 27 28 func TestOption_3(t *testing.T) { 29 o := newOption("-p=<path>|--pepper=<path>", "add pepper directory") 30 31 assert.Equal(t, o.Names(), []string{"-p", "--pepper"}) 32 assert.Equal(t, o.IsRequired(), false) 33 assert.Equal(t, o.IsOptional(), true) 34 assert.Equal(t, o.UsageString(), "[-p=<path>|--pepper=<path>]") 35 assert.Equal(t, o.OptionString(), "-p=<path> --pepper=<path>\n add pepper directory") 36 } 37 38 func TestOption_4(t *testing.T) { 39 o := newOption("[-p=[path],--pepper=[path]]", "add pepper directory", func() {}, "xxx") 40 41 assert.Equal(t, o.Names(), []string{"-p", "--pepper"}) 42 assert.Equal(t, o.IsRequired(), false) 43 assert.Equal(t, o.IsOptional(), true) 44 assert.Equal(t, o.UsageString(), "[-p=[path]|--pepper=[path]]") 45 assert.Equal(t, o.OptionString(), "-p=[path] --pepper=[path]\n add pepper directory [default: xxx]") 46 } 47 48 func TestOption_5(t *testing.T) { 49 o := newOption("-p=[path]", "add pepper directory", func() {}, "xxx") 50 51 assert.Equal(t, o.Names(), []string{"-p"}) 52 assert.Equal(t, o.IsRequired(), false) 53 assert.Equal(t, o.IsOptional(), true) 54 assert.Equal(t, o.UsageString(), "[-p=[path]]") 55 assert.Equal(t, o.OptionString(), "-p=[path] add pepper directory [default: xxx]") 56 } 57 58 func TestOption_6(t *testing.T) { 59 o := newOption("(-p=[path])", "add pepper directory", func() {}, "xxx") 60 61 assert.Equal(t, o.Names(), []string{"-p"}) 62 assert.Equal(t, o.IsRequired(), true) 63 assert.Equal(t, o.IsOptional(), false) 64 assert.Equal(t, o.UsageString(), "(-p=[path])") 65 assert.Equal(t, o.OptionString(), "-p=[path] add pepper directory [default: xxx]") 66 } 67 68 func TestOption_7(t *testing.T) { 69 o := newOption("(-p=[path])", "", func() {}, "xxx") 70 71 assert.Equal(t, o.Names(), []string{"-p"}) 72 assert.Equal(t, o.IsRequired(), true) 73 assert.Equal(t, o.IsOptional(), false) 74 assert.Equal(t, o.UsageString(), "(-p=[path])") 75 }