# encoding: utf-8
"""
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 == ''