def test_unicode__decode_errors(self): """ Test that the decode_errors attribute is respected. """ renderer = Renderer() renderer.string_encoding = "ascii" s = "déf" renderer.decode_errors = "ignore" self.assertEquals(renderer.unicode(s), "df") renderer.decode_errors = "replace" # U+FFFD is the official Unicode replacement character. self.assertEquals(renderer.unicode(s), u'd\ufffd\ufffdf')
def test__escape__uses_renderer_unicode(self): """ Test that escape uses the renderer's unicode function. """ renderer = Renderer() renderer.unicode = lambda s: s.upper() engine = renderer._make_render_engine() escape = engine.escape self.assertEquals(escape("foo"), "FOO")
def test__literal__uses_renderer_unicode(self): """ Test that literal uses the renderer's unicode function. """ renderer = Renderer() renderer.unicode = lambda s: s.upper() engine = renderer._make_render_engine() literal = engine.literal self.assertEquals(literal("foo"), "FOO")
def test_unicode__string_encoding(self): """ Test that the string_encoding attribute is respected. """ renderer = Renderer() s = "é" renderer.string_encoding = "ascii" self.assertRaises(UnicodeDecodeError, renderer.unicode, s) renderer.string_encoding = "utf-8" self.assertEquals(renderer.unicode(s), u"é")
def test__escape__uses_renderer_unicode(self): """ Test that escape uses the renderer's unicode function. """ renderer = Renderer() renderer.unicode = mock_unicode engine = renderer._make_render_engine() escape = engine.escape b = u"foo".encode('ascii') self.assertEqual(escape(b), "FOO")
def test__make_loader__attributes(self): """ Test that _make_loader() sets all attributes correctly.. """ unicode_ = lambda x: x renderer = Renderer() renderer.file_encoding = 'enc' renderer.file_extension = 'ext' renderer.unicode = unicode_ loader = renderer._make_loader() self.assertEquals(loader.extension, 'ext') self.assertEquals(loader.file_encoding, 'enc') self.assertEquals(loader.to_unicode, unicode_)