1
0
mirror of https://github.com/labstack/echo.git synced 2025-06-21 00:29:32 +02:00

fixed json, xml pretty print

Signed-off-by: Vishal Rana <vr@labstack.com>
This commit is contained in:
Vishal Rana
2016-12-09 11:13:55 -08:00
parent 133f7acf21
commit 20954afd66
3 changed files with 31 additions and 1 deletions

View File

@ -427,7 +427,7 @@ func (c *context) XMLPretty(code int, i interface{}, indent string) (err error)
if err != nil { if err != nil {
return return
} }
return c.JSONBlob(code, b) return c.XMLBlob(code, b)
} }
func (c *context) XMLBlob(code int, b []byte) (err error) { func (c *context) XMLBlob(code int, b []byte) (err error) {

View File

@ -73,6 +73,16 @@ func TestContext(t *testing.T) {
assert.Equal(t, userJSON, rec.Body.String()) assert.Equal(t, userJSON, rec.Body.String())
} }
// JSONPretty
rec = httptest.NewRecorder()
c = e.NewContext(req, rec).(*context)
err = c.JSONPretty(http.StatusOK, user{1, "Jon Snow"}, "\t")
if assert.NoError(t, err) {
assert.Equal(t, http.StatusOK, rec.Code)
assert.Equal(t, MIMEApplicationJSONCharsetUTF8, rec.Header().Get(HeaderContentType))
assert.Equal(t, userJSONPretty, rec.Body.String())
}
// JSON (error) // JSON (error)
rec = httptest.NewRecorder() rec = httptest.NewRecorder()
c = e.NewContext(req, rec).(*context) c = e.NewContext(req, rec).(*context)
@ -106,6 +116,16 @@ func TestContext(t *testing.T) {
err = c.XML(http.StatusOK, make(chan bool)) err = c.XML(http.StatusOK, make(chan bool))
assert.Error(t, err) assert.Error(t, err)
// XMLPretty
rec = httptest.NewRecorder()
c = e.NewContext(req, rec).(*context)
err = c.XMLPretty(http.StatusOK, user{1, "Jon Snow"}, "\t")
if assert.NoError(t, err) {
assert.Equal(t, http.StatusOK, rec.Code)
assert.Equal(t, MIMEApplicationXMLCharsetUTF8, rec.Header().Get(HeaderContentType))
assert.Equal(t, xml.Header+userXMLPretty, rec.Body.String())
}
// String // String
rec = httptest.NewRecorder() rec = httptest.NewRecorder()
c = e.NewContext(req, rec).(*context) c = e.NewContext(req, rec).(*context)

View File

@ -29,6 +29,16 @@ const (
invalidContent = "invalid content" invalidContent = "invalid content"
) )
const userJSONPretty = `{
"id": 1,
"name": "Jon Snow"
}`
const userXMLPretty = `<user>
<id>1</id>
<name>Jon Snow</name>
</user>`
func TestEcho(t *testing.T) { func TestEcho(t *testing.T) {
e := New() e := New()
req, _ := http.NewRequest(GET, "/", nil) req, _ := http.NewRequest(GET, "/", nil)