@@ -471,6 +471,29 @@ def it_knows_when_it_has_a_header_part_to_help(self, has_header_part_fixture):
471471
472472 assert has_header_part is expected_value
473473
474+ def it_provides_access_to_the_prior_Header_to_help (
475+ self , request , document_part_ , header_
476+ ):
477+ doc_elm = element ("w:document/(w:sectPr,w:sectPr)" )
478+ prior_sectPr , sectPr = doc_elm [0 ], doc_elm [1 ]
479+ header = _Header (sectPr , document_part_ )
480+ # ---mock must occur after construction of "real" header---
481+ _Header_ = class_mock (request , "docx.section._Header" , return_value = header_ )
482+
483+ prior_header = header ._prior_header
484+
485+ _Header_ .assert_called_once_with (prior_sectPr , document_part_ )
486+ assert prior_header is header_
487+
488+ def but_it_returns_None_when_its_the_first_header (self ):
489+ doc_elm = element ("w:document/w:sectPr" )
490+ sectPr = doc_elm [0 ]
491+ header = _Header (sectPr , None )
492+
493+ prior_header = header ._prior_header
494+
495+ assert prior_header is None
496+
474497 # fixtures -------------------------------------------------------
475498
476499 @pytest .fixture (
@@ -522,6 +545,10 @@ def _get_or_add_header_part_(self, request):
522545 def _has_header_part_prop_ (self , request ):
523546 return property_mock (request , _Header , "_has_header_part" )
524547
548+ @pytest .fixture
549+ def header_ (self , request ):
550+ return instance_mock (request , _Header )
551+
525552 @pytest .fixture
526553 def header_part_ (self , request ):
527554 return instance_mock (request , HeaderPart )
0 commit comments