func TestWriter(t *testing.T) { buf := bytes.NewBuffer(nil) for _, c := range testData { buf.Reset() w := gml.NewWriter(buf) n, err := quad.Copy(w, quad.NewReader(c.quads)) if err != nil { t.Fatalf("write failed after %d quads: %v", n, err) } if err = w.Close(); err != nil { t.Fatal("error on close:", err) } if c.data != buf.String() { t.Fatalf("wrong output:\n%s\n\nvs\n\n%s", buf.String(), c.data) } } }
func TestWriteJSON(t *testing.T) { buf := bytes.NewBuffer(nil) for _, test := range writeTests { buf.Reset() qw := NewWriter(buf) _, err := quad.Copy(qw, quad.NewReader(test.input)) if err != nil { t.Errorf("Failed to %v: %v", test.message, err) continue } qw.Close() if fmt.Sprint(err) != fmt.Sprint(test.err) { t.Errorf("Failed to %v with unexpected error, got:%v expected %v", test.message, err, test.err) } if got := buf.String(); got != test.expect { t.Errorf("Failed to %v, got:%v expect:%v", test.message, got, test.expect) } } }
func TestWrite(t *testing.T) { buf := bytes.NewBuffer(nil) for i, c := range testWriteCases { buf.Reset() w := NewWriter(buf) w.SetLdContext(c.ctx) _, err := quad.Copy(w, quad.NewReader(c.data)) if err != nil { t.Errorf("case %d failed: %v", i, err) } else if err = w.Close(); err != nil { t.Errorf("case %d failed: %v", i, err) } data := make([]byte, buf.Len()) copy(data, buf.Bytes()) buf.Reset() json.Indent(buf, data, "", " ") if buf.String() != c.expect { t.Errorf("case %d failed: wrong data returned:\n%v\n%v", i, buf.String(), c.expect) } } }