# coding: utf-8 """ Tests for forms/util.py module. """ tests = r""" >>> from django.forms.util import * >>> from django.core.exceptions import ValidationError >>> from django.utils.translation import ugettext_lazy ########### # flatatt # ########### >>> from django.forms.util import flatatt >>> flatatt({'id': "header"}) u' id="header"' >>> flatatt({'class': "news", 'title': "Read this"}) u' class="news" title="Read this"' >>> flatatt({}) u'' ################### # ValidationError # ################### # Can take a string. >>> print ErrorList(ValidationError("There was an error.").messages) # Can take a unicode string. >>> print ErrorList(ValidationError(u"Not \u03C0.").messages) # Can take a lazy string. >>> print ErrorList(ValidationError(ugettext_lazy("Error.")).messages) # Can take a list. >>> print ErrorList(ValidationError(["Error one.", "Error two."]).messages) # Can take a mixture in a list. >>> print ErrorList(ValidationError(["First error.", u"Not \u03C0.", ugettext_lazy("Error.")]).messages) >>> class VeryBadError: ... def __unicode__(self): return u"A very bad error." # Can take a non-string. >>> print ErrorList(ValidationError(VeryBadError()).messages) # Escapes non-safe input but not input marked safe. >>> example = 'Example of link: example' >>> print ErrorList([example]) >>> print ErrorList([mark_safe(example)]) """