github.com/gopherjs/gopherjs@v1.19.0-beta1.0.20240506212314-27071a8796e4/tests/compiler_test.go (about) 1 package tests 2 3 import ( 4 "testing" 5 ) 6 7 func TestVariadicNil(t *testing.T) { 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 } 23 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 } 39 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 } 45 } 46 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 } 52 } 53 }) 54 }