11package tablewriter
22
33import (
4+ "fmt"
45 "os"
56 "strconv"
67 "testing"
78)
89
910func TestRenderEmpty (t * testing.T ) {
10- if err := Render (os .Stderr , nil , []string {"Item" }, func (item string ) []string {
11- return []string {"doesnt matter" }
11+ if err := Render (os .Stderr , nil , []string {"Item" }, func (item string ) ( []string , error ) {
12+ return []string {"doesnt matter" }, nil
1213 }); err != nil {
1314 t .Fatal ("render failed:" , err )
1415 }
@@ -24,9 +25,21 @@ func TestRender(t *testing.T) {
2425 {"Carlos" , 32 },
2526 {"John" , 41 },
2627 {"Jose" , 28 },
27- }, []string {"Name" , "Age" }, func (item Person ) []string {
28- return []string {item .Name , strconv .Itoa (item .Age )}
28+ }, []string {"Name" , "Age" }, func (item Person ) ( []string , error ) {
29+ return []string {item .Name , strconv .Itoa (item .Age )}, nil
2930 }); err != nil {
3031 t .Fatal ("render failed:" , err )
3132 }
3233}
34+
35+ func TestRenderError (t * testing.T ) {
36+ if err := Render (os .Stderr , []Person {
37+ {"Carlos" , 32 },
38+ {"John" , 41 },
39+ {"Jose" , 28 },
40+ }, []string {"Name" , "Age" }, func (item Person ) ([]string , error ) {
41+ return nil , fmt .Errorf ("foo bar" )
42+ }); err == nil {
43+ t .Fatal ("expected render to fail, got nil" )
44+ }
45+ }
0 commit comments