From ef75769d9e46ec370d51a845cb893efc07ab4ac8 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 19 Jan 2021 22:04:39 +0000 Subject: Convert symbols in supported fonts to corresponding Unicode characters --- tests/docx/body_xml_tests.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'tests') diff --git a/tests/docx/body_xml_tests.py b/tests/docx/body_xml_tests.py index 0f47ca2..94061fd 100644 --- a/tests/docx/body_xml_tests.py +++ b/tests/docx/body_xml_tests.py @@ -1,3 +1,5 @@ +# encoding=utf-8 + import io import sys @@ -587,6 +589,31 @@ def soft_hyphen_element_is_read_as_soft_hyphen_character(): assert_equal(documents.text(u"\u00ad"), tab) +@istest +def w_sym_with_supported_font_and_supported_code_point_in_ascii_range_is_converted_to_text(): + element = xml_element("w:sym", {"w:font": "Wingdings", "w:char": "28"}) + text = _read_and_get_document_xml_element(element) + assert_equal(documents.text(u"🕿"), text) + + +@istest +def w_sym_with_supported_font_and_supported_code_point_in_private_use_area_is_converted_to_text(): + element = xml_element("w:sym", {"w:font": "Wingdings", "w:char": "F028"}) + text = _read_and_get_document_xml_element(element) + assert_equal(documents.text(u"🕿"), text) + + +@istest +def w_sym_with_unsupported_font_and_code_point_produces_empty_result_with_warning(): + element = xml_element("w:sym", {"w:font": "Dingwings", "w:char": "28"}) + + result = _read_document_xml_element(element) + + expected_warning = results.warning("A w:sym element with an unsupported character was ignored: char 28 in font Dingwings") + assert_equal([expected_warning], result.messages) + assert_equal(None, result.value) + + @istest class TableTests(object): @istest -- cgit v1.2.3