def test__escape__uses_renderer_escape(self): """ Test that escape uses the renderer's escape function. """ renderer = Renderer() renderer.escape = lambda s: "**" + s engine = renderer._make_render_engine() escape = engine.escape self.assertEqual(escape("foo"), "**foo")
def test__interpolate__uses_renderer_escape(self): """ Test that interpolate uses the renderer's interpolate function. """ renderer = Renderer() renderer.escape = lambda s: "**" + s engine = renderer._make_render_engine() interpolate = engine.interpolate self.assertEqual(interpolate("foo", '', None), "**foo")
def test__escape__has_access_to_original_unicode_subclass(self): """ Test that escape receives strings with the unicode subclass intact. """ renderer = Renderer() renderer.escape = lambda s: str(type(s).__name__) engine = renderer._make_render_engine() escape = engine.escape class MyUnicode(str): pass self.assertEqual(escape("foo".encode('ascii')), str.__name__) self.assertEqual(escape("foo"), str.__name__) self.assertEqual(escape(MyUnicode("foo")), MyUnicode.__name__)
def test__escape__has_access_to_original_unicode_subclass(self): """ Test that escape receives strings with the unicode subclass intact. """ renderer = Renderer() renderer.escape = lambda s: type(s).__name__ engine = renderer._make_render_engine() escape = engine.escape class MyUnicode(unicode): pass self.assertEquals(escape("foo"), "unicode") self.assertEquals(escape(u"foo"), "unicode") self.assertEquals(escape(MyUnicode("foo")), "MyUnicode")
def test_escape(self): escape = lambda s: "**" + s renderer = Renderer(escape=escape) self.assertEqual(renderer.escape("bar"), "**bar")