From 676f71f5d0ce65b48120a6e477bd4a29233c0916 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=A6=C3=BE=27n=20Lasseter?= Date: Sun, 1 May 2016 11:45:25 +0100 Subject: Initial Commit --- Readme.textile | 10 ++++++++++ main_test.go | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 Readme.textile create mode 100644 main_test.go diff --git a/Readme.textile b/Readme.textile new file mode 100644 index 0000000..14aed69 --- /dev/null +++ b/Readme.textile @@ -0,0 +1,10 @@ +h2. Bug + +If a column has a blank header, unmarshalling fails. + +h2. Running + +# go get -u github.com/gocarina/gocsv +# go get -u github.com/User4574/gocsvexample +# cd $GOPATH/src/github.com/User4574/gocsvexample +# go test diff --git a/main_test.go b/main_test.go new file mode 100644 index 0000000..c3e9d2e --- /dev/null +++ b/main_test.go @@ -0,0 +1,36 @@ +package main + +import ( + "github.com/gocarina/gocsv" + "testing" +) + +type Type struct { + Headerless string `csv:""` + Headered string `csv:"header"` +} + +func TestNoHeader(t *testing.T) { + types := []*Type{} + csv := `,header +foo,bar +baz,quux` + + if err := gocsv.UnmarshalString(csv, &types); err != nil { + t.Fatal(err) + } + + for i, tc := range []struct { + actual string + expected string + }{ + {types[0].Headerless, "foo"}, + {types[0].Headered, "bar"}, + {types[1].Headerless, "baz"}, + {types[1].Headered, "quux"}, + } { + if tc.actual != tc.expected { + t.Errorf("Test case %d: Got \"%s\", expected \"%s\"", i, tc.actual, tc.expected) + } + } +} -- cgit v1.2.1