diff options
Diffstat (limited to 'skate/map_test.go')
-rw-r--r-- | skate/map_test.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/skate/map_test.go b/skate/map_test.go index a439d33..a81cb3d 100644 --- a/skate/map_test.go +++ b/skate/map_test.go @@ -149,6 +149,46 @@ func TestMapperTitleSandcrawler(t *testing.T) { } } +func TestAsTSV(t *testing.T) { + var cases = []struct { + f Mapper + err error + want string + }{ + { + f: Mapper(func(_ []byte) ([][]byte, error) { + return [][]byte{ + []byte("a"), + []byte("b"), + []byte("c"), + }, nil + }), + err: nil, + want: "a\tb\tc\n", + }, + { + f: Mapper(func(_ []byte) ([][]byte, error) { + return [][]byte{ + []byte("a"), + []byte("b"), + []byte("c\n"), + }, nil + }), + err: nil, + want: "a\tb\tc\n", + }, + } + for _, c := range cases { + got, err := c.f.AsTSV([]byte{}) + if err != c.err { + t.Fatalf("got %v, want nil", got) + } + if string(got) != c.want { + t.Fatalf("got %v, want %v", string(got), c.want) + } + } +} + func prettySlice(p [][]byte) (result []string) { result = make([]string, len(p)) for i, v := range p { |