diff options
| -rw-r--r-- | md_tw.py | 7 | ||||
| -rw-r--r-- | tests/data/blexer-block-code.md | 10 | ||||
| -rw-r--r-- | tests/test_md_tw.py | 19 | 
3 files changed, 34 insertions, 2 deletions
| @@ -38,6 +38,13 @@ class TWBlockLexer(mistune.BlockLexer):          key = mistune.escape(key.lower(), quote=True)          return self._key_pattern.sub(' ', key) +    def parse_block_code(self, m): +        self.tokens.append({ +            'type': 'code', +            'lang': None, +            'text': m.group(0), +        }) +  class TWInlineLexer(mistune.InlineLexer):      """Text Wrap Inline level lexer for inline gramars.""" diff --git a/tests/data/blexer-block-code.md b/tests/data/blexer-block-code.md new file mode 100644 index 0000000..711763a --- /dev/null +++ b/tests/data/blexer-block-code.md @@ -0,0 +1,10 @@ +Let's have some chaos: + +    $ echo 'Zap!' +    $ rm -rf / + +> Some Jaromil art inside a block quote +> +>     $ :(){:|:&};: +> +> For more look at jaramil.dyne.org. He's awesome. diff --git a/tests/test_md_tw.py b/tests/test_md_tw.py index c06a267..2496f43 100644 --- a/tests/test_md_tw.py +++ b/tests/test_md_tw.py @@ -40,8 +40,23 @@ class TestTWBlockLexer(object):      def setup(self):          self.bl = TWBlockLexer() - - +    def _parse(self, file_): +        txt = _get_data(file_) +        return self.bl.parse(txt) + +    def _validate(self, tokens, type_, expected): +        for token in tokens: +            if token['type'] == type_: +                assert_equal(token['text'], expected.pop(0)) + +    def test_parse_block_code(self): +        tokens = self._parse('blexer-block-code.md') + +        expected_bc = [ +            '    $ echo \'Zap!\'\n    $ rm -rf /\n\n', +            '    $ :(){:|:&};:\n\n' +            ] +        self._validate(tokens, 'code', expected_bc)      def teardown(self):          pass | 
