aboutsummaryrefslogtreecommitdiffstats
path: root/test/layoutengine
diff options
context:
space:
mode:
authorLuis Bernardo <lbernardo@apache.org>2014-12-02 00:29:57 +0000
committerLuis Bernardo <lbernardo@apache.org>2014-12-02 00:29:57 +0000
commit16741be59821d79308d670ff7b61ec72702595e1 (patch)
tree7b5aa84fbb351a93105c3ca8d4fc939807674159 /test/layoutengine
parent97e5ccb03a3990c94324bde7fa617a77566e1e62 (diff)
downloadxmlgraphics-fop-16741be59821d79308d670ff7b61ec72702595e1.tar.gz
xmlgraphics-fop-16741be59821d79308d670ff7b61ec72702595e1.zip
Merged branches/Temp_BasicSideFloat back to trunk.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1642793 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test/layoutengine')
-rw-r--r--test/layoutengine/standard-testcases/float_1.xml174
-rw-r--r--test/layoutengine/standard-testcases/float_2.xml155
-rw-r--r--test/layoutengine/standard-testcases/float_3.xml60
-rw-r--r--test/layoutengine/standard-testcases/float_4.xml217
-rw-r--r--test/layoutengine/standard-testcases/float_5.xml138
-rw-r--r--test/layoutengine/standard-testcases/float_6.xml134
-rw-r--r--test/layoutengine/standard-testcases/float_7.xml107
-rw-r--r--test/layoutengine/standard-testcases/flow_changing-ipd_4.xml9
-rw-r--r--test/layoutengine/standard-testcases/flow_changing-ipd_5.xml142
9 files changed, 1131 insertions, 5 deletions
diff --git a/test/layoutengine/standard-testcases/float_1.xml b/test/layoutengine/standard-testcases/float_1.xml
new file mode 100644
index 000000000..5e9fc7ff4
--- /dev/null
+++ b/test/layoutengine/standard-testcases/float_1.xml
@@ -0,0 +1,174 @@
+<?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 floats.
+ </p>
+ </info>
+ <fo>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master margin="50pt" master-name="page" page-height="800pt" page-width="600pt">
+ <fo:region-body background-color="yellow" />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+ Put some content before the float but enough to make the float go to the third line of this block. Just enought content to place the float in the second line is not desirable. <fo:inline color="red">This is the last content before the float and the float is right now.</fo:inline>
+ <fo:float float="start">
+ <fo:block border="1pt solid red" padding="10pt" color="blue" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="100pt">
+ <fo:block background-color="orange">
+ This is a normal block that is confined to the block container inside a side float. The background is orange.
+ </fo:block>
+ </fo:block-container>
+ </fo:block>
+ </fo:float>
+ <fo:inline color="blue">This is the first content after the float.</fo:inline> This paragraph contains a side float and the content of the paragraph needs to be wrapped around the float... this is very complicated but the current implementation can handle the simpler cases.
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+ Put some content before the float but enough to make the float go to the third line of this block. Just enought content to place the float in the second line is not desirable. <fo:inline color="red">This is the last content before the float and the float is right now.</fo:inline>
+ <fo:float float="end">
+ <fo:block border="1pt solid red" padding="10pt" color="blue" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="90pt">
+ <fo:block background-color="pink">
+ This is a normal block that is confined to the block container inside a side float. The background is pink.
+ </fo:block>
+ </fo:block-container>
+ </fo:block>
+ </fo:float>
+ <fo:inline color="blue">This is the first content after the float.</fo:inline> This paragraph contains a side float and the content of the paragraph needs to be wrapped around the float... this is very complicated but the current implementation can handle the simpler cases.
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+ Put some content before the float but enough to make the float go to the third line of this block. Just enought content to place the float in the second line is not desirable. <fo:inline color="red">This is the last content before the float and the float is right now.</fo:inline>
+ <fo:float float="start">
+ <fo:block border="1pt solid red" padding="10pt" color="blue" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="110pt">
+ <fo:block background-color="green">
+ This is a normal block that is confined to the block container inside a side float. The background is green.
+ </fo:block>
+ </fo:block-container>
+ <fo:block>This line is not constrained by a width.</fo:block>
+ </fo:block>
+ </fo:float>
+ <fo:inline color="blue">This is the first content after the float.</fo:inline> This paragraph contains a side float and the content of the paragraph needs to be wrapped around the float... this is very complicated but the current implementation can handle the simpler cases.
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+ Put some content before the float but enough to make the float go to the third line of this block. Just enought content to place the float in the second line is not desirable. <fo:inline color="red">This is the last content before the float and the float is right now.</fo:inline>
+ <fo:float float="start">
+ <fo:block border="1pt solid red" padding="10pt" color="blue" end-indent="0pt" start-indent="0pt">
+ <fo:block background-color="red">
+ The background is red.
+ </fo:block>
+ </fo:block>
+ </fo:float>
+ <fo:inline color="blue">This is the first content after the float.</fo:inline> This paragraph contains a side float and the content of the paragraph needs to be wrapped around the float... this is very complicated but the current implementation can handle the simpler cases.
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
+ </fo>
+ <checks>
+ <!-- first float -->
+ <eval expected="11000" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[3]/@left-offset" />
+ <eval expected="40692" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[3]/block[1]/block[1]/block[1]/block[1]/lineArea[7]/text/@ipd" />
+ <eval expected="orange." xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[3]/block[1]/block[1]/block[1]/block[1]/lineArea[7]" />
+ <eval expected="122000" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[4]/@left-offset" />
+ <eval expected="last content before the float and the float is right now. This is the first" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[4]/lineArea[1]" />
+ <eval expected="reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[6]/lineArea[1]" />
+ <!-- second float -->
+ <eval expected="399000" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[8]/@left-offset" />
+ <eval expected="25344" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[8]/block[1]/block[1]/block[1]/block[1]/lineArea[8]/text/@ipd" />
+ <eval expected="pink." xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[8]/block[1]/block[1]/block[1]/block[1]/lineArea[8]" />
+ <eval expected="last content before the float and the float is right now. This is the first" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[9]/lineArea[1]" />
+ <eval expected="the foot of the village of Elstree. This noble sheet of water occupies a space of considerable" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[11]/lineArea[1]" />
+ <!-- third float -->
+ <eval expected="11000" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[3]/@left-offset" />
+ <eval expected="34020" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[3]/block[1]/block[1]/block[1]/block[1]/lineArea[7]/text/@ipd" />
+ <eval expected="green." xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[3]/block[1]/block[1]/block[1]/block[1]/lineArea[7]" />
+ <eval expected="224752" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[4]/@left-offset" />
+ <eval expected="last content before the float and the float is right" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[4]/lineArea[1]" />
+ <eval expected="at some distance on the right in the valley catch a view of the celebrated reservoir, the" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[6]/lineArea[1]" />
+ <!-- fourth float -->
+ <eval expected="11000" xpath="//pageViewport[4]/page/regionViewport[1]//flow[1]/block[3]/@left-offset" />
+ <eval expected="122724" xpath="//pageViewport[4]/page/regionViewport[1]//flow[1]/block[3]/block[1]/block[1]/lineArea[1]/text/@ipd" />
+ <eval expected="The background is red." xpath="//pageViewport[4]/page/regionViewport[1]//flow[1]/block[3]/block[1]/block[1]/lineArea[1]" />
+ <eval expected="144724" xpath="//pageViewport[4]/page/regionViewport[1]//flow[1]/block[4]/@left-offset" />
+ <eval expected="last content before the float and the float is right now. This is the" xpath="//pageViewport[4]/page/regionViewport[1]//flow[1]/block[4]/lineArea[1]" />
+ <eval expected="float... this is very complicated but the current implementation can handle the simpler cases." xpath="//pageViewport[4]/page/regionViewport[1]//flow[1]/block[5]/lineArea[1]" />
+ </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/float_2.xml b/test/layoutengine/standard-testcases/float_2.xml
new file mode 100644
index 000000000..d4ccb8300
--- /dev/null
+++ b/test/layoutengine/standard-testcases/float_2.xml
@@ -0,0 +1,155 @@
+<?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 floats in two column pages.
+ </p>
+ </info>
+ <fo>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master margin="50pt" master-name="page" page-height="600pt" page-width="800pt">
+ <fo:region-body background-color="yellow" column-count="2" />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+ Put some content before the float but enough to make the float go to the third line of this block. Just enought content to place the float in the second line is not desirable. <fo:inline color="red">This is the last content before the float and the float is right now.</fo:inline>
+ <fo:float float="start">
+ <fo:block border="1pt solid red" padding="10pt" color="blue" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="100pt">
+ <fo:block background-color="orange">
+ This is a normal block that is confined to the block container inside a side float. The background is orange.
+ </fo:block>
+ </fo:block-container>
+ </fo:block>
+ </fo:float>
+ <fo:inline color="blue">This is the first content after the float.</fo:inline> This paragraph contains a side float and the content of the paragraph needs to be wrapped around the float... this is very complicated but the current implementation can handle the simpler cases.
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+ Put some content before the float but enough to make the float go to the third line of this block. Just enought content to place the float in the second line is not desirable. <fo:inline color="red">This is the last content before the float and the float is right now.</fo:inline>
+ <fo:float float="end">
+ <fo:block border="1pt solid red" padding="10pt" color="blue" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="90pt">
+ <fo:block background-color="pink">
+ This is a normal block that is confined to the block container inside a side float. The background is pink.
+ </fo:block>
+ </fo:block-container>
+ </fo:block>
+ </fo:float>
+ <fo:inline color="blue">This is the first content after the float.</fo:inline> This paragraph contains a side float and the content of the paragraph needs to be wrapped around the float... this is very complicated but the current implementation can handle the simpler cases.
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+ Put some content before the float but enough to make the float go to the third line of this block. Just enought content to place the float in the second line is not desirable. <fo:inline color="red">This is the last content before the float and the float is right now.</fo:inline>
+ <fo:float float="start">
+ <fo:block border="1pt solid red" padding="10pt" color="blue" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="150pt">
+ <fo:block background-color="green">
+ This is a normal block that is confined to the block container inside a side float. The background is green.
+ </fo:block>
+ </fo:block-container>
+ </fo:block>
+ </fo:float>
+ <fo:inline color="blue">This is the first content after the float.</fo:inline> This paragraph contains a side float and the content of the paragraph needs to be wrapped around the float... this is very complicated but the current implementation can handle the simpler cases.
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ <fo:block>
+Elstree Reservoir[edit]
+The dam was built in 1795 by French prisoners of war.[34] English watercolour landscape painter John Hassell writes:
+"At the top of Stanmore Hill we enter on Bushy Heath, and at some distance on the right in the valley catch a view of the celebrated reservoir, the property of the Grand Junction Company, on Aidenham Common, at the foot of the village of Elstree. This noble sheet of water occupies a space of considerable extent on the verge of Aidenham Common, which thirty years ago was a barren waste; here the improvements in agriculture are indeed conspicuous, for at this place a poor, sandy, meagre, wretched soil has now by good husbandry been converted into rich pasturage.
+"The reservoir has all the appearance of a lake; and when the timber that surrounds it shall have arrived at maturity, it will be a most delightful spot. From this immense sheet of water, in event of drought or a deficiency of upland waters, the lower parts of the Grand Junction and the Paddington Canals can have an immediate supply. The feeder from this reservoir enters the main stream near Rickmansworth, above Batchworth Mills, and supplies the millers' below with 300 locks of water, to whose interest the Duke of Northumberland is a perpetual trustee."[35]
+In 1886, the Photographic Society of Great Britain featured an exhibition of photos of Elstree Reservoir by Edgar Clifton.[36] During World War I, then Major Keith Caldwell with No. 74 Squadron RAF, used Elstree Reservoir for target practice.[37] In 1918, one of the pilots accidentally killed a local resident when his machine gun misfired.[38]
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
+ </fo>
+ <checks>
+ <!-- first float -->
+ <eval expected="11000" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[3]/@left-offset" />
+ <eval expected="40692" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[3]/block[1]/block[1]/block[1]/block[1]/lineArea[7]/text/@ipd" />
+ <eval expected="orange." xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[3]/block[1]/block[1]/block[1]/block[1]/lineArea[7]" />
+ <eval expected="122000" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[4]/@left-offset" />
+ <eval expected="content before the float and the float is" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[4]/lineArea[1]" />
+ <eval expected="built in 1795 by French prisoners of war.[34] English" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[6]/lineArea[1]" />
+ <!-- second float -->
+ <eval expected="240000" xpath="//pageViewport[2]/page/regionViewport[1]//flow[2]/block[3]/@left-offset" />
+ <eval expected="25344" xpath="//pageViewport[2]/page/regionViewport[1]//flow[2]/block[3]/block[1]/block[1]/block[1]/block[1]/lineArea[8]/text/@ipd" />
+ <eval expected="pink." xpath="//pageViewport[2]/page/regionViewport[1]//flow[2]/block[3]/block[1]/block[1]/block[1]/block[1]/lineArea[8]" />
+ <eval expected="content before the float and the float is" xpath="//pageViewport[2]/page/regionViewport[1]//flow[2]/block[4]/lineArea[1]" />
+ <eval expected="war.[34] English watercolour landscape painter John Hassell" xpath="//pageViewport[2]/page/regionViewport[1]//flow[2]/block[6]/lineArea[1]" />
+ <!-- third float -->
+ <eval expected="11000" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[3]/@left-offset" />
+ <eval expected="136068" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[3]/block[1]/block[1]/block[1]/block[1]/lineArea[4]/text/@ipd" />
+ <eval expected="The background is green." xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[3]/block[1]/block[1]/block[1]/block[1]/lineArea[4]" />
+ <eval expected="172000" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[4]/@left-offset" />
+ <eval expected="content before the float and" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[4]/lineArea[1]" />
+ <eval expected="wrapped around the float... this is very complicated but the" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[5]/lineArea[1]" />
+ </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/float_3.xml b/test/layoutengine/standard-testcases/float_3.xml
new file mode 100644
index 000000000..770e782a3
--- /dev/null
+++ b/test/layoutengine/standard-testcases/float_3.xml
@@ -0,0 +1,60 @@
+<?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 floats.
+ </p>
+ </info>
+ <fo>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master margin="50pt" master-name="page" page-height="800pt" page-width="600pt">
+ <fo:region-body background-color="yellow" />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ Put some content before the float but enough to make the float go to the third line of this block. Just enought content to place the float in the second line is not desirable. <fo:inline color="red">This is the last content before the float and the float is right now.</fo:inline>
+ <fo:float float="start">
+ <fo:block border="1pt solid red" padding="10pt" color="blue" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="110pt">
+ <fo:block background-color="green">
+ This is a normal block that is confined to the block container inside a side float. The background is green.
+ </fo:block>
+ </fo:block-container>
+ <fo:block>This line is not constrained by a width. xxx xxx xxx xxx xxx</fo:block>
+ </fo:block>
+ </fo:float>
+ <fo:inline color="blue">This is the first content after the float.</fo:inline> This paragraph contains a side float and the content of the paragraph needs to be wrapped around the float... this is very complicated but the current implementation can handle the simpler cases.
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
+ </fo>
+ <checks>
+ <!-- first float -->
+ <eval expected="11000" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[2]/@left-offset" />
+ <eval expected="green." xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[2]/block[1]/block[1]/block[1]/block[1]/lineArea[7]" />
+ <eval expected="331432" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[3]/@left-offset" />
+ <eval expected="last content before the float" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[3]/lineArea[1]" />
+ <eval expected="handle the simpler cases." xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[3]/lineArea[10]" />
+ </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/float_4.xml b/test/layoutengine/standard-testcases/float_4.xml
new file mode 100644
index 000000000..9db4ec36c
--- /dev/null
+++ b/test/layoutengine/standard-testcases/float_4.xml
@@ -0,0 +1,217 @@
+<?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 floats.
+ </p>
+ </info>
+ <fo>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master margin="50pt" master-name="page" page-height="800pt" page-width="600pt">
+ <fo:region-body background-color="yellow" />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+ <fo:table table-layout="fixed" width="100%">
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block>C11</fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>C12</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block>C21</fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>C22</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block>C31</fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>C32</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block>C41</fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>C42</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block>C51</fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>C52</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </fo:block>
+ <fo:block>
+ Put some content before the float but enough to make the float go to the third line of this block. Just enought content to place the float in the second line is not desirable. <fo:inline color="red">This is the last content before the float and the float is right now.</fo:inline>
+ <fo:float float="start">
+ <fo:block border="1pt solid red" padding="10pt" color="blue" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="110pt">
+ <fo:block background-color="green">
+ This is a normal block that is confined to the block container inside a side float. The background is green.
+ </fo:block>
+ </fo:block-container>
+ </fo:block>
+ </fo:float>
+ <fo:inline color="blue">This is the first content after the float.</fo:inline> This paragraph contains a side float and the content of the paragraph needs to be wrapped around the float... this is very complicated but the current implementation can handle the simpler cases.
+ </fo:block>
+ <fo:block>
+ <fo:table table-layout="fixed" width="100%">
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block>C11</fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>C12</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block>C21</fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>C22</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block>C31</fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block>C32</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </fo:block>
+ <fo:block>Content after the table. Floats cannot be handled if next to a table, unless the table starts and ends between the start and the end of the float. Tables before or after floats are not a problem.</fo:block>
+ <fo:block>
+ Put some content before the float but enough to make the float go to the third line of this block. Just enought content to place the float in the second line is not desirable. <fo:inline color="red">This is the last content before the float and the float is right now.</fo:inline>
+ <fo:float float="end">
+ <fo:block border="1pt solid red" padding="10pt" color="blue" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="110pt">
+ <fo:block background-color="orange">
+ This is a normal block that is confined to the block container inside a side float. The background is orange.
+ </fo:block>
+ </fo:block-container>
+ </fo:block>
+ </fo:float>
+ <fo:inline color="blue">This is the first content after the float.</fo:inline> This paragraph contains a side float and the content of the paragraph needs to be wrapped around the float... this is very complicated but the current implementation can handle the simpler cases.
+ </fo:block>
+ <fo:block>
+ <fo:list-block>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ here is text in the list item body and lets make sure the text is enought to wrap at the edge of the float
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(b)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ here is text in the list item body
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ </fo:block>
+ <fo:block>Content after the list. Floats cannot be handled if next to a list, unless the list starts and ends between the start and the end of the float. Lists before or after a float are not a problem.</fo:block>
+ <fo:block>
+ <fo:list-block >
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ here is text in the list item body
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(b)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ here is text in the list item body
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(c)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ here is text in the list item body
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(d)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ here is text in the list item body
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
+ </fo>
+ <checks>
+ <!-- first float -->
+ <eval expected="132000" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[5]/@left-offset" />
+ <eval expected="C11" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[5]/block[1]/block[1]/block[1]/lineArea[1]" />
+ <eval expected="379000" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[9]/@left-offset" />
+ <eval expected="here is text in the list item body and lets make sure the text is" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[11]/block[1]/block[1]/block[2]/block[1]/lineArea[1]" />
+ </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/float_5.xml b/test/layoutengine/standard-testcases/float_5.xml
new file mode 100644
index 000000000..e43d9d6a9
--- /dev/null
+++ b/test/layoutengine/standard-testcases/float_5.xml
@@ -0,0 +1,138 @@
+<?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 floats.
+ </p>
+ </info>
+ <fo>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master margin="0.25in" master-name="page" page-height="11in" page-width="8.5in">
+ <fo:region-body />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+Did you know... (taken from Wikipedia main page on November 6th, 2014, with the order slightly changed to better show the wrapping around the float)
+ </fo:block>
+ <fo:block>
+From Wikipedia's new and recently improved content:
+ </fo:block>
+ <fo:block>
+ <fo:float float="end">
+ <fo:block border="1pt solid red" padding="5pt" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="120pt">
+ <fo:block background-color="yellow">
+The former dean's house at the University of Wisconsin (this is the alt text of the image in the Wikipedia page)
+ </fo:block>
+ </fo:block-container>
+ </fo:block>
+ </fo:float>
+ </fo:block>
+ <fo:block>
+ <fo:list-block>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that the Queen Anne house (pictured) at the Allen Centennial Gardens was home to four deans of the University of Wisconsin–Madison College of Agricultural and Life Sciences?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that rhapsodomancy was so vague, Virgil wrote against it in The Aeneid?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that Australian physician Claudia Burton Bradley was one of the first diabetics to be treated with insulin?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that Green Bay Packers offensive lineman David Bakhtiari was the first rookie in Packers history to start every game at left tackle in a season since the start of the 16-game season?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that in the Byzantine Empire, the office of orphanotrophos, head of the imperial orphanage, ranked among the higher offices of state?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that the stream Shingle Run is actually named after sawmills?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that while testifying in a 2004 lawsuit involving the meaning of the word steakburger, a corporate CEO was grilled on the witness stand?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
+ </fo>
+ <checks>
+ <!-- first float -->
+ <eval expected="450000" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[4]/@left-offset" />
+ <eval expected="... that the Queen Anne house (pictured) at the Allen Centennial Gardens" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[6]/block[1]/block[1]/block[2]/block[1]/lineArea[1]" />
+ <eval expected="... that Green Bay Packers offensive lineman David Bakhtiari was the first" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[6]/block[1]/block[4]/block[2]/block[1]/lineArea[1]" />
+ <eval expected="rookie in Packers history to start every game at left tackle in a season since the start of the 16-game" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[7]/block[1]/block[1]/block[1]/block[1]/lineArea[1]" />
+ </checks>
+</testcase>
+
+
diff --git a/test/layoutengine/standard-testcases/float_6.xml b/test/layoutengine/standard-testcases/float_6.xml
new file mode 100644
index 000000000..543096a15
--- /dev/null
+++ b/test/layoutengine/standard-testcases/float_6.xml
@@ -0,0 +1,134 @@
+<?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 floats.
+ </p>
+ </info>
+ <fo>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master margin="0.25in" master-name="page" page-height="11in" page-width="8.5in">
+ <fo:region-body />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="page">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block>
+Did you know... (taken from Wikipedia main page on November 6th, 2014, with the order slightly changed to better show the wrapping around the float)
+ </fo:block>
+ <fo:block>
+From Wikipedia's new and recently improved content:
+ </fo:block>
+ <fo:block>
+ <fo:list-block>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that while testifying in a 2004 lawsuit involving the meaning of the word steakburger, a corporate CEO was grilled on the witness stand?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that the Queen Anne house (pictured)
+ <fo:float float="end">
+ <fo:block border="1pt solid red" padding="5pt" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="120pt">
+ <fo:block background-color="yellow">
+The former dean's house at the University of Wisconsin (this is the alt text of the image in the Wikipedia page)
+ </fo:block>
+ </fo:block-container>
+ </fo:block>
+ </fo:float>
+at the Allen Centennial Gardens was home to four deans of the University of Wisconsin–Madison College of Agricultural and Life Sciences?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that rhapsodomancy was so vague, Virgil wrote against it in The Aeneid?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that Australian physician Claudia Burton Bradley was one of the first diabetics to be treated with insulin?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that Green Bay Packers offensive lineman David Bakhtiari was the first rookie in Packers history to start every game at left tackle in a season since the start of the 16-game season?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that in the Byzantine Empire, the office of orphanotrophos, head of the imperial orphanage, ranked among the higher offices of state?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>&#x2022;</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+... that the stream Shingle Run is actually named after sawmills?
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
+ </fo>
+ <checks>
+ <!-- first float -->
+ <eval expected="450000" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[4]/@left-offset" />
+ <eval expected="... that the Queen Anne house (pictured) at the Allen Centennial Gardens" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[5]/block[1]/block[1]/block[2]/block[1]/lineArea[1]" />
+ <eval expected="was home to four deans of the University of Wisconsin–Madison College of" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[5]/block[1]/block[1]/block[2]/block[1]/lineArea[2]" />
+ </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/float_7.xml b/test/layoutengine/standard-testcases/float_7.xml
new file mode 100644
index 000000000..6e51ea946
--- /dev/null
+++ b/test/layoutengine/standard-testcases/float_7.xml
@@ -0,0 +1,107 @@
+<?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 floats.
+ </p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="simple" page-height="5in" page-width="5in" margin="0.2in">
+ <fo:region-body />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="simple">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block font-size="12pt" space-before="3pt" text-indent="0.75cm" text-align="justify">
+ Footnote in normal block before a float.<fo:footnote>
+ <fo:inline font-size="60%" baseline-shift="super">1)</fo:inline>
+ <fo:footnote-body>
+ <fo:block start-indent="0.5cm" text-indent="-0.5cm">
+ <fo:inline font-size="60%" baseline-shift="super">1)</fo:inline> The footnote from the normal block before the float.</fo:block>
+ </fo:footnote-body>
+ </fo:footnote>.
+ </fo:block>
+ <fo:list-block provisional-distance-between-starts="30pt" provisional-label-separation="10pt">
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ Test for float and footnote inside a list. Test for float and footnote inside a list. Test for float and footnote inside a list. (see box)
+ <fo:float float="end">
+ <fo:block border="1pt solid red" padding="5pt" end-indent="0pt" start-indent="0pt">
+ <fo:block-container inline-progression-dimension="120pt">
+ <fo:block background-color="yellow">
+The former dean's house at the University of Wisconsin (this is the alt text of the image in the Wikipedia page)
+ </fo:block>
+ </fo:block-container>
+ </fo:block>
+ </fo:float>
+ Test for float and footnote inside a list. Test for float and footnote inside a list.
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(b)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+ Footnote in list that is being wrapped around a float.<fo:footnote>
+ <fo:inline font-size="60%" baseline-shift="super">2)</fo:inline>
+ <fo:footnote-body>
+ <fo:block start-indent="0.5cm" text-indent="-0.5cm">
+ <fo:inline font-size="60%" baseline-shift="super">2)</fo:inline> The footnote from the list that is being wrapped around a float.</fo:block>
+ </fo:footnote-body>
+ </fo:footnote>.
+ Test for float and footnote inside a list. Test for float and footnote inside a list. Test for float and footnote inside a list. Test for float and footnote inside a list. Test for float and footnote inside a list.
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ <fo:block font-size="12pt" space-before="3pt" text-indent="0.75cm" text-align="justify">
+ Footnote in normal block after the float.<fo:footnote>
+ <fo:inline font-size="60%" baseline-shift="super">3)</fo:inline>
+ <fo:footnote-body>
+ <fo:block start-indent="0.5cm" text-indent="-0.5cm">
+ <fo:inline font-size="60%" baseline-shift="super">3)</fo:inline> The footnote from the normal block after the float.</fo:block>
+ </fo:footnote-body>
+ </fo:footnote>.
+ </fo:block>
+ <fo:block>
+Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text.
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <!-- footnotes -->
+ <eval expected="265113" xpath="//pageViewport[1]/page/regionViewport[1]//footnote[1]/@top-offset" />
+ <eval expected="1) The footnote from the normal block before the float." xpath="//pageViewport[1]/page/regionViewport[1]//footnote[1]/block[1]/lineArea[1]" />
+ <eval expected="2) The footnote from the list that is being wrapped around a" xpath="//pageViewport[1]/page/regionViewport[1]//footnote[1]/block[2]/lineArea[1]" />
+ <eval expected="3) The footnote from the normal block after the float." xpath="//pageViewport[1]/page/regionViewport[1]//footnote[1]/block[3]/lineArea[1]" />
+ <!-- last line in second page -->
+ <eval expected="text. Some filler text. Some filler text. Some filler text." xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[1]/lineArea[11]" />
+ </checks>
+</testcase>
diff --git a/test/layoutengine/standard-testcases/flow_changing-ipd_4.xml b/test/layoutengine/standard-testcases/flow_changing-ipd_4.xml
index fe166d05c..4b0aea093 100644
--- a/test/layoutengine/standard-testcases/flow_changing-ipd_4.xml
+++ b/test/layoutengine/standard-testcases/flow_changing-ipd_4.xml
@@ -19,8 +19,7 @@
<testcase>
<info>
<p>
- This test checks that non-restartable elements still show up at IPD change, even if not
- re-laid out.
+ This test checks that a list can be relaid out when a change in ipd happens across pages.
</p>
</info>
<fo>
@@ -140,13 +139,13 @@
<eval expected="olden" xpath="//pageSequence[1]/pageViewport[2]//flow/block[2]//lineArea[1]/text/word[2]"/>
<!-- Second page sequence – list -->
- <eval expected="300000" xpath="//pageSequence[2]/pageViewport[2]//flow/block[1]/@ipd"/>
+ <eval expected="500000" xpath="//pageSequence[2]/pageViewport[2]//flow/block[1]/@ipd"/>
<eval expected="b2_4" xpath="//pageSequence[2]/pageViewport[2]//flow/block[1]/block/block[2]/block/@prod-id"/>
<eval expected="In" xpath="//pageSequence[2]/pageViewport[2]//flow/block[1]/block/block[2]/block/lineArea[1]/text/word[1]"/>
<eval expected="olden" xpath="//pageSequence[2]/pageViewport[2]//flow/block[1]/block/block[2]/block/lineArea[1]/text/word[2]"/>
- <eval expected="was" xpath="//pageSequence[2]/pageViewport[2]//flow/block[1]/block/block[2]/block/lineArea[4]/text/word[position()=last()-1]"/>
+ <eval expected="was" xpath="//pageSequence[2]/pageViewport[2]//flow/block[1]/block/block[2]/block/lineArea[3]/text/word[position()=last()-1]"/>
<eval expected="astonished…"
- xpath="//pageSequence[2]/pageViewport[2]//flow/block[1]/block/block[2]/block/lineArea[4]/text/word[position()=last()]"/>
+ xpath="//pageSequence[2]/pageViewport[2]//flow/block[1]/block/block[2]/block/lineArea[3]/text/word[position()=last()]"/>
<eval expected="b2_5" xpath="//pageSequence[2]/pageViewport[2]//flow/block[2]/@prod-id"/>
<eval expected="500000" xpath="//pageSequence[2]/pageViewport[2]//flow/block[2]/@ipd"/>
diff --git a/test/layoutengine/standard-testcases/flow_changing-ipd_5.xml b/test/layoutengine/standard-testcases/flow_changing-ipd_5.xml
new file mode 100644
index 000000000..a027ff108
--- /dev/null
+++ b/test/layoutengine/standard-testcases/flow_changing-ipd_5.xml
@@ -0,0 +1,142 @@
+<?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 a list can be relaid out when a change in ipd happens across pages.
+ </p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="narrow" page-height="200pt" page-width="400pt" margin="50pt">
+ <fo:region-body background-color="#F0F0F0"/>
+ </fo:simple-page-master>
+ <fo:simple-page-master master-name="wide" page-height="200pt" page-width="600pt" margin="50pt">
+ <fo:region-body background-color="#F0F0F0"/>
+ </fo:simple-page-master>
+ <fo:page-sequence-master master-name="pages">
+ <fo:single-page-master-reference master-reference="narrow"/>
+ <fo:repeatable-page-master-reference master-reference="wide"/>
+ </fo:page-sequence-master>
+ <fo:page-sequence-master master-name="alternate">
+ <fo:repeatable-page-master-alternatives>
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="wide"/>
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="narrow"/>
+ </fo:repeatable-page-master-alternatives>
+ </fo:page-sequence-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="alternate">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block widows="1" orphans="1">
+ <fo:list-block>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+In olden times when wishing still helped one, there lived a king whose daughters were all beautiful, but the youngest was so beautiful that the sun itself, which has seen so much, was astonished whenever it shone in her face.
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+In olden times when wishing still helped one, there lived a king whose daughters were all beautiful, but the youngest was so beautiful that the sun itself, which has seen so much, was astonished whenever it shone in her face.
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+In olden times when wishing still helped one, there lived a king whose daughters were all beautiful, but the youngest was so beautiful that the sun itself, which has seen so much, was astonished whenever it shone in her face.
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+In olden times when wishing still helped one, there lived a king whose daughters were all beautiful, but the youngest was so beautiful that the sun itself, which has seen so much, was astonished whenever it shone in her face.
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+In olden times when wishing still helped one, there lived a king whose daughters were all beautiful, but the youngest was so beautiful that the sun itself, which has seen so much, was astonished whenever it shone in her face.
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+In olden times when wishing still helped one, there lived a king whose daughters were all beautiful, but the youngest was so beautiful that the sun itself, which has seen so much, was astonished whenever it shone in her face.
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+In olden times when wishing still helped one, there lived a king whose daughters were all beautiful, but the youngest was so beautiful that the sun itself, which has seen so much, was astonished whenever it shone in her face.
+ </fo:block>
+ </fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label end-indent="label-end()">
+ <fo:block>(a)</fo:block>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <fo:block>
+In olden times when wishing still helped one, there lived a king whose daughters were all beautiful, but the youngest was so beautiful that the sun itself, which has seen so much, was astonished whenever it shone in her face.
+ </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="In olden times when wishing still helped one, there lived a king whose daughters were all" xpath="//pageViewport[1]/page/regionViewport[1]//flow[1]/block[1]/block[1]/block[1]/block[2]/block[1]/lineArea[1]" />
+ <eval expected="In olden times when wishing still helped one, there" xpath="//pageViewport[2]/page/regionViewport[1]//flow[1]/block[1]/block[1]/block[1]/block[2]/block[1]/lineArea[1]" />
+ <eval expected="lived a king whose daughters were all beautiful, but the youngest was so beautiful that" xpath="//pageViewport[3]/page/regionViewport[1]//flow[1]/block[1]/block[1]/block[1]/block[1]/block[1]/lineArea[1]" />
+ <eval expected="beautiful, but the youngest was so beautiful that the" xpath="//pageViewport[4]/page/regionViewport[1]//flow[1]/block[1]/block[1]/block[1]/block[1]/block[1]/lineArea[1]" />
+ <eval expected="itself, which has seen so much, was astonished whenever it shone in her face." xpath="//pageViewport[5]/page/regionViewport[1]//flow[1]/block[1]/block[1]/block[1]/block[1]/block[1]/lineArea[1]" />
+ </checks>
+</testcase>