[Checkins] SVN: zc.form/trunk/src/zc/form/browser/exceptionviews. -
explictly converting to unicode since the arg is not always a
string.
Christian Zagrodnick
cz at gocept.com
Fri May 4 07:36:28 EDT 2007
Log message for revision 75344:
- explictly converting to unicode since the arg is not always a string.
Also added a test case for that.
Changed:
U zc.form/trunk/src/zc/form/browser/exceptionviews.py
U zc.form/trunk/src/zc/form/browser/exceptionviews.txt
-=-
Modified: zc.form/trunk/src/zc/form/browser/exceptionviews.py
===================================================================
--- zc.form/trunk/src/zc/form/browser/exceptionviews.py 2007-05-04 09:59:25 UTC (rev 75343)
+++ zc.form/trunk/src/zc/form/browser/exceptionviews.py 2007-05-04 11:36:27 UTC (rev 75344)
@@ -35,7 +35,7 @@
"""Convert an invariant error to an html snippet."""
msg = self.context.args[0]
msg = i18n.translate(msg, context=self.request, default=msg)
- return u'<span class="error">%s</span>' % escape(msg)
+ return u'<span class="error">%s</span>' % escape(unicode(msg))
class ValidationErrorView(AbstractErrorView):
Modified: zc.form/trunk/src/zc/form/browser/exceptionviews.txt
===================================================================
--- zc.form/trunk/src/zc/form/browser/exceptionviews.txt 2007-05-04 09:59:25 UTC (rev 75343)
+++ zc.form/trunk/src/zc/form/browser/exceptionviews.txt 2007-05-04 11:36:27 UTC (rev 75344)
@@ -18,3 +18,20 @@
>>> view = ValidationErrorView(err, None)
>>> view.snippet()
u'<span class="error">F\xe4lscher!</span>'
+
+HTML characters are quoted correctly::
+
+ >>> err = ValidationError(u"The <error> & me.")
+ >>> view = ValidationErrorView(err, None)
+ >>> view.snippet()
+ u'<span class="error">The <error> & me.</span>'
+
+
+The ConversionError has an exception as argument which is converted as well::
+
+ >>> from zope.app.form.interfaces import ConversionError
+ >>> err = ConversionError(ValidationError("not valid"))
+ >>> view = ValidationErrorView(err, None)
+ >>> view.snippet()
+ u'<span class="error">not valid</span>'
+
More information about the Checkins
mailing list