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  }