diff options
| -rw-r--r-- | mammoth/conversion.py | 10 | ||||
| -rw-r--r-- | tests/conversion_tests.py | 7 |
2 files changed, 14 insertions, 3 deletions
diff --git a/mammoth/conversion.py b/mammoth/conversion.py index 5580925..635b57c 100644 --- a/mammoth/conversion.py +++ b/mammoth/conversion.py @@ -77,10 +77,14 @@ class DocumentConverter(object): output = io.BytesIO() base64.encode(image_bytes, output) encoded_src = output.getvalue().rstrip("\n") - - html_generator.self_closing("img", { + + attributes = { "src": "data:{0};base64,{1}".format(image.content_type, encoded_src) - }) + } + if image.alt_text: + attributes["alt"] = image.alt_text + + html_generator.self_closing("img", attributes) def _convert_elements_to_html(self, elements, html_generator): diff --git a/tests/conversion_tests.py b/tests/conversion_tests.py index 8935bb5..5088288 100644 --- a/tests/conversion_tests.py +++ b/tests/conversion_tests.py @@ -124,5 +124,12 @@ def images_are_converted_to_img_tags_with_data_uri(): assert_equal('<img src="data:image/png;base64,YWJj" />', result.value) +@istest +def images_have_alt_tags_if_available(): + image = documents.image(alt_text="It's a hat", content_type="image/png", open=lambda: io.BytesIO("abc")) + result = convert_document_element_to_html(image) + assert_equal('<img src="data:image/png;base64,YWJj" alt="It\'s a hat" />', result.value) + + def _run_with_text(text): return documents.run(children=[documents.text(text)]) |
