summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-02-08 20:06:45 +0000
committerMichael Williamson <mike@zwobble.org>2015-02-08 20:06:45 +0000
commit97cec25aa615353495292aee7bfb0002c6f849db (patch)
tree03a1d35a2b97d4bc870e1fe20832dff34da00386
parent3090caa64cb8625000209f70e9ca63730c95f81c (diff)
Handle unrecognised elements in markdown writer
-rw-r--r--mammoth/writers/markdown.py3
-rw-r--r--tests/writers/markdown_tests.py9
2 files changed, 11 insertions, 1 deletions
diff --git a/mammoth/writers/markdown.py b/mammoth/writers/markdown.py
index 4a2476d..3449990 100644
--- a/mammoth/writers/markdown.py
+++ b/mammoth/writers/markdown.py
@@ -25,6 +25,7 @@ def _init_writers():
_writers = _init_writers()
+_default_writer = lambda: ("", "")
class MarkdownWriter(object):
@@ -36,7 +37,7 @@ class MarkdownWriter(object):
self._fragments.append(_escape_markdown(text))
def start(self, name, attributes=None):
- start, end = _writers[name]()
+ start, end = _writers.get(name, _default_writer)()
self._fragments.append(start)
self._element_stack.append(end)
diff --git a/tests/writers/markdown_tests.py b/tests/writers/markdown_tests.py
index e1cdf77..a277c3d 100644
--- a/tests/writers/markdown_tests.py
+++ b/tests/writers/markdown_tests.py
@@ -13,6 +13,15 @@ def special_markdown_characters_are_escaped():
@istest
+def unrecognised_elements_are_treated_as_normal_text():
+ writer = _create_writer()
+ writer.start("blah");
+ writer.text("Hello");
+ writer.end("blah");
+ assert_equal("Hello", writer.as_string())
+
+
+@istest
def paragraphs_are_terminated_with_double_new_line():
writer = _create_writer()
writer.start("p");