From 0a3627d23a264e59df003bd5c653ceee2ed25fea Mon Sep 17 00:00:00 2001 From: Jonathan Pyle Date: Mon, 6 Aug 2018 22:04:00 -0400 Subject: [PATCH] Added test script for TemplateError trapping --- tests/template_error.py | 15 +++++++++++++++ tests/test_files/template_error.docx | Bin 0 -> 4080 bytes tests/test_files/template_error_tpl.docx | Bin 0 -> 4184 bytes 3 files changed, 15 insertions(+) create mode 100644 tests/template_error.py create mode 100644 tests/test_files/template_error.docx create mode 100644 tests/test_files/template_error_tpl.docx diff --git a/tests/template_error.py b/tests/template_error.py new file mode 100644 index 0000000..793a96a --- /dev/null +++ b/tests/template_error.py @@ -0,0 +1,15 @@ +from docxtpl import DocxTemplate, RichText +from jinja2.exceptions import TemplateError + +try: + tpl = DocxTemplate('test_files/template_error_tpl.docx') + tpl.render({ + 'test_variable' : 'test variable value' + }) +except TemplateError as the_error: + print unicode(the_error) + if hasattr(the_error, 'docx_context'): + print "Context:" + for line in the_error.docx_context: + print line +tpl.save('test_files/template_error.docx') diff --git a/tests/test_files/template_error.docx b/tests/test_files/template_error.docx new file mode 100644 index 0000000000000000000000000000000000000000..44d1938ccb0752753dc8d7ac73361d7a1b0b47f9 GIT binary patch literal 4080 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 DNDix+ literal 0 HcmV?d00001