diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-02-20 19:16:16 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-02-20 19:16:16 -0500 |
| commit | 4737c269f5658fdab4190504cd5744e95bae1688 (patch) | |
| tree | 5fe1c5244f4e7d263e7d564f924797062859d9c5 /test | |
| parent | bdbe02356b6fa9acb6739879ead25a54e2c62ecb (diff) | |
| download | external_python_mako-4737c269f5658fdab4190504cd5744e95bae1688.tar.gz external_python_mako-4737c269f5658fdab4190504cd5744e95bae1688.tar.bz2 external_python_mako-4737c269f5658fdab4190504cd5744e95bae1688.zip | |
- use inlined getargspec
- The "output encoding" now defaults
to "ascii", whereas previously
it was set to None. This has the effect
of FastEncodingBuffer being used internally
by default when render() is called, instead
of cStringIO or StringIO, which are
slower, but allow bytestrings with
unknown encoding to pass right through.
It is of course not recommended to use
bytestrings of unknown encoding. Usage of
the "disable_unicode" mode also requires
that output_encoding be set to None.
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_filters.py | 3 | ||||
| -rw-r--r-- | test/test_template.py | 33 |
2 files changed, 29 insertions, 7 deletions
diff --git a/test/test_filters.py b/test/test_filters.py index 2958711..13492d8 100644 --- a/test/test_filters.py +++ b/test/test_filters.py @@ -43,7 +43,8 @@ class FilterTest(TemplateTest): def test_quoting_non_unicode(self): t = Template(""" foo ${bar | h} - """, disable_unicode=True) + """, disable_unicode=True, + output_encoding=None) eq_( flatten_result(t.render(bar="<'привет'>")), diff --git a/test/test_template.py b/test/test_template.py index 3d489f7..ba47885 100644 --- a/test/test_template.py +++ b/test/test_template.py @@ -288,7 +288,8 @@ class EncodingTest(TemplateTest): "hello śląsk", default_filters=[], template_args={'x':'śląsk'}, - unicode_=False + unicode_=False, + output_encoding=None #'ascii' ) # now, the way you *should* be doing it.... @@ -330,6 +331,7 @@ class EncodingTest(TemplateTest): '毛泽东 是 新中国的主席<br/> Welcome 你 to 北京. Welcome 你 to 北京.', default_filters=[], disable_unicode=True, + output_encoding=None, template_args={'name':'毛泽东'}, filters=flatten_result, unicode_=False @@ -339,18 +341,37 @@ class EncodingTest(TemplateTest): 'chs_utf8.html', '毛泽东 是 新中国的主席<br/> Welcome 你 to 北京. Welcome 你 to 北京.', disable_unicode=True, + output_encoding=None, template_args={'name':'毛泽东'}, filters=flatten_result, unicode_=False ) - template = self._file_template('chs_utf8.html', disable_unicode=True) + template = self._file_template('chs_utf8.html', + output_encoding=None, + disable_unicode=True) self.assertRaises(UnicodeDecodeError, template.render_unicode, name='毛泽东') - template = Template("""${'Alors vous imaginez ma surprise, au lever du jour, quand une drôle de petite voix m’a réveillé. Elle disait: « S’il vous plaît… dessine-moi un mouton! »'}""", disable_unicode=True, input_encoding='utf-8') - assert template.render() == """Alors vous imaginez ma surprise, au lever du jour, quand une drôle de petite voix m’a réveillé. Elle disait: « S’il vous plaît… dessine-moi un mouton! »""" - template = Template("""${'Alors vous imaginez ma surprise, au lever du jour, quand une drôle de petite voix m’a réveillé. Elle disait: « S’il vous plaît… dessine-moi un mouton! »'}""", input_encoding='utf8', output_encoding='utf8', disable_unicode=False, default_filters=[]) - self.assertRaises(UnicodeDecodeError, template.render) # raises because expression contains an encoded bytestring which cannot be decoded + template = Template( + "${'Alors vous imaginez ma surprise, au lever" + " du jour, quand une drôle de petite voix m’a " + "réveillé. Elle disait: « S’il vous plaît… " + "dessine-moi un mouton! »'}", + output_encoding=None, + disable_unicode=True, input_encoding='utf-8') + assert template.render() == "Alors vous imaginez ma surprise, "\ + "au lever du jour, quand une drôle de petite "\ + "voix m’a réveillé. Elle disait: « S’il vous "\ + "plaît… dessine-moi un mouton! »" + template = Template( + "${'Alors vous imaginez ma surprise, au " + "lever du jour, quand une drôle de petite " + "voix m’a réveillé. Elle disait: « S’il " + "vous plaît… dessine-moi un mouton! »'}", + input_encoding='utf8', output_encoding='utf8', + disable_unicode=False, default_filters=[]) + # raises because expression contains an encoded bytestring which cannot be decoded + self.assertRaises(UnicodeDecodeError, template.render) class PageArgsTest(TemplateTest): |
