summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--md_tw.py8
-rw-r--r--tests/data/blexer-lheading.md13
-rw-r--r--tests/test_md_tw.py11
3 files changed, 32 insertions, 0 deletions
diff --git a/md_tw.py b/md_tw.py
index 64c9ced..10bd0a8 100644
--- a/md_tw.py
+++ b/md_tw.py
@@ -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