def test_formatting(self): # The whole point of this function is to make sure this works: out = _(u"Point & click {start}here{end}!").format( start=HTML("<a href='http://edx.org'>"), end=HTML("</a>"), ) self.assertEqual( unicode(out), u"Point & click <a href='http://edx.org'>here</a>!", )
def test_nested_formatting(self): # Sometimes, you have plain text, with html inserted, and the html has # plain text inserted. It gets twisty... out = _(u"Send {start}email{end}").format( start=HTML("<a href='mailto:{email}'>").format(email="A&B"), end=HTML("</a>"), ) self.assertEqual( unicode(out), u"Send <a href='mailto:A&B'>email</a>", )
class FormatHtmlTest(unittest.TestCase): """Test that we can format plain strings and HTML into them properly.""" @ddt.data( (u"hello", u"hello"), (u"<hello>", u"<hello>"), (u"It's cool", u"It's cool"), (u'"cool," she said.', u'"cool," she said.'), (u"Stop & Shop", u"Stop & Shop"), (u"<a>нтмℓ-єѕ¢αρє∂</a>", u"<a>нтмℓ-єѕ¢αρє∂</a>"), ) def test_simple(self, (before, after)): self.assertEqual(unicode(_(before)), after) # pylint: disable=translation-of-non-string self.assertEqual(unicode(escape(before)), after)