diff --git a/render/render_test.go b/render/render_test.go index 7575538c..d57ab8e9 100644 --- a/render/render_test.go +++ b/render/render_test.go @@ -7,6 +7,7 @@ package render import ( "bytes" "encoding/xml" + "errors" "html/template" "net/http" "net/http/httptest" @@ -170,6 +171,19 @@ b: assert.Equal(t, w.Header().Get("Content-Type"), "application/x-yaml; charset=utf-8") } +type fail struct{} + +// Hook MarshalYAML +func (ft *fail) MarshalYAML() (interface{}, error) { + return nil, errors.New("fail") +} + +func TestRenderYAMLFail(t *testing.T) { + w := httptest.NewRecorder() + err := (YAML{&fail{}}).Render(w) + assert.Error(t, err) +} + func TestRenderXML(t *testing.T) { w := httptest.NewRecorder() data := xmlmap{