From da449cd99a6370721cf44b6115885a299207cfef Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 25 Feb 2016 19:12:40 +0000 Subject: Allow italic runs to be configured using style mapping --- mammoth/conversion.py | 4 ++-- tests/conversion_tests.py | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mammoth/conversion.py b/mammoth/conversion.py index 78994e9..94ffeae 100644 --- a/mammoth/conversion.py +++ b/mammoth/conversion.py @@ -112,7 +112,7 @@ class _DocumentConverter(documents.ElementVisitor): if run.is_bold: self._convert_run_property(run_generator, "bold", default="strong") if run.is_italic: - run_generator.start("em") + self._convert_run_property(run_generator, "italic", default="em") if run.vertical_alignment == documents.VerticalAlignment.superscript: run_generator.start("sup") if run.vertical_alignment == documents.VerticalAlignment.subscript: @@ -257,7 +257,7 @@ class _DocumentConverter(documents.ElementVisitor): def _document_matcher_matches(matcher, element, element_type): - if matcher.element_type in ["underline", "strikethrough", "bold"]: + if matcher.element_type in ["underline", "strikethrough", "bold", "italic"]: return matcher.element_type == element_type else: return ( diff --git a/tests/conversion_tests.py b/tests/conversion_tests.py index 78530a9..8f0a696 100644 --- a/tests/conversion_tests.py +++ b/tests/conversion_tests.py @@ -165,13 +165,22 @@ def bold_runs_can_be_configured_with_style_mapping(): @istest -def italic_runs_are_wrapped_in_emphasis_tags(): +def italic_runs_are_wrapped_in_emphasis_tags_by_default(): result = convert_document_element_to_html( documents.run(children=[documents.text("Hello")], is_italic=True), ) assert_equal("Hello", result.value) +@istest +def italic_runs_can_be_configured_with_style_mapping(): + result = convert_document_element_to_html( + documents.run(children=[documents.text("Hello")], is_italic=True), + style_map=[_style_mapping("i => i")] + ) + assert_equal("Hello", result.value) + + @istest def underline_runs_are_ignored_by_default(): result = convert_document_element_to_html( -- cgit v1.2.3