diff options
-rw-r--r-- | md_tw.py | 8 | ||||
-rw-r--r-- | tests/data/blexer-lheading.md | 13 | ||||
-rw-r--r-- | tests/test_md_tw.py | 11 |
3 files changed, 32 insertions, 0 deletions
@@ -59,6 +59,14 @@ class TWBlockLexer(mistune.BlockLexer): 'text': m.group(0), }) + def parse_lheading(self, m): + """Parse setext heading.""" + self.tokens.append({ + 'type': 'heading', + 'level': 1 if m.group(2) == '=' else 2, + 'text': m.group(0), + }) + class TWInlineLexer(mistune.InlineLexer): """Text Wrap Inline level lexer for inline gramars.""" diff --git a/tests/data/blexer-lheading.md b/tests/data/blexer-lheading.md new file mode 100644 index 0000000..13a5160 --- /dev/null +++ b/tests/data/blexer-lheading.md @@ -0,0 +1,13 @@ +Milky Chance +============ + +Clemens, Phillipp, Antonio + +Flashed +------- + +Lost our mind. + +### Junk Mind + +In the junkyard. diff --git a/tests/test_md_tw.py b/tests/test_md_tw.py index af2ce45..a71c191 100644 --- a/tests/test_md_tw.py +++ b/tests/test_md_tw.py @@ -79,6 +79,17 @@ class TestTWBlockLexer(object): self._validate(tokens, 'heading', expected_hs) + def test_parse_lheading(self): + tokens = self._parse('blexer-lheading.md') + + expected_lhs = [ + 'Milky Chance\n============\n\n', + 'Flashed\n-------\n\n', + '### Junk Mind\n\n', + ] + + self._validate(tokens, 'heading', expected_lhs) + def teardown(self): pass |