diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-02-08 20:06:45 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-02-08 20:06:45 +0000 |
| commit | 97cec25aa615353495292aee7bfb0002c6f849db (patch) | |
| tree | 03a1d35a2b97d4bc870e1fe20832dff34da00386 | |
| parent | 3090caa64cb8625000209f70e9ca63730c95f81c (diff) | |
Handle unrecognised elements in markdown writer
| -rw-r--r-- | mammoth/writers/markdown.py | 3 | ||||
| -rw-r--r-- | tests/writers/markdown_tests.py | 9 |
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"); |
