def test_macro_process_rst_code_blocks(): m = macro.CodeHighlightingMacro(logtest) hl = m.process(SAMPLE_HTML) assert hl[0].startswith('<p>Let me give you this') assert hl[0].find('<p>Then this one') > 0 assert hl[0].find('<p>Then this other one') > 0 assert hl[0].find('<div class="highlight"><pre') > 0 assert hl[1][0] == u'has_code'
def test_macro_descape(): m = macro.CodeHighlightingMacro(logtest) assert m.descape('foo') == 'foo' assert m.descape('>') == '>' assert m.descape('<') == '<' assert m.descape('&lt;') == '<' assert m.descape('<span>') == '<span>' assert m.descape('<spam&eggs>') == '<spam&eggs>'
def test_macro_process(): m = macro.CodeHighlightingMacro(logtest) hl = m.process("<pre><code>!php\n$foo;</code></pre>") assert hl[0].startswith('<div class="highlight"><pre') assert hl[1][0] == u'has_code' input = "<p>Nothing to declare</p>" assert m.process(input)[0] == input assert m.process(input)[1] == []
def test_macro_parsing_code_blocks(): m = macro.CodeHighlightingMacro(logtest) blocks = m.macro_re.findall(SAMPLE_HTML) assert len(blocks) == 3 assert blocks[0][2] == 'python' assert blocks[0][3].startswith('def foo():') assert blocks[1][2] == 'php' assert blocks[1][3].startswith('<?php') assert blocks[2][2] == 'xml' assert blocks[2][3].startswith('<foo>')