]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Support non-ascii template filenames.
authorBen Darnell <ben@bendarnell.com>
Sun, 27 Sep 2015 22:29:54 +0000 (18:29 -0400)
committerBen Darnell <ben@bendarnell.com>
Sun, 27 Sep 2015 22:29:54 +0000 (18:29 -0400)
Fixes #1502.

tornado/template.py
tornado/test/template_test.py

index 959b191d624a9132404a715f8d9c4bf9f6c0fca4..fa588991e7a0e39b0241dcc5c8df7e16efb1f6d3 100644 (file)
@@ -271,7 +271,7 @@ class Template(object):
         .. versionchanged:: 4.3
            Added ``whitespace`` parameter; deprecated ``compress_whitespace``.
         """
-        self.name = name
+        self.name = escape.native_str(name)
 
         if compress_whitespace is not _UNSET:
             # Convert deprecated compress_whitespace (bool) to whitespace (str).
index 77f42e2f0afe33d57f0e6242afe38eca82f2fb63..0c8eb51cb896335bbea403b51953c3576caeb260 100644 (file)
@@ -173,6 +173,10 @@ try{% set y = 1/x %}
         template = Template('{{ 1 / 2 }}')
         self.assertEqual(template.generate(), '0')
 
+    def test_non_ascii_name(self):
+        loader = DictLoader({u("t\u00e9st.html"): "hello"})
+        self.assertEqual(loader.load(u("t\u00e9st.html")).generate(), b"hello")
+
 
 class StackTraceTest(unittest.TestCase):
     def test_error_line_number_expression(self):