Files
velero/pkg/cmd/util/flag/optional_bool_test.go
Wenkai Yin(尹文开) e92047c43e Add unit test cases for pkg/cmd/util/flag package
Add unit test cases for pkg/cmd/util/flag package

Fixes #6253

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
2023-06-01 10:29:11 +08:00

45 lines
794 B
Go

package flag
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestStringOfOptionalBool(t *testing.T) {
// nil
ob := NewOptionalBool(nil)
assert.Equal(t, "<nil>", ob.String())
// true
b := true
ob = NewOptionalBool(&b)
assert.Equal(t, "true", ob.String())
// false
b = false
ob = NewOptionalBool(&b)
assert.Equal(t, "false", ob.String())
}
func TestSetOfOptionalBool(t *testing.T) {
// error
ob := NewOptionalBool(nil)
assert.NotNil(t, ob.Set("invalid"))
// nil
ob = NewOptionalBool(nil)
assert.Nil(t, ob.Set(""))
assert.Nil(t, ob.Value)
// true
ob = NewOptionalBool(nil)
assert.Nil(t, ob.Set("true"))
assert.True(t, *ob.Value)
}
func TestTypeOfOptionalBool(t *testing.T) {
ob := NewOptionalBool(nil)
assert.Equal(t, "optionalBool", ob.Type())
}