7 Star 44 Fork 4

小蚂蚁 / clop

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
clop_once_test.go 2.02 KB
Copy Edit Raw Blame History
guonaihong authored 2020-04-29 20:19 . 修复值不能是负数 (#41)
package clop
import (
"github.com/stretchr/testify/assert"
"testing"
)
//测试once功能打开
func Test_Once_Open(t *testing.T) {
type once struct {
Debug bool `clop:"-d; --debug; once" usage:"debug mode"`
}
type onceString struct {
Addr string `clop:"-a; --addr; once" usage:"server address"`
}
type onceInt struct {
MaxThread int `clop:"-t; --max-thread; once" usage:"max thread"`
}
for range []struct{}{
func() struct{} {
h := once{}
p := New([]string{"-d", "-d"}).SetExit(false)
err := p.Bind(&h)
assert.Error(t, err)
return struct{}{}
}(),
func() struct{} {
h := once{}
p := New([]string{"--debug", "-d"}).SetExit(false)
err := p.Bind(&h)
assert.Error(t, err)
return struct{}{}
}(),
func() struct{} {
h := once{}
p := New([]string{"-d", "--debug"}).SetExit(false)
err := p.Bind(&h)
assert.Error(t, err)
return struct{}{}
}(),
func() struct{} {
h := once{}
p := New([]string{"--debug", "--debug"}).SetExit(false)
err := p.Bind(&h)
assert.Error(t, err)
return struct{}{}
}(),
func() struct{} {
h := onceString{}
p := New([]string{"-a", ":8080", "-a", ":1234"}).SetExit(false)
err := p.Bind(&h)
assert.Error(t, err)
return struct{}{}
}(),
func() struct{} {
h := onceString{}
p := New([]string{"--addr", ":8080", "-a", ":1234"}).SetExit(false)
err := p.Bind(&h)
assert.Error(t, err)
return struct{}{}
}(),
func() struct{} {
h := onceString{}
p := New([]string{"--a", ":8080", "--addr", ":1234"}).SetExit(false)
err := p.Bind(&h)
assert.Error(t, err)
return struct{}{}
}(),
func() struct{} {
h := onceString{}
p := New([]string{"--addr", ":8080", "--addr", ":1234"}).SetExit(false)
err := p.Bind(&h)
assert.Error(t, err)
return struct{}{}
}(),
func() struct{} {
h := onceInt{}
p := New([]string{"--max-thread", "20", "--max-thread", "50"}).SetExit(false)
err := p.Bind(&h)
assert.Error(t, err)
assert.Equal(t, h, onceInt{MaxThread: 20})
return struct{}{}
}(),
} {
}
}
Go
1
https://gitee.com/guonaihong/clop.git
git@gitee.com:guonaihong/clop.git
guonaihong
clop
clop
master

Search