Edgewall Software

Ticket #569: suppress-linebreaks-with-crlf.patch

File suppress-linebreaks-with-crlf.patch, 1.8 KB (added by t2y <tetsuya.morimoto@…>, 10 years ago)
  • genshi/template/tests/text.py

     
    171171  * 2
    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:
    176189
     
    188201
    189202""", tmpl.generate(items=range(3)).render(encoding=None))
    190203
     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))
     219
    191220    def test_exec_with_trailing_space(self):
    192221        """
    193222        Verify that a code block with trailing space does not cause a syntax
  • genshi/template/text.py

     
    128128    serializer = 'text'
    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,
    134134                 encoding=None, lookup='strict', allow_exec=False,