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_render__nonascii_template(self): """ Test passing a non-unicode template with non-ascii characters. """ renderer = Renderer() template = "déf" # Check that decode_errors and string_encoding are both respected. renderer.decode_errors = 'ignore' renderer.string_encoding = 'ascii' self.assertEquals(renderer.render(template), "df") renderer.string_encoding = 'utf_8' self.assertEquals(renderer.render(template), u"déf")