@@ -3,7 +3,9 @@ package gcli
33import (
44 "context"
55 "errors"
6+ "fmt"
67 "io"
8+ "strings"
79 "testing"
810
911 "github.com/stretchr/testify/assert"
@@ -15,6 +17,7 @@ import (
1517type cfg2 struct {
1618 StringValue1 string
1719 StringValue2 string `flag:"string-value-two s"`
20+ StringValue3 string `flag:",required"`
1821
1922 CounterValue1 sflags.Counter
2023
@@ -36,6 +39,7 @@ func TestParseV3(t *testing.T) {
3639 cfg : & cfg2 {
3740 StringValue1 : "string_value1_value" ,
3841 StringValue2 : "string_value2_value" ,
42+ StringValue3 : "string_value3_value" ,
3943
4044 CounterValue1 : 1 ,
4145
@@ -44,6 +48,7 @@ func TestParseV3(t *testing.T) {
4448 expCfg : & cfg2 {
4549 StringValue1 : "string_value1_value2" ,
4650 StringValue2 : "string_value2_value2" ,
51+ StringValue3 : "string_value3_value2" ,
4752
4853 CounterValue1 : 3 ,
4954
@@ -53,6 +58,7 @@ func TestParseV3(t *testing.T) {
5358 args : []string {
5459 "--string-value1" , "string_value1_value2" ,
5560 "--string-value-two" , "string_value2_value2" ,
61+ "--string-value3" , "string_value3_value2" ,
5662 "--counter-value1" , "--counter-value1" ,
5763 "--string-slice-value1" , "one2" ,
5864 "--string-slice-value1" , "two2" ,
@@ -69,7 +75,8 @@ func TestParseV3(t *testing.T) {
6975 StringValue1 : "string_value1_value" ,
7076 StringValue2 : "" ,
7177 },
72- args : []string {},
78+ args : []string {},
79+ expErr2 : fmt .Errorf ("required flag \" string-value3\" not set" ),
7380 },
7481 {
7582 name : "Test cfg2 short option" ,
@@ -78,8 +85,10 @@ func TestParseV3(t *testing.T) {
7885 },
7986 expCfg : & cfg2 {
8087 StringValue2 : "string_value2_value2" ,
88+ StringValue3 : "string_value3_value2" ,
8189 },
8290 args : []string {
91+ "--string-value3" , "string_value3_value2" ,
8392 "-s=string_value2_value2" ,
8493 },
8594 },
@@ -89,12 +98,14 @@ func TestParseV3(t *testing.T) {
8998 expCfg : & cfg2 {
9099 StringValue1 : "string_value1_value2" ,
91100 StringValue2 : "string_value2_value2" ,
101+ StringValue3 : "string_value3_value2" ,
92102
93103 CounterValue1 : 3 ,
94104 },
95105 args : []string {
96106 "--string-value1" , "string_value1_value2" ,
97107 "--string-value-two" , "string_value2_value2" ,
108+ "--string-value3" , "string_value3_value2" ,
98109 "--counter-value1=2" , "--counter-value1" ,
99110 },
100111 },
@@ -143,7 +154,7 @@ func TestParseV3(t *testing.T) {
143154 err = cmd .Run (context .Background (), args )
144155 if test .expErr2 != nil {
145156 require .Error (t , err )
146- require .Equal (t , test .expErr2 , err )
157+ require .Equal (t , test .expErr2 . Error (), strings . ToLower ( err . Error ()) )
147158 } else {
148159 require .NoError (t , err )
149160 }
0 commit comments