from nose.tools import istest, assert_equal from mammoth import documents, style_reader, results from mammoth.conversion import convert_document_element_to_html @istest def plain_paragraph_is_converted_to_plain_paragraph(): result = convert_document_element_to_html( documents.paragraph(children=[_run_with_text("Hello")]) ) assert_equal('
Hello
', result.value) @istest def empty_paragraphs_are_ignored(): result = convert_document_element_to_html( documents.paragraph(children=[_run_with_text("")]) ) assert_equal('', result.value) @istest def paragraphs_are_converted_by_satisfying_matching_paths(): result = convert_document_element_to_html( documents.paragraph(style_name="TipsParagraph", children=[ _run_with_text("Tip") ]), styles=[ style_reader.read_style("p.TipsParagraph => p.tip") ] ) assert_equal('Tip
', result.value) @istest def default_paragraph_style_is_used_if_no_matching_style_is_found(): result = convert_document_element_to_html( documents.paragraph(style_name="TipsParagraph", children=[ _run_with_text("Tip") ]), ) assert_equal('Tip
', result.value) @istest def default_paragraph_style_is_specified_by_mapping_plain_paragraphs(): result = convert_document_element_to_html( documents.paragraph(style_name="TipsParagraph", children=[ _run_with_text("Tip") ]), styles=[ style_reader.read_style("p => p.tip") ] ) assert_equal('Tip
', result.value) @istest def warning_is_emitted_if_paragraph_style_is_unrecognised(): result = convert_document_element_to_html( documents.paragraph(style_name="TipsParagraph", children=[ _run_with_text("Tip") ]), ) assert_equal([results.warning("Unrecognised paragraph style: TipsParagraph")], result.messages) @istest def no_warning_if_there_is_no_style_for_plain_paragraphs(): result = convert_document_element_to_html( documents.paragraph(children=[_run_with_text("Tip")]), ) assert_equal([], result.messages) def _run_with_text(text): return documents.run(children=[documents.text(text)])