diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/conversion_tests.py | 24 | ||||
| -rw-r--r-- | tests/html_generation_tests.py | 14 | ||||
| -rw-r--r-- | tests/mammoth_tests.py | 7 | ||||
| -rw-r--r-- | tests/style_reader_tests.py | 7 |
4 files changed, 50 insertions, 2 deletions
diff --git a/tests/conversion_tests.py b/tests/conversion_tests.py index 4b5b461..19df77f 100644 --- a/tests/conversion_tests.py +++ b/tests/conversion_tests.py @@ -172,7 +172,7 @@ def underline_runs_are_ignored_by_default(): @istest -def underline_runs_can_be_wrapped_in_tags(): +def underline_runs_can_be_wrapped_in_tags_using_convert_underline_argument(): result = convert_document_element_to_html( documents.run(children=[documents.text("Hello")], is_underline=True), convert_underline=mammoth.underline.element("u") @@ -181,6 +181,28 @@ def underline_runs_can_be_wrapped_in_tags(): @istest +def underline_runs_can_be_mapped_using_style_mapping(): + result = convert_document_element_to_html( + documents.run(children=[documents.text("Hello")], is_underline=True), + style_map=[ + style_reader.read_style("u => em") + ] + ) + assert_equal("<em>Hello</em>", result.value) + + +@istest +def style_mapping_for_underline_runs_does_not_close_parent_elements(): + result = convert_document_element_to_html( + documents.run(children=[documents.text("Hello")], is_underline=True, is_bold=True), + style_map=[ + style_reader.read_style("u => em") + ] + ) + assert_equal("<strong><em>Hello</em></strong>", result.value) + + +@istest def superscript_runs_are_wrapped_in_sup_tags(): result = convert_document_element_to_html( documents.run( diff --git a/tests/html_generation_tests.py b/tests/html_generation_tests.py index ccb0e7e..2375564 100644 --- a/tests/html_generation_tests.py +++ b/tests/html_generation_tests.py @@ -1,6 +1,6 @@ from nose.tools import istest, assert_equal -from mammoth.html_generation import HtmlGenerator, satisfy_html_path +from mammoth.html_generation import HtmlGenerator, satisfy_html_path, append_html_path from mammoth import html_paths, writers @@ -171,5 +171,17 @@ class SatisfyPathTests(object): assert_equal('<p class="tip">HelpTip', generator.as_string()) +@istest +class AppendPathTests(object): + @istest + def already_opened_elements_are_not_closed(self): + generator = _create_html_generator() + generator.start("strong") + path = html_paths.path([html_paths.element(["em"])]) + append_html_path(generator, path) + generator.text("Hello!") + assert_equal('<strong><em>Hello!', generator.as_string()) + + def _create_html_generator(): return HtmlGenerator(writers.writer) diff --git a/tests/mammoth_tests.py b/tests/mammoth_tests.py index a1b396c..e7e7e64 100644 --- a/tests/mammoth_tests.py +++ b/tests/mammoth_tests.py @@ -124,6 +124,13 @@ def underline_can_be_configured_with_convert_underline_option(): @istest +def underline_can_be_configured_with_style_mapping(): + with open(test_path("underline.docx"), "rb") as fileobj: + result = mammoth.convert_to_html(fileobj=fileobj, style_map="u => em") + assert_equal('<p><strong>The </strong><strong><em>Sunset</em></strong><strong> Tree</strong></p>', result.value) + + +@istest def transform_document_is_applied_to_document_before_conversion(): def transform_document(document): document.children[0].style_id = "Heading1" diff --git a/tests/style_reader_tests.py b/tests/style_reader_tests.py index 464cb4a..501629a 100644 --- a/tests/style_reader_tests.py +++ b/tests/style_reader_tests.py @@ -134,6 +134,13 @@ class ReadDocumentMatcherTests(object): read_document_matcher("r[style-name='Emphasis']") ) + @istest + def reads_underline(self): + assert_equal( + document_matchers.underline, + read_document_matcher("u") + ) + @istest def document_matcher_is_mapped_to_html_path_using_fat_arrow(): |
