mirror of
https://github.com/gin-gonic/gin.git
synced 2025-10-22 09:34:33 +08:00
add EmptyRender and unregister render type test case and optimized code to pass codecov report
This commit is contained in:
parent
f7f798f408
commit
585bde7dad
@ -19,21 +19,22 @@ func (EmptyRenderFactory) Instance() RenderRecycler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Render writes data with custom ContentType.
|
// Render writes data with custom ContentType.
|
||||||
func (*EmptyRender) Render(http.ResponseWriter) error {
|
func (r *EmptyRender) Render(w http.ResponseWriter) error {
|
||||||
|
r.WriteContentType(w)
|
||||||
return fmt.Errorf("empty render,you need register one first")
|
return fmt.Errorf("empty render,you need register one first")
|
||||||
}
|
}
|
||||||
|
|
||||||
// WriteContentType writes custom ContentType.
|
// WriteContentType writes custom ContentType.
|
||||||
func (*EmptyRender) WriteContentType(w http.ResponseWriter) {
|
func (r *EmptyRender) WriteContentType(w http.ResponseWriter) {
|
||||||
// Empty
|
// Empty
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setup set data and opts
|
// Setup set data and opts
|
||||||
func (*EmptyRender) Setup(data interface{}, opts ...interface{}) {
|
func (r *EmptyRender) Setup(data interface{}, opts ...interface{}) {
|
||||||
// Empty
|
// Empty
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset clean data and opts
|
// Reset clean data and opts
|
||||||
func (*EmptyRender) Reset() {
|
func (r *EmptyRender) Reset() {
|
||||||
// Empty
|
// Empty
|
||||||
}
|
}
|
||||||
|
@ -168,11 +168,7 @@ func (r *SecureJSON) WriteContentType(w http.ResponseWriter) {
|
|||||||
func (r *JsonpJSON) Setup(data interface{}, opts ...interface{}) {
|
func (r *JsonpJSON) Setup(data interface{}, opts ...interface{}) {
|
||||||
r.Data = data
|
r.Data = data
|
||||||
if len(opts) == 1 {
|
if len(opts) == 1 {
|
||||||
if callback, ok := opts[0].(string); ok {
|
r.Callback, _ = opts[0].(string)
|
||||||
r.Callback = callback
|
|
||||||
} else {
|
|
||||||
r.Callback = ""
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ const (
|
|||||||
MsgPackRenderType // MsgPack Render Type
|
MsgPackRenderType // MsgPack Render Type
|
||||||
ProtoBufRenderType // ProtoBuf Render Type
|
ProtoBufRenderType // ProtoBuf Render Type
|
||||||
EmptyRenderType // Empty Render Type
|
EmptyRenderType // Empty Render Type
|
||||||
|
unknownRenderType // Unknown Render Type,just used for test
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -25,6 +25,23 @@ import (
|
|||||||
// TODO unit tests
|
// TODO unit tests
|
||||||
// test errors
|
// test errors
|
||||||
|
|
||||||
|
func TestRenderEmpty(t *testing.T) {
|
||||||
|
w := httptest.NewRecorder()
|
||||||
|
data := "empty data"
|
||||||
|
r := Default(EmptyRenderType)
|
||||||
|
r.Setup(data)
|
||||||
|
err := r.Render(w)
|
||||||
|
Recycle(EmptyRenderType, r)
|
||||||
|
assert.EqualError(t, err, "empty render,you need register one first")
|
||||||
|
}
|
||||||
|
|
||||||
|
// test not registered render type
|
||||||
|
func TestRenderUnknown(t *testing.T) {
|
||||||
|
r := Default(unknownRenderType)
|
||||||
|
_, ok := r.(*EmptyRender)
|
||||||
|
assert.True(t, ok)
|
||||||
|
}
|
||||||
|
|
||||||
func TestRenderMsgPack(t *testing.T) {
|
func TestRenderMsgPack(t *testing.T) {
|
||||||
w := httptest.NewRecorder()
|
w := httptest.NewRecorder()
|
||||||
data := map[string]interface{}{
|
data := map[string]interface{}{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user