@@ -102,6 +102,16 @@ def it_knows_when_it_displays_a_distinct_first_page_header(
102102
103103 assert different_first_page_header_footer is expected_value
104104
105+ def it_can_change_whether_the_document_has_distinct_odd_and_even_headers (
106+ self , diff_first_header_set_fixture
107+ ):
108+ sectPr , value , expected_xml = diff_first_header_set_fixture
109+ section = Section (sectPr , None )
110+
111+ section .different_first_page_header_footer = value
112+
113+ assert sectPr .xml == expected_xml
114+
105115 def it_provides_access_to_its_default_footer (
106116 self , document_part_ , _Footer_ , footer_
107117 ):
@@ -222,6 +232,20 @@ def diff_first_header_get_fixture(self, request):
222232 sectPr = element (sectPr_cxml )
223233 return sectPr , expected_value
224234
235+ @pytest .fixture (
236+ params = [
237+ ("w:sectPr" , True , "w:sectPr/w:titlePg" ),
238+ ("w:sectPr/w:titlePg" , False , "w:sectPr" ),
239+ ("w:sectPr/w:titlePg{w:val=1}" , True , "w:sectPr/w:titlePg" ),
240+ ("w:sectPr/w:titlePg{w:val=off}" , False , "w:sectPr" ),
241+ ]
242+ )
243+ def diff_first_header_set_fixture (self , request ):
244+ sectPr_cxml , value , expected_cxml = request .param
245+ sectPr = element (sectPr_cxml )
246+ expected_xml = xml (expected_cxml )
247+ return sectPr , value , expected_xml
248+
225249 @pytest .fixture (params = [
226250 ('w:sectPr/w:pgMar{w:left=120}' , 'left_margin' , 76200 ),
227251 ('w:sectPr/w:pgMar{w:right=240}' , 'right_margin' , 152400 ),
0 commit comments