"""Step implementations for basic API features.""" from behave import given, then, when import docx from docx import Document from helpers import test_docx # given ==================================================== @given("I have python-docx installed") def given_I_have_python_docx_installed(context): pass # when ===================================================== @when("I call docx.Document() with no arguments") def when_I_call_docx_Document_with_no_arguments(context): context.document = Document() @when("I call docx.Document() with the path of a .docx file") def when_I_call_docx_Document_with_the_path_of_a_docx_file(context): context.document = Document(test_docx("doc-default")) # then ===================================================== @then("document is a Document object") def then_document_is_a_Document_object(context): document = context.document assert isinstance(document, docx.document.Document) @then("the last paragraph contains the text I specified") def then_last_p_contains_specified_text(context): document = context.document text = context.paragraph_text p = document.paragraphs[-1] assert p.text == text @then("the last paragraph has the style I specified") def then_the_last_paragraph_has_the_style_I_specified(context): document, expected_style = context.document, context.style paragraph = document.paragraphs[-1] assert paragraph.style == expected_style @then("the last paragraph is the empty paragraph I added") def then_last_p_is_empty_paragraph_added(context): document = context.document p = document.paragraphs[-1] assert p.text == ""