--- /dev/null
+package httpjson
+
+import (
+ "context"
+ "net/http/httptest"
+ "strings"
+ "testing"
+)
+
+func TestWriteArray(t *testing.T) {
+ examples := []struct {
+ in []int
+ want string
+ }{
+ {nil, "[]"},
+ {[]int{}, "[]"},
+ {make([]int, 0), "[]"},
+ }
+
+ for _, ex := range examples {
+ rec := httptest.NewRecorder()
+ Write(context.Background(), rec, 200, ex.in)
+ got := strings.TrimSpace(rec.Body.String())
+ if got != ex.want {
+ t.Errorf("Write(%v) = %v want %v", ex.in, got, ex.want)
+ }
+ }
+}
+
+type errResponse struct {
+ *httptest.ResponseRecorder
+ err error
+}
+
+func (r *errResponse) Write([]byte) (int, error) {
+ return 0, r.err
+}