Escape newlines in repr for assertion rewriting

The assertion formatting mini-language depends on newlines being
escaped.  Unfortunately if the repr of an object contained
newlines the rewriting module did not escape those, which is now
fixed.

Fixes issue453.
This commit is contained in:
Floris Bruynooghe
2014-08-18 20:07:38 +02:00
parent 9232b88df3
commit 424479cf0f
3 changed files with 23 additions and 1 deletions
+9 -1
View File
@@ -326,7 +326,15 @@ def rewrite_asserts(mod):
AssertionRewriter().run(mod)
_saferepr = py.io.saferepr
def _saferepr(obj):
repr = py.io.saferepr(obj)
if py.builtin._istext(repr):
t = py.builtin.text
else:
t = py.builtin.bytes
return repr.replace(t("\n"), t("\\n"))
from _pytest.assertion.util import format_explanation as _format_explanation # noqa
def _should_repr_global_name(obj):