Edgewall Software

Changeset 1255 for trunk


Ignore:
Timestamp:
Mar 19, 2014, 2:40:47 PM (10 years ago)
Author:
hodgestar
Message:

Support slash escaped of CRLF newlines (fixes #569; patch from tetsuya.morimoto@…).

Location:
trunk/genshi/template
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/genshi/template/tests/text.py

    r1217 r1255  
    172172""", tmpl.generate(items=range(3)).render(encoding=None))
    173173
     174    def test_empty_lines1_with_crlf(self):
     175        tmpl = NewTextTemplate('Your items:\r\n'
     176'\r\n'
     177'{% for item in items %}\\\r\n'
     178'  * ${item}\r\n'
     179'{% end %}')
     180
     181        self.assertEqual('Your items:\r\n'
     182'\r\n'
     183'  * 0\r\n'
     184'  * 1\r\n'
     185'  * 2\r\n', tmpl.generate(items=range(3)).render(encoding=None))
     186
    174187    def test_empty_lines2(self):
    175188        tmpl = NewTextTemplate("""Your items:
     
    188201
    189202""", tmpl.generate(items=range(3)).render(encoding=None))
     203
     204    def test_empty_lines2_with_crlf(self):
     205        tmpl = NewTextTemplate('Your items:\r\n'
     206'\r\n'
     207'{% for item in items %}\\\r\n'
     208'  * ${item}\r\n'
     209'\r\n'
     210'{% end %}')
     211        self.assertEqual('Your items:\r\n'
     212'\r\n'
     213'  * 0\r\n'
     214'\r\n'
     215'  * 1\r\n'
     216'\r\n'
     217'  * 2\r\n'
     218'\r\n', tmpl.generate(items=range(3)).render(encoding=None))
    190219
    191220    def test_exec_with_trailing_space(self):
  • trunk/genshi/template/text.py

    r1160 r1255  
    129129
    130130    _DIRECTIVE_RE = r'((?<!\\)%s\s*(\w+)\s*(.*?)\s*%s|(?<!\\)%s.*?%s)'
    131     _ESCAPE_RE = r'\\\n|\\(\\)|\\(%s)|\\(%s)'
     131    _ESCAPE_RE = r'\\\n|\\\r\n|\\(\\)|\\(%s)|\\(%s)'
    132132
    133133    def __init__(self, source, filepath=None, filename=None, loader=None,
Note: See TracChangeset for help on using the changeset viewer.