github.com/vmware/govmomi@v0.51.0/cli/flags/optional_string_test.go (about) 1 // © Broadcom. All Rights Reserved. 2 // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 3 // SPDX-License-Identifier: Apache-2.0 4 5 package flags 6 7 import ( 8 "flag" 9 "testing" 10 ) 11 12 func TestOptionalString(t *testing.T) { 13 fs := flag.NewFlagSet("", flag.ContinueOnError) 14 var val *string 15 16 fs.Var(NewOptionalString(&val), "ostring", "optional string") 17 18 s := fs.Lookup("ostring") 19 20 if s.DefValue != "<nil>" { 21 t.Fail() 22 } 23 24 if s.Value.String() != "<nil>" { 25 t.Fail() 26 } 27 28 if s.Value.(flag.Getter).Get() != nil { 29 t.Fail() 30 } 31 32 s.Value.Set("test") 33 34 if s.Value.String() != "test" { 35 t.Fail() 36 } 37 38 if s.Value.(flag.Getter).Get() != "test" { 39 t.Fail() 40 } 41 42 if val == nil || *val != "test" { 43 t.Fail() 44 } 45 }