1
0
mirror of https://github.com/labstack/echo.git synced 2024-12-24 20:14:31 +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 {
return
}
return c.JSONBlob(code, b)
return c.XMLBlob(code, b)
}
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())
}
// 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)
rec = httptest.NewRecorder()
c = e.NewContext(req, rec).(*context)
@ -106,6 +116,16 @@ func TestContext(t *testing.T) {
err = c.XML(http.StatusOK, make(chan bool))
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
rec = httptest.NewRecorder()
c = e.NewContext(req, rec).(*context)

View File

@ -29,6 +29,16 @@ const (
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) {
e := New()
req, _ := http.NewRequest(GET, "/", nil)