Browse Source

FOP-2999: Rollback after checking next page

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1886916 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-2_7
Simon Steiner 3 years ago
parent
commit
aa0f7734e3

+ 6
- 0
fop-core/src/main/java/org/apache/fop/fo/pagination/PageSequence.java View File

@@ -542,4 +542,10 @@ public class PageSequence extends AbstractPageSequence implements WritingModeTra
public List<ChangeBar> getClonedChangeBarList() {
return new LinkedList<ChangeBar>(changeBarList);
}

public void setOnlyTryInfinite(boolean b) {
if (pageSequenceMaster != null) {
pageSequenceMaster.onlyTryInfinite = b;
}
}
}

+ 4
- 0
fop-core/src/main/java/org/apache/fop/fo/pagination/PageSequenceMaster.java View File

@@ -49,6 +49,7 @@ public class PageSequenceMaster extends FObj {
private SubSequenceSpecifier currentSubSequence;
private int currentSubSequenceNumber = -1;
private BlockLevelEventProducer blockLevelEventProducer;
protected boolean onlyTryInfinite;

// The terminology may be confusing. A 'page-sequence-master' consists
// of a sequence of what the XSL spec refers to as
@@ -199,6 +200,9 @@ public class PageSequenceMaster extends FObj {
boolean isBlankPage,
String mainFlowName)
throws PageProductionException {
if (onlyTryInfinite && currentSubSequence != null && !currentSubSequence.isInfinite()) {
throw new PageProductionException("Limited to infinite");
}
if (currentSubSequence == null) {
currentSubSequence = getNextSubSequence();
if (currentSubSequence == null) {

+ 22
- 4
fop-core/src/main/java/org/apache/fop/layoutmgr/PageProvider.java View File

@@ -28,6 +28,7 @@ import org.apache.fop.area.AreaTreeHandler;
import org.apache.fop.area.BodyRegion;
import org.apache.fop.area.PageViewport;
import org.apache.fop.fo.Constants;
import org.apache.fop.fo.pagination.PageProductionException;
import org.apache.fop.fo.pagination.PageSequence;
import org.apache.fop.fo.pagination.Region;
import org.apache.fop.fo.pagination.RegionBody;
@@ -192,7 +193,9 @@ public class PageProvider implements Constants {
colIndex -= columnCount;
pageIndex++;
page = getPage(false, pageIndex, RELTO_CURRENT_ELEMENT_LIST);
columnCount = page.getPageViewport().getCurrentSpan().getColumnCount();
if (page.getPageViewport().getPage() != null) {
columnCount = page.getPageViewport().getCurrentSpan().getColumnCount();
}
} while (colIndex >= columnCount);
return new Column(page, pageIndex, colIndex, columnCount);
}
@@ -316,7 +319,8 @@ public class PageProvider implements Constants {
log.debug("blank condition doesn't match. Replacing PageViewport.");
replace = true;
}
if (page.getPageViewport().getCurrentSpan().getColumnCount() == 1
if (page.getPageViewport().getPage() != null
&& page.getPageViewport().getCurrentSpan().getColumnCount() == 1
&& !this.spanAllForCurrentElementList) {
RegionBody rb = (RegionBody)page.getSimplePageMaster().getRegion(Region.FO_REGION_BODY);
int colCount = rb.getColumnCount();
@@ -394,13 +398,27 @@ public class PageProvider implements Constants {
}

public int getCurrentIPD() {
if (startPageOfCurrentElementList == 0) {
return -1;
}
Page page = getPageFromColumnIndex(startColumnOfCurrentElementList);
return page.getPageViewport().getBodyRegion().getColumnIPD();
}

public int getNextIPD() {
Page page = getPageFromColumnIndex(startColumnOfCurrentElementList + 1);
return page.getPageViewport().getBodyRegion().getColumnIPD();
pageSeq.setOnlyTryInfinite(true);
try {
int oldSize = cachedPages.size();
Page page = getPageFromColumnIndex(startColumnOfCurrentElementList + 1);
if (oldSize != cachedPages.size()) {
cachedPages.remove(cachedPages.size() - 1);
}
return page.getPageViewport().getBodyRegion().getColumnIPD();
} catch (PageProductionException e) {
return getCurrentIPD();
} finally {
pageSeq.setOnlyTryInfinite(false);
}
}

public int getCurrentColumnCount() {

+ 3
- 0
fop-core/src/main/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java View File

@@ -492,6 +492,9 @@ public class ListItemLayoutManager extends SpacedBorderedPaddedBlockLayoutManage
private boolean isChangingIPD(LayoutManager lm) {
PageProvider pageProvider = lm.getPSLM().getPageProvider();
int currentIPD = pageProvider.getCurrentIPD();
if (currentIPD == -1) {
return false;
}
int nextIPD = pageProvider.getNextIPD();
return nextIPD != currentIPD;
}

+ 378
- 0
fop/test/layoutengine/standard-testcases/flow_changing-ipd_list3.xml View File

@@ -0,0 +1,378 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- $Id$ -->
<testcase>
<info>
<p>
This test checks that blocks of texts are re-laid out after a change of the flow ipd.
</p>
</info>
<fo>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
<fo:layout-master-set>
<fo:simple-page-master master-name="PrimaryPage" page-width="11in" page-height="8.5in" margin-bottom="0.25in" margin-right="0.25in" margin-top="0.25in" margin-left="0.25in">
<fo:region-body margin-bottom="1in" margin-right="0.5in" margin-top="1.6in" margin-left="0.5in" region-name="PrimaryPageBody" background-color="yellow"/>

</fo:simple-page-master>

<fo:page-sequence-master master-name="PrimaryPages">
<fo:repeatable-page-master-reference master-reference="PrimaryPage" maximum-repeats="2"/>
</fo:page-sequence-master>

</fo:layout-master-set>
<fo:page-sequence format="1" id="th_default_sequence1" initial-page-number="auto" force-page-count="auto" master-reference="PrimaryPages">

<fo:flow flow-name="PrimaryPageBody">
<fo:block>
<fo:block font-size="18pt">
<fo:leader/>
</fo:block>
<fo:block font-size="18pt">
<fo:leader/>
</fo:block>
<fo:block font-size="18pt">
<fo:leader/>
</fo:block>
<fo:block font-size="40pt" color="#0095DA">Small Group</fo:block>
<fo:block font-size="40pt" color="#0095DA">health insurance</fo:block>
<fo:block>
<fo:leader/>
</fo:block>
<fo:block font-size="18pt" color="#0095DA">For the business of:</fo:block>
<fo:block>
<fo:leader/>
</fo:block>
<fo:block font-size="18pt">EC Logistics LLC</fo:block>
<fo:block font-size="18pt" />
<fo:block>
<fo:leader/>
</fo:block>
<fo:block font-size="12pt">
<fo:inline color="#0095DA">Effective Date:</fo:inline> 02/01/2021</fo:block>
<fo:block>
<fo:leader/>
</fo:block>
<fo:block font-size="9pt" padding-after="3pt">
<fo:inline font-weight="bold">Prepared by:</fo:inline>
<fo:inline text-transform="capitalize">wb underwriting</fo:inline>
</fo:block>
<fo:block font-size="9pt" padding-after="3pt">02/10/2021</fo:block>
<fo:block font-size="9pt" padding-after="3pt">(800) 869-6989</fo:block>
<fo:block font-size="26pt" color="#0095DA">
<fo:leader/>
<fo:block break-before="page"/>Success!</fo:block>
<fo:block font-size="16pt">EC Logistics LLC is now enrolled.</fo:block>
<fo:block font-size="12pt">
<fo:leader/>
</fo:block>
<fo:block font-size="9pt" padding-after="3pt">We’ve put together tips and information, as well as a roster of enrolled members (with member ID included) and final rates for your records.</fo:block>
<fo:block font-size="9pt" padding-after="3pt">
<fo:leader/>
</fo:block>
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-width="proportional-column-width(45)" column-number="1"/>
<fo:table-column column-width="proportional-column-width(5)" column-number="2"/>
<fo:table-column column-width="proportional-column-width(45)" column-number="3"/>
<fo:table-column column-width="proportional-column-width(5)" column-number="4"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:block font-size="9pt" padding-after="3pt">
<fo:inline font-weight="bold">About group enrollment timing</fo:inline>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block font-size="9pt" padding-after="3pt">
<fo:inline font-weight="bold">About member benefits</fo:inline>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block font-size="9pt" padding-after="3pt">
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:list-block font-size="9pt" line-height="10pt">
<fo:list-item>
<fo:list-item-label font-size="10pt">
<fo:block>•</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>This group will appear in <fo:inline color="#0095DA">Broker Connection</fo:inline> after the group effective date.</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:list-block font-size="9pt" line-height="10pt">
<fo:list-item>
<fo:list-item-label font-size="10pt">
<fo:block>•</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>This group will appear in <fo:inline color="#0095DA">Employer Connection</fo:inline> Plus after the first month’s billing statement has been generated, which generally occurs by the 14th business day of the month.</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:list-block font-size="9pt" line-height="10pt">
<fo:list-item>
<fo:list-item-label font-size="10pt">
<fo:block>•</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>Members can use our Find a Doctor flier to learn how to search for doctors/specialists/facilities</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:list-block font-size="9pt" line-height="10pt">
<fo:list-item>
<fo:list-item-label font-size="10pt">
<fo:block>•</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>Members can access care 24/7 via phone or video consultations with Teladoc</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:list-block font-size="9pt" line-height="10pt">
<fo:list-item>
<fo:list-item-label font-size="10pt">
<fo:block>•</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>For access to Pharmacy Benefits, members must use the plan- specific alpha prefix with their member ID number.</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row height="0.502708325783412cm">
<fo:table-cell>
<fo:block>
<fo:block font-size="9pt" padding-after="3pt">
<fo:inline font-weight="bold">About member enrollment information and next steps</fo:inline>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block font-size="9pt" padding-after="3pt">
<fo:inline font-weight="bold">See examples below:</fo:inline>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block font-size="9pt" padding-after="3pt">
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:list-block font-size="9pt" line-height="10pt">
<fo:list-item>
<fo:list-item-label font-size="10pt">
<fo:block>•</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>Identification cards should arrive in approximately 7 to10 business days at each subscriber’s home.</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:list-block font-size="9pt" line-height="10pt">
<fo:list-item>
<fo:list-item-label font-size="10pt">
<fo:block>•</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>Access to ID card via our mobile app is available within 24 to 48 hours.</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:list-block font-size="9pt" line-height="10pt">
<fo:list-item>
<fo:list-item-label font-size="10pt">
<fo:block>•</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>Temporary ID cards can be printed after members register online.</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:list-block font-size="9pt" line-height="10pt">
<fo:list-item>
<fo:list-item-label font-size="10pt">
<fo:block>•</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>Members should appear in our Pharmacy Eligibility system within 24 to 48 hours.</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:list-block font-size="9pt" line-height="10pt">
<fo:list-item>
<fo:list-item-label font-size="10pt">
<fo:block>•</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>Eligibility can be verified prior to receipt of ID cards by calling <fo:inline font-weight="bold">(888) 319-5999</fo:inline>.</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block font-size="9pt" padding-after="3pt">XEH - HMO members (example: XEH999999999)</fo:block>
<fo:block font-size="9pt" padding-after="3pt">XEA - PPO members (example: XEA999999999)</fo:block>
<fo:block font-size="9pt" padding-after="3pt">XNK - Tandem PPO members (example: XNK999999999)</fo:block>
<fo:block font-size="9pt" padding-after="3pt">Pharmacy services also requires the BIN # 600428 and PCN numbers: PCN # 01910000 - for Commercial HMO and PPO</fo:block>
<fo:block font-size="9pt" padding-after="3pt">PCN # 02960000 – for Commercial HAS</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block font-size="9pt" padding-after="3pt">
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
<fo:block id="TH_LastPage"/>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<eval expected="Small" xpath="//pageViewport[1]//flow/block//word"/>
<eval expected="Success!" xpath="//pageViewport[2]//flow/block//word"/>
</checks>
</testcase>

+ 71
- 0
fop/test/layoutengine/standard-testcases/flow_changing-ipd_list4.xml View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- $Id$ -->
<testcase>
<info>
<p>
This test checks that blocks of texts are re-laid out after a change of the flow ipd.
</p>
</info>
<fo>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" font-family="Helvetica">
<fo:layout-master-set>
<fo:simple-page-master master-name="PageFront" page-width="210mm" page-height="297mm">
<fo:region-body margin-bottom="22mm" margin-right="80mm" margin-top="100mm" margin-left="20mm" region-name="letterPageBody"/>
</fo:simple-page-master>
<fo:simple-page-master master-name="PageCont" page-width="210mm" page-height="297mm">
<fo:region-body margin-right="30mm" margin-bottom="30mm" margin-top="12mm" margin-left="20mm" region-name="letterPageBody"/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="LetterPages">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference page-position="first" master-reference="PageFront"/>
<fo:conditional-page-master-reference page-position="rest" master-reference="PageCont"/>
<fo:conditional-page-master-reference page-position="last" master-reference="PageCont"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence format="1" id="th_default_sequence1" force-page-count="even" initial-page-number="auto" master-reference="LetterPages">
<fo:flow flow-name="letterPageBody">
<fo:block-container height="41mm" overflow="hidden" width="55mm" top="45mm" left="20mm" absolute-position="fixed">
<fo:block>
<fo:block font-family="Arial" font-size="10pt" line-height="13pt">Mr les</fo:block>
</fo:block>
</fo:block-container>
<fo:block>
<fo:list-block start-indent="1pt" space-before="1pt" keep-together.within-page="always" keep-with-previous.within-page="always">
<fo:list-item font-family="Arial" font-size="10pt" space-before="2px">
<fo:list-item-label font-family="ZapfDingbats" font-size="4pt" line-height="10pt">
<fo:block>
<fo:inline>●</fo:inline>
</fo:block>
</fo:list-item-label>
<fo:list-item-body font-family="Arial" font-size="10pt" start-indent="4mm" space-before="2px">
<fo:block>Cover summary (all your key policy information)</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<eval expected="Mr" xpath="//pageViewport[1]//flow/block//word"/>
<eval expected="" xpath="//pageViewport[2]//flow/block//word"/>
</checks>
</testcase>

+ 69
- 0
fop/test/layoutengine/standard-testcases/flow_changing-ipd_list5.xml View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- $Id$ -->
<testcase>
<info>
<p>
This test checks that blocks of texts are re-laid out after a change of the flow ipd.
</p>
</info>
<fo>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
<fo:layout-master-set>
<fo:simple-page-master master-name="PageFront" page-width="8.5in" page-height="11in" margin-bottom="0.2in" margin-right="0.5in" margin-top="0.5in" margin-left="0.5in">
<fo:region-body region-name="letterPageBody1" margin-bottom="0.3in" margin-right="0pt" margin-top="1.6in" margin-left="0pt"/>
<fo:region-before region-name="Header" extent="10.8in"/>
</fo:simple-page-master>
<fo:simple-page-master master-name="PageRest" page-width="8.5in" page-height="11in" margin-bottom="0.1in" margin-right="0.5in" margin-top="0.5in" margin-left="0.5in">
<fo:region-body margin-bottom="0.1in" margin-right="0pt" margin-top="0.4in" margin-left="0pt" column-gap="0.5in" column-count="2" region-name="letterPageBody"/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="LetterPages">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference page-position="first" master-reference="PageFront"/>
<fo:conditional-page-master-reference page-position="rest" master-reference="PageRest"/>
<fo:conditional-page-master-reference page-position="last" master-reference="PageRest"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence format="1" id="th_default_sequence1" initial-page-number="auto" force-page-count="auto" master-reference="LetterPages">
<fo:static-content flow-name="Header">
<fo:block>
<fo:list-block font-family="Helvetica" font-size="10pt" line-height="11pt">
<fo:list-item space-after="5pt" space-before="5pt" line-height="11pt">
<fo:list-item-label font-family="Helvetica" font-size="10pt" text-indent="0.1in" line-height="11pt">
<fo:block>1.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="0.325in" font-family="Helvetica" font-size="10pt" line-height="11pt">
<fo:block>
<fo:inline font-weight="bold">Your </fo:inline>name is the name on the attached declaration.</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:block>
</fo:static-content>
<fo:flow flow-name="letterPageBody">
<fo:block>AGREEMENT</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<eval expected="" xpath="//pageViewport[1]//flow/block//word"/>
<eval expected="AGREEMENT" xpath="//pageViewport[2]//flow/block//word"/>
</checks>
</testcase>

+ 121
- 0
fop/test/layoutengine/standard-testcases/flow_changing-ipd_list6.xml View File

@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- $Id$ -->
<testcase>
<info>
<p>
This test checks that blocks of texts are re-laid out after a change of the flow ipd.
</p>
</info>
<fo>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
<fo:layout-master-set>
<fo:simple-page-master master-name="FirstPage" page-width="210mm" page-height="297mm">
<fo:region-body margin-bottom="20mm" margin-right="74mm" margin-top="90mm" margin-left="8mm" region-name="Body"/>
</fo:simple-page-master>
<fo:simple-page-master master-name="SecondPage" page-width="210mm" page-height="297mm">
<fo:region-body margin-right="8mm" margin-top="8mm" margin-left="8mm" region-name="Body"/>
<fo:region-start precedence="true" region-name="SecondPage" extent="180mm"/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="AnnualStatement">
<fo:repeatable-page-master-reference maximum-repeats="1" master-reference="FirstPage"/>
<fo:repeatable-page-master-reference maximum-repeats="1" master-reference="SecondPage"/>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence format="1" id="th_default_sequence1" initial-page-number="auto" force-page-count="end-on-even" master-reference="AnnualStatement">
<fo:static-content flow-name="SecondPage">
<fo:block-container height="281mm" margin-top="8mm">
<fo:block-container width="194mm" margin-right="8mm" margin-left="8mm">
<fo:block>
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-width="proportional-column-width(49.5)" column-number="1"/>
<fo:table-column column-width="proportional-column-width(2.5)" column-number="2"/>
<fo:table-column column-width="proportional-column-width(48)" column-number="3"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-width="proportional-column-width(4.16666666666667)" column-number="1"/>
<fo:table-column column-width="proportional-column-width(62.5)" column-number="2"/>
<fo:table-column column-width="proportional-column-width(4.16666666666667)" column-number="3"/>
<fo:table-column column-width="proportional-column-width(29.1666666666667)" column-number="4"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell keep-together.within-page="always" padding-bottom="1mm" padding-left="2mm" padding-right="2mm" padding-top="1mm" background-color="#FFE7E1">
<fo:block>
<fo:block color="#333333" font-size="10pt" keep-together.within-page="always" keep-with-next.within-page="always" line-height="13pt">
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell keep-together.within-page="always" padding-bottom="1mm" padding-left="2mm" padding-right="2mm" padding-top="1mm" background-color="#FFE7E1">
<fo:block>
<fo:list-block color="#ff5c39" font-size="9pt" keep-together.within-page="always" keep-with-next.within-page="always" line-height="11pt">
<fo:list-item>
<fo:list-item-label>
<fo:block>·</fo:block>
</fo:list-item-label>
<fo:list-item-body color="#333333" font-size="10pt" keep-together.within-page="always" keep-with-next.within-page="always" line-height="13pt" margin-left="5mm">
<fo:block>
<fo:inline color="#8031a7">London charges</fo:inline>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
<fo:leader/>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:block>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:block-container>
</fo:block-container>
</fo:static-content>
<fo:flow flow-name="Body">
<fo:block></fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<eval expected="" xpath="//pageViewport[1]//block//word"/>
<eval expected="·" xpath="//pageViewport[2]//block//word"/>
</checks>
</testcase>

Loading…
Cancel
Save