@@ -12,12 +12,12 @@ func TestArgs(t *testing.T) {
1212 Dir : "./testdata/args" ,
1313 Stderr : stderr ,
1414 Stdout : stdout ,
15- Args : []string {"status" , "say" , "hi" , "bob" , "count" , "5" , "status" , "wait" , "5ms" , "cough" , "false" },
15+ Args : []string {"status" , "say" , "hi" , "bob" , "count" , "5" , "status" , "wait" , "5ms" , "cough" , "false" , "doubleIt" , "3.1" },
1616 }
1717 code := Invoke (inv )
1818 if code != 0 {
1919 t .Log (stderr .String ())
20- t .Fatalf ("expected 1 , but got %v" , code )
20+ t .Fatalf ("expected 0 , but got %v" , code )
2121 }
2222 actual := stdout .String ()
2323 expected := `status
@@ -26,6 +26,7 @@ saying hi bob
2626status
2727waiting 5ms
2828not coughing
29+ 3.1 * 2 = 6.2
2930`
3031 if actual != expected {
3132 t .Fatalf ("output is not expected:\n %q" , actual )
@@ -101,6 +102,29 @@ func TestBadDurationArg(t *testing.T) {
101102 }
102103}
103104
105+ func TestBadFloat64Arg (t * testing.T ) {
106+ stderr := & bytes.Buffer {}
107+ stdout := & bytes.Buffer {}
108+ inv := Invocation {
109+ Dir : "./testdata/args" ,
110+ Stderr : stderr ,
111+ Stdout : stdout ,
112+ Args : []string {"doubleIt" , "abc123" },
113+ }
114+ code := Invoke (inv )
115+ if code != 2 {
116+ t .Log ("stderr:" , stderr )
117+ t .Log ("stdout:" , stdout )
118+ t .Fatalf ("expected code 2, but got %v" , code )
119+ }
120+ actual := stderr .String ()
121+ expected := "can't convert argument \" abc123\" to float64\n "
122+
123+ if actual != expected {
124+ t .Fatalf ("output is not expected:\n %q" , actual )
125+ }
126+ }
127+
104128func TestMissingArgs (t * testing.T ) {
105129 stderr := & bytes.Buffer {}
106130 stdout := & bytes.Buffer {}
0 commit comments