def it_can_get_the_id_of_a_style(self, style_, styles_prop_, styles_): styles_prop_.return_value = styles_ styles_.get_style_id.return_value = "BodyCharacter" document_part = DocumentPart(None, None, None, None) style_id = document_part.get_style_id(style_, WD_STYLE_TYPE.CHARACTER) styles_.get_style_id.assert_called_once_with(style_, WD_STYLE_TYPE.CHARACTER) assert style_id == "BodyCharacter"
def it_can_get_a_style_by_id(self, styles_prop_, styles_, style_): styles_prop_.return_value = styles_ styles_.get_by_id.return_value = style_ document_part = DocumentPart(None, None, None, None) style = document_part.get_style("BodyText", WD_STYLE_TYPE.PARAGRAPH) styles_.get_by_id.assert_called_once_with("BodyText", WD_STYLE_TYPE.PARAGRAPH) assert style is style_
def it_can_add_a_header_part(self, package_, HeaderPart_, header_part_, relate_to_): HeaderPart_.new.return_value = header_part_ relate_to_.return_value = "rId7" document_part = DocumentPart(None, None, None, package_) header_part, rId = document_part.add_header_part() HeaderPart_.new.assert_called_once_with(package_) relate_to_.assert_called_once_with(document_part, header_part_, RT.HEADER) assert header_part is header_part_ assert rId == "rId7"
def it_provides_access_to_a_footer_part_by_rId( self, related_parts_prop_, related_parts_, footer_part_ ): related_parts_prop_.return_value = related_parts_ related_parts_.__getitem__.return_value = footer_part_ document_part = DocumentPart(None, None, None, None) footer_part = document_part.footer_part("rId9") related_parts_.__getitem__.assert_called_once_with("rId9") assert footer_part is footer_part_
def it_can_add_a_footer_part(self, package_, FooterPart_, footer_part_, relate_to_): FooterPart_.new.return_value = footer_part_ relate_to_.return_value = "rId12" document_part = DocumentPart(None, None, None, package_) footer_part, rId = document_part.add_footer_part() FooterPart_.new.assert_called_once_with(package_) relate_to_.assert_called_once_with(document_part, footer_part_, RT.FOOTER) assert footer_part is footer_part_ assert rId == "rId12"
def it_provides_access_to_a_header_part_by_rId( self, related_parts_prop_, related_parts_, header_part_ ): related_parts_prop_.return_value = related_parts_ related_parts_.__getitem__.return_value = header_part_ document_part = DocumentPart(None, None, None, None) header_part = document_part.header_part("rId11") related_parts_.__getitem__.assert_called_once_with("rId11") assert header_part is header_part_
def it_can_iterate_the_story_parts( self, iter_parts_related_by_, header_part_, footer_part_ ): iter_parts_related_by_.return_value = iter((header_part_, footer_part_)) document_part = DocumentPart(None, None, None, None) story_parts = document_part.iter_story_parts() iter_parts_related_by_.assert_called_once_with( document_part, {RT.COMMENTS, RT.ENDNOTES, RT.FOOTER, RT.FOOTNOTES, RT.HEADER}, ) assert list(story_parts) == [document_part, header_part_, footer_part_]
def styles_part_create_fixture( self, package_, part_related_by_, StylesPart_, styles_part_, relate_to_): document_part = DocumentPart(None, None, None, package_) part_related_by_.side_effect = KeyError StylesPart_.default.return_value = styles_part_ return document_part, StylesPart_, styles_part_
def document_body_fixture(self, request, _Body_): document_elm = ( a_document().with_nsdecls().with_child( a_body()) ).element body_elm = document_elm[0] document = DocumentPart(None, None, document_elm, None) return document, _Body_, body_elm
def inline_shapes_fixture(self, request, InlineShapes_): document_elm = ( a_document().with_nsdecls().with_child( a_body()) ).element body_elm = document_elm[0] document = DocumentPart(None, None, document_elm, None) return document, InlineShapes_, body_elm
def it_provides_access_to_the_package_bookmarks(self, Bookmarks_, bookmarks_): Bookmarks_.return_value = bookmarks_ document_part = DocumentPart(None, None, None, None) bookmarks = document_part.bookmarks Bookmarks_.assert_called_once_with(document_part) assert bookmarks is bookmarks_
def get_or_add_image_fixture( self, request, package_, image_descriptor_, image_parts_, relate_to_, image_part_, rId_): package_.image_parts = image_parts_ document = DocumentPart(None, None, None, package_) return ( document, image_descriptor_, image_parts_, relate_to_, image_part_, rId_ )
def hdrftr_fixture(self, request, header_part_, body_): header_part_.body = body_ document_part = DocumentPart(None, None, None, None) get_related_part = method_mock(request, DocumentPart, 'get_related_part') get_related_part.return_value = header_part_ return document_part, get_related_part, header_part_
def get_image_fixture(self, package_, image_part_, image_, relate_to_): document_part = DocumentPart(None, None, None, package_) path, rId_ = 'foobar.png', 'rId42' package_.image_parts.get_or_add_image_part.return_value = image_part_ relate_to_.return_value = rId_ image_part_.image = image_ return document_part, path, image_part_, rId_, image_
def next_id_fixture(self, request): existing_ids, expected_id = request.param document_elm = a_document().with_nsdecls().element for n in existing_ids: p = a_p().with_nsdecls().element p.set('id', str(n)) document_elm.append(p) document = DocumentPart(None, None, document_elm, None) return document, expected_id
def it_provides_access_to_its_styles_part_to_help( self, part_related_by_, styles_part_ ): part_related_by_.return_value = styles_part_ document_part = DocumentPart(None, None, None, None) styles_part = document_part._styles_part part_related_by_.assert_called_once_with(document_part, RT.STYLES) assert styles_part is styles_part_
def it_provides_access_to_the_numbering_part( self, part_related_by_, numbering_part_ ): part_related_by_.return_value = numbering_part_ document_part = DocumentPart(None, None, None, None) numbering_part = document_part.numbering_part part_related_by_.assert_called_once_with(document_part, RT.NUMBERING) assert numbering_part is numbering_part_
def new_pic_fixture(self, image_, get_or_add_image_, next_id_prop_): document_part = DocumentPart(None, None, None, None) path, width, height, rId = 'foo/bar.png', 111, 222, 'rId42' expected_xml = snippet_text('inline') get_or_add_image_.return_value = rId, image_ image_.scaled_dimensions.return_value = 444, 888 image_.filename = 'bar.png' next_id_prop_.return_value = 24 return document_part, path, width, height, image_, expected_xml
def and_it_creates_a_numbering_part_if_not_present( self, part_related_by_, relate_to_, NumberingPart_, numbering_part_ ): part_related_by_.side_effect = KeyError NumberingPart_.new.return_value = numbering_part_ document_part = DocumentPart(None, None, None, None) numbering_part = document_part.numbering_part NumberingPart_.new.assert_called_once_with() relate_to_.assert_called_once_with(document_part, numbering_part_, RT.NUMBERING) assert numbering_part is numbering_part_
def and_it_creates_a_default_styles_part_if_not_present( self, package_, part_related_by_, StylesPart_, styles_part_, relate_to_ ): part_related_by_.side_effect = KeyError StylesPart_.default.return_value = styles_part_ document_part = DocumentPart(None, None, None, package_) styles_part = document_part._styles_part StylesPart_.default.assert_called_once_with(package_) relate_to_.assert_called_once_with(document_part, styles_part_, RT.STYLES) assert styles_part is styles_part_
def it_can_be_constructed_by_opc_part_factory(self, parse_xml_, init): # mockery ---------------------- partname, content_type, blob, document_elm, package = (Mock( name='partname'), Mock(name='content_type'), Mock( name='blob'), Mock(name='document_elm'), Mock(name='package')) parse_xml_.return_value = document_elm # exercise --------------------- doc = DocumentPart.load(partname, content_type, blob, package) # verify ----------------------- parse_xml_.assert_called_once_with(blob) init.assert_called_once_with(partname, content_type, document_elm, package) assert isinstance(doc, DocumentPart)
def it_can_be_constructed_by_opc_part_factory(self, oxml_fromstring_, init): # mockery ---------------------- partname, content_type, blob, document_elm, package = ( Mock(name="partname"), Mock(name="content_type"), Mock(name="blob"), Mock(name="document_elm"), Mock(name="package"), ) oxml_fromstring_.return_value = document_elm # exercise --------------------- doc = DocumentPart.load(partname, content_type, blob, package) # verify ----------------------- oxml_fromstring_.assert_called_once_with(blob) init.assert_called_once_with(partname, content_type, document_elm, package) assert isinstance(doc, DocumentPart)
def it_can_be_constructed_by_opc_part_factory(self, parse_xml_, init): # mockery ---------------------- partname, content_type, blob, document_elm, package = ( Mock(name='partname'), Mock(name='content_type'), Mock(name='blob'), Mock(name='document_elm'), Mock(name='package') ) parse_xml_.return_value = document_elm # exercise --------------------- doc = DocumentPart.load(partname, content_type, blob, package) # verify ----------------------- parse_xml_.assert_called_once_with(blob) init.assert_called_once_with( partname, content_type, document_elm, package ) assert isinstance(doc, DocumentPart)
def styles_part_get_fixture(self, part_related_by_, styles_part_): document_part = DocumentPart(None, None, None, None) part_related_by_.return_value = styles_part_ return document_part, styles_part_
def settings_fixture(self, _settings_part_prop_, settings_part_, settings_): document_part = DocumentPart(None, None, None, None) _settings_part_prop_.return_value = settings_part_ settings_part_.settings = settings_ return document_part, settings_
def styles_fixture(self, _styles_part_prop_, styles_part_, styles_): document_part = DocumentPart(None, None, None, None) _styles_part_prop_.return_value = styles_part_ styles_part_.styles = styles_ return document_part, styles_
def nmprt_get_fixture(self, part_related_by_, numbering_part_): document_part = DocumentPart(None, None, None, None) part_related_by_.return_value = numbering_part_ return document_part, numbering_part_
def save_fixture(self, package_): document_part = DocumentPart(None, None, None, package_) file_ = 'foobar.docx' return document_part, file_
def nmprt_create_fixture(self, part_related_by_, relate_to_, NumberingPart_, numbering_part_): document_part = DocumentPart(None, None, None, None) part_related_by_.side_effect = KeyError NumberingPart_.new.return_value = numbering_part_ return document_part, NumberingPart_, numbering_part_
def it_can_drop_a_specified_header_part(self, drop_rel_): document_part = DocumentPart(None, None, None, None) document_part.drop_header_part("rId42") drop_rel_.assert_called_once_with(document_part, "rId42")
def core_props_fixture(self, package_, core_properties_): document_part = DocumentPart(None, None, None, package_) package_.core_properties = core_properties_ return document_part, core_properties_
def get_style_fixture(self, styles_prop_, style_): document_part = DocumentPart(None, None, None, None) style_id, style_type = 'Foobar', 1 styles_prop_.return_value.get_by_id.return_value = style_ return document_part, style_id, style_type, style_
def get_style_id_fixture(self, styles_prop_): document_part = DocumentPart(None, None, None, None) style_or_name, style_type, style_id_ = 'Foo Bar', 1, 'FooBar' styles_prop_.return_value.get_style_id.return_value = style_id_ return document_part, style_or_name, style_type, style_id_