@@ -1503,6 +1503,56 @@ describe('HeaderFooterSessionManager', () => {
15031503 expect ( manager . footerRegions . get ( 0 ) ! . sectionType ) . toBe ( 'even' ) ;
15041504 } ) ;
15051505
1506+ it ( 'uses multi-section alternateHeaders state when inferring fallback region variants' , ( ) => {
1507+ manager = new HeaderFooterSessionManager ( {
1508+ painterHost,
1509+ visibleHost,
1510+ selectionOverlay,
1511+ editor : {
1512+ ...createMainEditorStub ( ) ,
1513+ converter : { pageStyles : { alternateHeaders : false } } ,
1514+ } as unknown as Editor ,
1515+ defaultPageSize : { w : 612 , h : 792 } ,
1516+ defaultMargins : { top : 72 , right : 72 , bottom : 72 , left : 72 , header : 36 , footer : 36 } ,
1517+ } ) ;
1518+ manager . setDependencies ( {
1519+ getLayoutOptions : vi . fn ( ( ) => ( { } ) ) ,
1520+ getPageElement : vi . fn ( ( ) => null ) ,
1521+ scrollPageIntoView : vi . fn ( ) ,
1522+ waitForPageMount : vi . fn ( async ( ) => true ) ,
1523+ convertPageLocalToOverlayCoords : vi . fn ( ( ) => ( { x : 0 , y : 0 } ) ) ,
1524+ isViewLocked : vi . fn ( ( ) => false ) ,
1525+ getBodyPageHeight : vi . fn ( ( ) => 800 ) ,
1526+ notifyInputBridgeTargetChanged : vi . fn ( ) ,
1527+ scheduleRerender : vi . fn ( ) ,
1528+ setPendingDocChange : vi . fn ( ) ,
1529+ getBodyPageCount : vi . fn ( ( ) => 1 ) ,
1530+ } ) ;
1531+ manager . setMultiSectionIdentifier (
1532+ buildMultiSectionIdentifier (
1533+ [
1534+ {
1535+ sectionIndex : 0 ,
1536+ titlePg : false ,
1537+ headerRefs : { default : 'rId-default' , even : 'rId-even' } ,
1538+ footerRefs : { default : 'rId-default-footer' , even : 'rId-even-footer' } ,
1539+ } ,
1540+ ] ,
1541+ { alternateHeaders : true } ,
1542+ ) ,
1543+ ) ;
1544+
1545+ manager . rebuildRegions ( {
1546+ version : 1 ,
1547+ flowMode : 'paginated' ,
1548+ pageGap : 0 ,
1549+ pages : [ makePage ( { number : 1 , displayNumber : 2 , height : 792 } ) ] ,
1550+ } ) ;
1551+
1552+ expect ( manager . headerRegions . get ( 0 ) ! . sectionType ) . toBe ( 'even' ) ;
1553+ expect ( manager . footerRegions . get ( 0 ) ! . sectionType ) . toBe ( 'even' ) ;
1554+ } ) ;
1555+
15061556 it ( 'uses section titlePg state when inferring fallback region variants' , ( ) => {
15071557 manager = new HeaderFooterSessionManager ( {
15081558 painterHost,
0 commit comments