@@ -5,25 +5,50 @@ import (
5
5
)
6
6
7
7
func TestVariadicNil (t * testing.T ) {
8
- printVari := func (strs ... string ) []string {
9
- return strs
10
- }
8
+ t .Run ("only variadic" , func (t * testing.T ) {
9
+ printVari := func (strs ... string ) []string {
10
+ return strs
11
+ }
12
+
13
+ if got := printVari (); got != nil {
14
+ t .Errorf ("printVari(): got: %#v; want %#v." , got , nil )
15
+ }
16
+
17
+ {
18
+ var want []string
19
+ if got := printVari (want ... ); got != nil {
20
+ t .Errorf ("printVari(want...): got: %#v; want %#v." , got , nil )
21
+ }
22
+ }
11
23
12
- if got := printVari (); got != nil {
13
- t .Errorf ("printVari(): got: %#v; want %#v." , got , nil )
14
- }
24
+ {
25
+ want := []string {}
26
+ if got := printVari (want ... ); got == nil || len (got ) != len (want ) {
27
+ t .Errorf ("printVari(want...): got: %#v; want %#v." , got , want )
28
+ }
29
+ }
30
+ })
31
+ t .Run ("mixed" , func (t * testing.T ) {
32
+ printVari := func (_ int , strs ... string ) []string {
33
+ return strs
34
+ }
35
+
36
+ if got := printVari (0 ); got != nil {
37
+ t .Errorf ("printVari(): got: %#v; want %#v." , got , nil )
38
+ }
15
39
16
- {
17
- var want []string
18
- if got := printVari (want ... ); got != nil {
19
- t .Errorf ("printVari(want...): got: %#v; want %#v." , got , nil )
40
+ {
41
+ var want []string
42
+ if got := printVari (0 , want ... ); got != nil {
43
+ t .Errorf ("printVari(want...): got: %#v; want %#v." , got , nil )
44
+ }
20
45
}
21
- }
22
46
23
- {
24
- want := []string {}
25
- if got := printVari (want ... ); got == nil || len (got ) != len (want ) {
26
- t .Errorf ("printVari(want...): got: %#v; want %#v." , got , want )
47
+ {
48
+ want := []string {}
49
+ if got := printVari (0 , want ... ); got == nil || len (got ) != len (want ) {
50
+ t .Errorf ("printVari(want...): got: %#v; want %#v." , got , want )
51
+ }
27
52
}
28
- }
53
+ })
29
54
}
0 commit comments