mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 23:26:44 +00:00
* changed name -> identity * changed no-snapshot -> snapchot=true/false * changed jsonrpc.corsdomain -> http.corsdomain * changed jsonrpc.vhosts -> http.vhosts * changed http/ws.modules to http/ws.api * updated readme * updated config_test * make docs * handelling string array flag, overwrite insted of append * added 'Default' to SliceStringFlag * added separate flags for corsdomain and vhosts for http, ws, graphql * modified tests
63 lines
1.2 KiB
Go
63 lines
1.2 KiB
Go
package flagset
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestFlagsetBool(t *testing.T) {
|
|
f := NewFlagSet("")
|
|
|
|
value := false
|
|
f.BoolFlag(&BoolFlag{
|
|
Name: "flag",
|
|
Value: &value,
|
|
})
|
|
|
|
assert.NoError(t, f.Parse([]string{"--flag", "true"}))
|
|
assert.Equal(t, value, true)
|
|
}
|
|
|
|
func TestFlagsetSliceString(t *testing.T) {
|
|
f := NewFlagSet("")
|
|
|
|
value := []string{"a", "b", "c"}
|
|
f.SliceStringFlag(&SliceStringFlag{
|
|
Name: "flag",
|
|
Value: &value,
|
|
Default: value,
|
|
})
|
|
|
|
assert.NoError(t, f.Parse([]string{}))
|
|
assert.Equal(t, value, []string{"a", "b", "c"})
|
|
assert.NoError(t, f.Parse([]string{"--flag", "a,b"}))
|
|
assert.Equal(t, value, []string{"a", "b"})
|
|
}
|
|
|
|
func TestFlagsetDuration(t *testing.T) {
|
|
f := NewFlagSet("")
|
|
|
|
value := time.Duration(0)
|
|
f.DurationFlag(&DurationFlag{
|
|
Name: "flag",
|
|
Value: &value,
|
|
})
|
|
|
|
assert.NoError(t, f.Parse([]string{"--flag", "1m"}))
|
|
assert.Equal(t, value, 1*time.Minute)
|
|
}
|
|
|
|
func TestFlagsetMapString(t *testing.T) {
|
|
f := NewFlagSet("")
|
|
|
|
value := map[string]string{}
|
|
f.MapStringFlag(&MapStringFlag{
|
|
Name: "flag",
|
|
Value: &value,
|
|
})
|
|
|
|
assert.NoError(t, f.Parse([]string{"--flag", "a=b,c=d"}))
|
|
assert.Equal(t, value, map[string]string{"a": "b", "c": "d"})
|
|
}
|