Browse Source

More table test cases.

table-cell3a currently fails because of a table-row handling problem.


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198388 13f79535-47bb-0310-9956-ffa450edef68
tags/Root_Temp_KnuthStylePageBreaking
Jeremias Maerki 19 years ago
parent
commit
d7060e85f1

+ 1
- 2
test/layoutengine/disabled-testcases.txt View File

@@ -1,5 +1,4 @@
breaks1.xml
breaks2.xml
markers5a.xml
table-row1.xml
table-cell1.xml
table-cell3a.xml

+ 87
- 0
test/layoutengine/testcases/table-cell2.xml View File

@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2005 The Apache Software Foundation

Licensed 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 tables, especially table-cells. This test: page break.
</p>
</info>
<fo>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
<fo:layout-master-set>
<fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="normal" white-space-collapse="true">
<fo:flow flow-name="xsl-region-body">
<fo:table table-layout="fixed">
<fo:table-column column-width="2in"/>
<fo:table-column column-width="3in"/>
<fo:table-body>
<fo:table-row height="4in">
<fo:table-cell>
<fo:block>cell1</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>cell2</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>cell3</fo:block>
</fo:table-cell>
<fo:table-cell background-color="orange">
<fo:block>
<fo:block>cell4a</fo:block>
<fo:block>cell4b</fo:block>
<fo:block>cell4c</fo:block>
<fo:block>cell4d</fo:block>
<fo:block>cell4e</fo:block>
<fo:block>cell4f</fo:block>
<fo:block>cell4g</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>cell5</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>cell6</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<!-- page 1 -->
<eval expected="cell4a" xpath="//pageViewport[1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[4]/block[1]/block[1]/lineArea"/>
<eval expected="cell4b" xpath="//pageViewport[1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[4]/block[1]/block[2]/lineArea"/>
<eval expected="cell4c" xpath="//pageViewport[1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[4]/block[1]/block[3]/lineArea"/>
<eval expected="cell4d" xpath="//pageViewport[1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[4]/block[1]/block[4]/lineArea"/>
<eval expected="cell4e" xpath="//pageViewport[1]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[4]/block[1]/block[5]/lineArea"/>

<!-- page 2 -->
<eval expected="cell4f" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/block[1]/block[1]/lineArea"/>
<eval expected="cell4g" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/block[1]/block[2]/lineArea"/>
</checks>
</testcase>

+ 99
- 0
test/layoutengine/testcases/table-cell3.xml View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2005 The Apache Software Foundation

Licensed 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 tables, especially table-cells. This test: display-align.
</p>
</info>
<fo>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
<fo:layout-master-set>
<fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="normal" white-space-collapse="true">
<fo:flow flow-name="xsl-region-body">
<fo:table table-layout="fixed">
<fo:table-column column-width="2in"/>
<fo:table-column column-width="3in"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block>cell1</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>cell2</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>cell3</fo:block>
</fo:table-cell>
<fo:table-cell height="40pt" background-color="orange" display-align="before">
<fo:block>cell4</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>cell5</fo:block>
</fo:table-cell>
<fo:table-cell height="40pt" background-color="yellow" display-align="center">
<fo:block>cell6</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>cell7</fo:block>
</fo:table-cell>
<fo:table-cell height="40pt" background-color="orange" display-align="after">
<fo:block>cell8</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>cell9</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>cell10</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<eval expected="cell2" xpath="//flow/block[1]/block[2]/block[1]/lineArea"/>
<eval expected="14400" xpath="//flow/block[1]/block[2]/block[1]/@bpd"/>
<eval expected="14400" xpath="//flow/block[1]/block[2]/@bpd"/>
<eval expected="cell4" xpath="//flow/block[1]/block[4]/block[1]/lineArea"/>
<eval expected="14400" xpath="//flow/block[1]/block[4]/block[1]/@bpd"/>
<eval expected="40000" xpath="//flow/block[1]/block[4]/@bpd"/>
<eval expected="cell6" xpath="//flow/block[1]/block[6]/block[2]/lineArea"/>
<eval expected="12800" xpath="//flow/block[1]/block[6]/block[1]/@bpd"/> <!-- spacer -->
<eval expected="14400" xpath="//flow/block[1]/block[6]/block[2]/@bpd"/>
<eval expected="40000" xpath="//flow/block[1]/block[6]/@bpd"/>
<eval expected="cell8" xpath="//flow/block[1]/block[8]/block[2]/lineArea"/>
<eval expected="25600" xpath="//flow/block[1]/block[8]/block[1]/@bpd"/> <!-- spacer -->
<eval expected="14400" xpath="//flow/block[1]/block[8]/block[2]/@bpd"/>
<eval expected="40000" xpath="//flow/block[1]/block[8]/@bpd"/>
</checks>
</testcase>

+ 87
- 0
test/layoutengine/testcases/table-cell3a.xml View File

@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2005 The Apache Software Foundation

Licensed 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 tables, especially table-cells. This test: display-align with page break.
</p>
</info>
<fo>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
<fo:layout-master-set>
<fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="normal" white-space-collapse="true">
<fo:flow flow-name="xsl-region-body">
<fo:table table-layout="fixed">
<fo:table-column column-width="2in"/>
<fo:table-column column-width="3in"/>
<fo:table-body>
<fo:table-row height="4in">
<fo:table-cell>
<fo:block>cell1</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>cell2</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>cell3</fo:block>
</fo:table-cell>
<fo:table-cell height="2in" background-color="orange" display-align="center">
<fo:block>
<fo:block>cell4a</fo:block>
<fo:block>cell4b</fo:block>
<fo:block>cell4c</fo:block>
<fo:block>cell4d</fo:block>
<fo:block>cell4e</fo:block>
<fo:block>cell4f</fo:block>
<fo:block>cell4g</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block>cell5</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>cell6</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<!-- cell3 should be on page 3 which it currently isn't -->
<eval expected="cell3" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/block[1]/lineArea"/>
<eval expected="21600" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[2]/block[1]/@bpd"/> <!-- spacer -->
<eval expected="cell4a" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[2]/block[2]/lineArea"/>
<eval expected="cell4b" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[2]/block[3]/lineArea"/>
<eval expected="cell4c" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[2]/block[4]/lineArea"/>
<eval expected="cell4d" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[2]/block[5]/lineArea"/>
<eval expected="cell4e" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[2]/block[6]/lineArea"/>
<eval expected="cell4f" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[2]/block[7]/lineArea"/>
<eval expected="cell4g" xpath="//pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]/block[2]/block[8]/lineArea"/>
</checks>
</testcase>

+ 117
- 0
test/layoutengine/testcases/table2.xml View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2005 The Apache Software Foundation

Licensed 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 basic tables. Tests spaces table spaces, borders and padding.
</p>
</info>
<fo>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
<fo:layout-master-set>
<fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="normal" white-space-collapse="true">
<fo:flow flow-name="xsl-region-body">
<fo:block background-color="orange">before table</fo:block>
<fo:table table-layout="fixed" space-before="5pt" space-after="10pt" margin-left="5pt" margin-right="10pt" border="solid 5pt" padding="5pt" width="4in + 15pt + 10pt + 10pt">
<fo:table-column column-width="2in"/>
<fo:table-column column-width="2in"/>
<fo:table-body start-indent="0pt" end-indent="0pt">
<fo:table-row>
<fo:table-cell>
<fo:block>cell1</fo:block>
</fo:table-cell>
<fo:table-cell background-color="yellow">
<fo:block>cell2</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell background-color="orange">
<fo:block text-align="end">cell3</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>cell4</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<fo:block background-color="orange">after table</fo:block>
<fo:block space-before="5pt" space-after="10pt" margin-left="5pt" margin-right="10pt" border="solid 5pt" padding="5pt" width="100%">
reference block
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<!-- spaces -->
<eval expected="5000" xpath="//flow/block[2]/@bpd"/>
<eval expected="10000" xpath="//flow/block[4]/@bpd"/>

<!-- table dimensions -->
<eval expected="308000" xpath="//flow/block[3]/@ipda"/>
<eval expected="288000" xpath="//flow/block[3]/@ipd"/>
<eval expected="48800" xpath="//flow/block[3]/@bpda"/>
<eval expected="28800" xpath="//flow/block[3]/@bpd"/>
<!-- cell 1 -->
<true xpath="//flow/block[3]/block[1]/@is-reference-area"/>
<eval expected="15000" xpath="//flow/block[3]/block[1]/@left-offset"/>
<true xpath="not(boolean(//flow/block[3]/block[1]/@top-offset)) or (//flow/block[3]/block[1]/@top-offset = 0)"/>
<eval expected="144000" xpath="//flow/block[3]/block[1]/@ipd"/>
<eval expected="14400" xpath="//flow/block[3]/block[1]/@bpd"/>
<eval expected="144000" xpath="//flow/block[3]/block[1]/block[1]/@ipd"/>
<eval expected="14400" xpath="//flow/block[3]/block[1]/block[1]/@bpd"/>
<eval expected="cell1" xpath="//flow/block[3]/block[1]/block[1]/lineArea/text"/>

<!-- cell 2 -->
<true xpath="//flow/block[3]/block[2]/@is-reference-area"/>
<eval expected="159000" xpath="//flow/block[3]/block[2]/@left-offset"/>
<true xpath="not(boolean(//flow/block[3]/block[2]/@top-offset)) or (//flow/block[3]/block[2]/@top-offset = 0)"/>
<eval expected="144000" xpath="//flow/block[3]/block[2]/@ipd"/>
<eval expected="14400" xpath="//flow/block[3]/block[2]/@bpd"/>
<eval expected="144000" xpath="//flow/block[3]/block[2]/block[1]/@ipd"/>
<eval expected="14400" xpath="//flow/block[3]/block[2]/block[1]/@bpd"/>
<eval expected="cell2" xpath="//flow/block[3]/block[2]/block[1]/lineArea/text"/>
<eval expected="color=#ffff00,repeat=0,horiz=0,vertical=0" xpath="//flow/block[3]/block[2]/@background"/>

<!-- cell 3 -->
<true xpath="//flow/block[3]/block[3]/@is-reference-area"/>
<eval expected="15000" xpath="//flow/block[3]/block[3]/@left-offset"/>
<eval expected="14400" xpath="//flow/block[3]/block[3]/@top-offset"/>
<eval expected="144000" xpath="//flow/block[3]/block[3]/@ipd"/>
<eval expected="14400" xpath="//flow/block[3]/block[3]/@bpd"/>
<eval expected="144000" xpath="//flow/block[3]/block[3]/block[1]/@ipd"/>
<eval expected="14400" xpath="//flow/block[3]/block[3]/block[1]/@bpd"/>
<eval expected="cell3" xpath="//flow/block[3]/block[3]/block[1]/lineArea/text"/>
<eval expected="color=#ffa500,repeat=0,horiz=0,vertical=0" xpath="//flow/block[3]/block[3]/@background"/>

<!-- cell 4 -->
<true xpath="//flow/block[3]/block[4]/@is-reference-area"/>
<eval expected="159000" xpath="//flow/block[3]/block[4]/@left-offset"/>
<eval expected="14400" xpath="//flow/block[3]/block[4]/@top-offset"/>
<eval expected="144000" xpath="//flow/block[3]/block[4]/@ipd"/>
<eval expected="14400" xpath="//flow/block[3]/block[4]/@bpd"/>
<eval expected="144000" xpath="//flow/block[3]/block[4]/block[1]/@ipd"/>
<eval expected="14400" xpath="//flow/block[3]/block[4]/block[1]/@bpd"/>
<eval expected="cell4" xpath="//flow/block[3]/block[4]/block[1]/lineArea/text"/>
</checks>
</testcase>

Loading…
Cancel
Save