aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-02-20 19:16:16 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2011-02-20 19:16:16 -0500
commit4737c269f5658fdab4190504cd5744e95bae1688 (patch)
tree5fe1c5244f4e7d263e7d564f924797062859d9c5 /test
parentbdbe02356b6fa9acb6739879ead25a54e2c62ecb (diff)
downloadexternal_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.py3
-rw-r--r--test/test_template.py33
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):