diff options
author | Vincent Hennebert <vhennebert@apache.org> | 2007-04-20 19:18:02 +0000 |
---|---|---|
committer | Vincent Hennebert <vhennebert@apache.org> | 2007-04-20 19:18:02 +0000 |
commit | b6fcfcbe1eacee2d008a3cbb30c0ff7c8a4a3b43 (patch) | |
tree | e0adf6b8ea1d0cc30950dd512e1d674b84a5ab81 /test | |
parent | 9590ee0eb04c2eb13e06c175caeb8108cc5d406c (diff) | |
download | xmlgraphics-fop-b6fcfcbe1eacee2d008a3cbb30c0ff7c8a4a3b43.tar.gz xmlgraphics-fop-b6fcfcbe1eacee2d008a3cbb30c0ff7c8a4a3b43.zip |
First testcases for the collapsing-border model in tables
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@530894 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test')
4 files changed, 771 insertions, 0 deletions
diff --git a/test/layoutengine/standard-testcases/table_border-collapse_collapse_1r1c.xml b/test/layoutengine/standard-testcases/table_border-collapse_collapse_1r1c.xml new file mode 100644 index 000000000..4a2f1d7b8 --- /dev/null +++ b/test/layoutengine/standard-testcases/table_border-collapse_collapse_1r1c.xml @@ -0,0 +1,168 @@ +<?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 tables with collapse border model. Tables with only one cell. + </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="15cm" page-height="10cm" margin="20pt"> + <fo:region-body margin="0pt"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="normal"> + <fo:flow flow-name="xsl-region-body"> + <fo:block>Before the tables</fo:block> + + <!-- table 1 --> + <fo:table table-layout="fixed" width="100pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="4pt solid black"> + <fo:block>Cell 1</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>Between tables</fo:block> + + <!-- table 2 --> + <fo:table table-layout="fixed" width="100pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="4pt solid black"> + <fo:block>Cell 1 Cell 1 Cell 1 Cell 1</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>Between tables</fo:block> + + <!-- table 3 --> + <fo:table table-layout="fixed" width="100pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell + border-top="4pt solid black" + border-bottom="6pt solid blue" + border-left="8pt solid red" + border-right="10pt solid orange"> + <fo:block>Cell 1</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>Between tables</fo:block> + + <!-- table 4 --> + <fo:table table-layout="fixed" width="100pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell + border-top="4pt solid black" + border-bottom="6pt solid blue" + border-left="8pt solid red" + border-right="10pt solid orange"> + <fo:block>Cell 1 Cell 1 Cell 1 Cell 1</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>After the tables</fo:block> + </fo:flow> + </fo:page-sequence> + </fo:root> + </fo> + <checks> + <!-- table 1 --> + <eval expected="100000" xpath="//flow/block[2]/@ipd"/> + <eval expected="100000" xpath="//flow/block[2]/@ipda"/> + <eval expected="18400" xpath="//flow/block[2]/@bpd"/> + <eval expected="18400" xpath="//flow/block[2]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="96000" xpath="//flow/block[2]/block[1]/@ipd"/> + <eval expected="104000" xpath="//flow/block[2]/block[1]/@ipda"/> + <eval expected="14400" xpath="//flow/block[2]/block[1]/@bpd"/> + <eval expected="22400" xpath="//flow/block[2]/block[1]/@bpda"/> + <eval expected="2000" xpath="//flow/block[2]/block[1]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[2]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-before"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-after"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-start"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-end"/> + + <!-- table 2 --> + <eval expected="100000" xpath="//flow/block[4]/@ipd"/> + <eval expected="100000" xpath="//flow/block[4]/@ipda"/> + <eval expected="32800" xpath="//flow/block[4]/@bpd"/> + <eval expected="32800" xpath="//flow/block[4]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="96000" xpath="//flow/block[4]/block[1]/@ipd"/> + <eval expected="104000" xpath="//flow/block[4]/block[1]/@ipda"/> + <eval expected="28800" xpath="//flow/block[4]/block[1]/@bpd"/> + <eval expected="36800" xpath="//flow/block[4]/block[1]/@bpda"/> + <eval expected="2000" xpath="//flow/block[4]/block[1]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[4]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-before"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-after"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-start"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-end"/> + + <!-- table 3 --> + <eval expected="100000" xpath="//flow/block[6]/@ipd"/> + <eval expected="100000" xpath="//flow/block[6]/@ipda"/> + <eval expected="19400" xpath="//flow/block[6]/@bpd"/> + <eval expected="19400" xpath="//flow/block[6]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="91000" xpath="//flow/block[6]/block[1]/@ipd"/> + <eval expected="109000" xpath="//flow/block[6]/block[1]/@ipda"/> + <eval expected="14400" xpath="//flow/block[6]/block[1]/@bpd"/> + <eval expected="24400" xpath="//flow/block[6]/block[1]/@bpda"/> + <eval expected="4000" xpath="//flow/block[6]/block[1]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[6]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-before"/> + <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,8000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-start"/> + <eval expected="(solid,#ffa500,10000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-end"/> + + <!-- table 4 --> + <eval expected="100000" xpath="//flow/block[8]/@ipd"/> + <eval expected="100000" xpath="//flow/block[8]/@ipda"/> + <eval expected="33800" xpath="//flow/block[8]/@bpd"/> + <eval expected="33800" xpath="//flow/block[8]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="91000" xpath="//flow/block[8]/block[1]/@ipd"/> + <eval expected="109000" xpath="//flow/block[8]/block[1]/@ipda"/> + <eval expected="28800" xpath="//flow/block[8]/block[1]/@bpd"/> + <eval expected="38800" xpath="//flow/block[8]/block[1]/@bpda"/> + <eval expected="4000" xpath="//flow/block[8]/block[1]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[8]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-before"/> + <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,8000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-start"/> + <eval expected="(solid,#ffa500,10000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-end"/> + </checks> +</testcase> diff --git a/test/layoutengine/standard-testcases/table_border-collapse_collapse_1r2c.xml b/test/layoutengine/standard-testcases/table_border-collapse_collapse_1r2c.xml new file mode 100644 index 000000000..f7f544dd3 --- /dev/null +++ b/test/layoutengine/standard-testcases/table_border-collapse_collapse_1r2c.xml @@ -0,0 +1,232 @@ +<?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 tables with collapse border model. Tables of one row two columns. + </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="15cm" page-height="10cm" margin="20pt"> + <fo:region-body margin="0pt"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="normal"> + <fo:flow flow-name="xsl-region-body"> + <fo:block>Before the tables</fo:block> + + <!-- table 1 --> + <fo:table table-layout="fixed" width="200pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="6pt solid black"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="4pt solid blue"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>Between tables</fo:block> + + <!-- table 2 --> + <fo:table table-layout="fixed" width="200pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="10pt solid black"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="4pt solid blue"> + <fo:block>Cell 1.2 Cell 1.2 Cell 1.2 Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>Between tables</fo:block> + + <!-- table 3 --> + <fo:table table-layout="fixed" width="200pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell + border-top="4pt solid black" + border-bottom="6pt solid blue" + border-left="8pt solid red" + border-right="4pt solid orange"> + <fo:block>cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top="8pt solid gray" + border-bottom="4pt solid navy" + border-left="8pt solid purple" + border-right="10pt solid yellow"> + <fo:block>cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>Between tables</fo:block> + + <!-- table 4 --> + <fo:table table-layout="fixed" width="200pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell + border-top="6pt solid black" + border-bottom="6pt solid blue" + border-left="8pt solid red" + border-right="4pt solid orange"> + <fo:block>cell1.1 cell1.1 cell1.1 cell1.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top="4pt solid gray" + border-bottom="8pt solid navy" + border-left="8pt solid purple" + border-right="6pt solid yellow"> + <fo:block>cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>After the tables</fo:block> + </fo:flow> + </fo:page-sequence> + </fo:root> + </fo> + <checks> + <!-- table 1 --> + <eval expected="200000" xpath="//flow/block[2]/@ipd"/> + <eval expected="200000" xpath="//flow/block[2]/@ipda"/> + <eval expected="20400" xpath="//flow/block[2]/@bpd"/> + <eval expected="20400" xpath="//flow/block[2]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="94000" xpath="//flow/block[2]/block[1]/@ipd"/> + <eval expected="106000" xpath="//flow/block[2]/block[1]/@ipda"/> + <eval expected="14400" xpath="//flow/block[2]/block[1]/@bpd"/> + <eval expected="26400" xpath="//flow/block[2]/block[1]/@bpda"/> + <eval expected="3000" xpath="//flow/block[2]/block[1]/@left-offset"/> + <eval expected="-3000" xpath="//flow/block[2]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,6000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-before"/> + <eval expected="(solid,#000000,6000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-after"/> + <eval expected="(solid,#000000,6000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-start"/> + <eval expected="(solid,#000000,6000,collapse-inner)" xpath="//flow/block[2]/block[1]/@border-end"/> + <!-- row 1 cell 2 --> + <eval expected="95000" xpath="//flow/block[2]/block[2]/@ipd"/> + <eval expected="105000" xpath="//flow/block[2]/block[2]/@ipda"/> + <eval expected="16400" xpath="//flow/block[2]/block[2]/@bpd"/> + <eval expected="24400" xpath="//flow/block[2]/block[2]/@bpda"/> + <eval expected="103000" xpath="//flow/block[2]/block[2]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[2]/block[2]/@top-offset"/> + <eval expected="(solid,#0000ff,4000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-before"/> + <eval expected="(solid,#0000ff,4000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-after"/> + <eval expected="(solid,#000000,6000,collapse-inner)" xpath="//flow/block[2]/block[2]/@border-start"/> + <eval expected="(solid,#0000ff,4000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-end"/> + + <!-- table 2 --> + <eval expected="200000" xpath="//flow/block[4]/@ipd"/> + <eval expected="200000" xpath="//flow/block[4]/@ipda"/> + <eval expected="32800" xpath="//flow/block[4]/@bpd"/> + <eval expected="32800" xpath="//flow/block[4]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="90000" xpath="//flow/block[4]/block[1]/@ipd"/> + <eval expected="110000" xpath="//flow/block[4]/block[1]/@ipda"/> + <eval expected="22800" xpath="//flow/block[4]/block[1]/@bpd"/> + <eval expected="42800" xpath="//flow/block[4]/block[1]/@bpda"/> + <eval expected="5000" xpath="//flow/block[4]/block[1]/@left-offset"/> + <eval expected="-5000" xpath="//flow/block[4]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,10000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-before"/> + <eval expected="(solid,#000000,10000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-after"/> + <eval expected="(solid,#000000,10000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-start"/> + <eval expected="(solid,#000000,10000,collapse-inner)" xpath="//flow/block[4]/block[1]/@border-end"/> + <!-- row 1 cell 2 --> + <eval expected="93000" xpath="//flow/block[4]/block[2]/@ipd"/> + <eval expected="107000" xpath="//flow/block[4]/block[2]/@ipda"/> + <eval expected="28800" xpath="//flow/block[4]/block[2]/@bpd"/> + <eval expected="36800" xpath="//flow/block[4]/block[2]/@bpda"/> + <eval expected="105000" xpath="//flow/block[4]/block[2]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[4]/block[2]/@top-offset"/> + <eval expected="(solid,#0000ff,4000,collapse-outer)" xpath="//flow/block[4]/block[2]/@border-before"/> + <eval expected="(solid,#0000ff,4000,collapse-outer)" xpath="//flow/block[4]/block[2]/@border-after"/> + <eval expected="(solid,#000000,10000,collapse-inner)" xpath="//flow/block[4]/block[2]/@border-start"/> + <eval expected="(solid,#0000ff,4000,collapse-outer)" xpath="//flow/block[4]/block[2]/@border-end"/> + + <!-- table 3 --> + <eval expected="200000" xpath="//flow/block[6]/@ipd"/> + <eval expected="200000" xpath="//flow/block[6]/@ipda"/> + <eval expected="20400" xpath="//flow/block[6]/@bpd"/> + <eval expected="20400" xpath="//flow/block[6]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="92000" xpath="//flow/block[6]/block[1]/@ipd"/> + <eval expected="108000" xpath="//flow/block[6]/block[1]/@ipda"/> + <eval expected="15400" xpath="//flow/block[6]/block[1]/@bpd"/> + <eval expected="25400" xpath="//flow/block[6]/block[1]/@bpda"/> + <eval expected="4000" xpath="//flow/block[6]/block[1]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[6]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-before"/> + <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,8000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-start"/> + <eval expected="(solid,#800080,8000,collapse-inner)" xpath="//flow/block[6]/block[1]/@border-end"/> + <!-- row 1 cell 2 --> + <eval expected="91000" xpath="//flow/block[6]/block[2]/@ipd"/> + <eval expected="109000" xpath="//flow/block[6]/block[2]/@ipda"/> + <eval expected="14400" xpath="//flow/block[6]/block[2]/@bpd"/> + <eval expected="26400" xpath="//flow/block[6]/block[2]/@bpda"/> + <eval expected="104000" xpath="//flow/block[6]/block[2]/@left-offset"/> + <eval expected="-4000" xpath="//flow/block[6]/block[2]/@top-offset"/> + <eval expected="(solid,#808080,8000,collapse-outer)" xpath="//flow/block[6]/block[2]/@border-before"/> + <eval expected="(solid,#000080,4000,collapse-outer)" xpath="//flow/block[6]/block[2]/@border-after"/> + <eval expected="(solid,#800080,8000,collapse-inner)" xpath="//flow/block[6]/block[2]/@border-start"/> + <eval expected="(solid,#ffff00,10000,collapse-outer)" xpath="//flow/block[6]/block[2]/@border-end"/> + + <!-- table 4 --> + <eval expected="200000" xpath="//flow/block[8]/@ipd"/> + <eval expected="200000" xpath="//flow/block[8]/@ipda"/> + <eval expected="34800" xpath="//flow/block[8]/@bpd"/> + <eval expected="34800" xpath="//flow/block[8]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="92000" xpath="//flow/block[8]/block[1]/@ipd"/> + <eval expected="108000" xpath="//flow/block[8]/block[1]/@ipda"/> + <eval expected="28800" xpath="//flow/block[8]/block[1]/@bpd"/> + <eval expected="40800" xpath="//flow/block[8]/block[1]/@bpda"/> + <eval expected="4000" xpath="//flow/block[8]/block[1]/@left-offset"/> + <eval expected="-3000" xpath="//flow/block[8]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,6000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-before"/> + <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,8000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-start"/> + <eval expected="(solid,#800080,8000,collapse-inner)" xpath="//flow/block[8]/block[1]/@border-end"/> + <!-- row 1 cell 2 --> + <eval expected="93000" xpath="//flow/block[8]/block[2]/@ipd"/> + <eval expected="107000" xpath="//flow/block[8]/block[2]/@ipda"/> + <eval expected="28800" xpath="//flow/block[8]/block[2]/@bpd"/> + <eval expected="40800" xpath="//flow/block[8]/block[2]/@bpda"/> + <eval expected="104000" xpath="//flow/block[8]/block[2]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[8]/block[2]/@top-offset"/> + <eval expected="(solid,#808080,4000,collapse-outer)" xpath="//flow/block[8]/block[2]/@border-before"/> + <eval expected="(solid,#000080,8000,collapse-outer)" xpath="//flow/block[8]/block[2]/@border-after"/> + <eval expected="(solid,#800080,8000,collapse-inner)" xpath="//flow/block[8]/block[2]/@border-start"/> + <eval expected="(solid,#ffff00,6000,collapse-outer)" xpath="//flow/block[8]/block[2]/@border-end"/> + </checks> +</testcase> diff --git a/test/layoutengine/standard-testcases/table_border-collapse_collapse_2r1c.xml b/test/layoutengine/standard-testcases/table_border-collapse_collapse_2r1c.xml new file mode 100644 index 000000000..0f749ec50 --- /dev/null +++ b/test/layoutengine/standard-testcases/table_border-collapse_collapse_2r1c.xml @@ -0,0 +1,240 @@ +<?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 tables with collapse border model. Tables of two rows one column. + </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="15cm" page-height="15cm" margin="20pt"> + <fo:region-body margin="0pt"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="normal"> + <fo:flow flow-name="xsl-region-body"> + <fo:block>Before the tables</fo:block> + + <!-- table 1 --> + <fo:table table-layout="fixed" width="100pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="4pt solid black"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell border="6pt solid blue"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>Between tables</fo:block> + + <!-- table 2 --> + <fo:table table-layout="fixed" width="100pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="6pt solid black"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell border="4pt solid blue"> + <fo:block>Cell 2.1 Cell 2.1 Cell 2.1 Cell 2.1</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>Between tables</fo:block> + + <!-- table 3 --> + <fo:table table-layout="fixed" width="100pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell + border-top="2pt solid black" + border-bottom="6pt solid blue" + border-left="8pt solid red" + border-right="2pt solid orange"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top="4pt solid gray" + border-bottom="12pt solid navy" + border-left="6pt solid purple" + border-right="10pt solid yellow"> + <fo:block>cell 2.1</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>Between tables</fo:block> + + <!-- table 4 --> + <fo:table table-layout="fixed" width="100pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell + border-top="12pt solid black" + border-bottom="6pt solid blue" + border-left="2pt solid red" + border-right="10pt solid orange"> + <fo:block>Cell 1.1 Cell 1.1 Cell 1.1 Cell 1.1</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top="8pt solid gray" + border-bottom="2pt solid navy" + border-left="8pt solid purple" + border-right="6pt solid yellow"> + <fo:block>cell 2.1</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>After the tables</fo:block> + </fo:flow> + </fo:page-sequence> + </fo:root> + </fo> + <checks> + <!-- table 1 --> + <eval expected="100000" xpath="//flow/block[2]/@ipd"/> + <eval expected="100000" xpath="//flow/block[2]/@ipda"/> + <eval expected="39800" xpath="//flow/block[2]/@bpd"/> + <eval expected="39800" xpath="//flow/block[2]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="96000" xpath="//flow/block[2]/block[1]/@ipd"/> + <eval expected="104000" xpath="//flow/block[2]/block[1]/@ipda"/> + <eval expected="14400" xpath="//flow/block[2]/block[1]/@bpd"/> + <eval expected="24400" xpath="//flow/block[2]/block[1]/@bpda"/> + <eval expected="2000" xpath="//flow/block[2]/block[1]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[2]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-before"/> + <eval expected="(solid,#0000ff,6000,collapse-inner)" xpath="//flow/block[2]/block[1]/@border-after"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-start"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-end"/> + <!-- row 2 cell 1 --> + <eval expected="94000" xpath="//flow/block[2]/block[2]/@ipd"/> + <eval expected="106000" xpath="//flow/block[2]/block[2]/@ipda"/> + <eval expected="14400" xpath="//flow/block[2]/block[2]/@bpd"/> + <eval expected="26400" xpath="//flow/block[2]/block[2]/@bpda"/> + <eval expected="3000" xpath="//flow/block[2]/block[2]/@left-offset"/> + <eval expected="16400" xpath="//flow/block[2]/block[2]/@top-offset"/> + <eval expected="(solid,#0000ff,6000,collapse-inner)" xpath="//flow/block[2]/block[2]/@border-before"/> + <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-after"/> + <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-start"/> + <eval expected="(solid,#0000ff,6000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-end"/> + + <!-- table 2 --> + <eval expected="100000" xpath="//flow/block[4]/@ipd"/> + <eval expected="100000" xpath="//flow/block[4]/@ipda"/> + <eval expected="54200" xpath="//flow/block[4]/@bpd"/> + <eval expected="54200" xpath="//flow/block[4]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="94000" xpath="//flow/block[4]/block[1]/@ipd"/> + <eval expected="106000" xpath="//flow/block[4]/block[1]/@ipda"/> + <eval expected="14400" xpath="//flow/block[4]/block[1]/@bpd"/> + <eval expected="26400" xpath="//flow/block[4]/block[1]/@bpda"/> + <eval expected="3000" xpath="//flow/block[4]/block[1]/@left-offset"/> + <eval expected="-3000" xpath="//flow/block[4]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,6000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-before"/> + <eval expected="(solid,#000000,6000,collapse-inner)" xpath="//flow/block[4]/block[1]/@border-after"/> + <eval expected="(solid,#000000,6000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-start"/> + <eval expected="(solid,#000000,6000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-end"/> + <!-- row 2 cell 1 --> + <eval expected="96000" xpath="//flow/block[4]/block[2]/@ipd"/> + <eval expected="104000" xpath="//flow/block[4]/block[2]/@ipda"/> + <eval expected="28800" xpath="//flow/block[4]/block[2]/@bpd"/> + <eval expected="38800" xpath="//flow/block[4]/block[2]/@bpda"/> + <eval expected="2000" xpath="//flow/block[4]/block[2]/@left-offset"/> + <eval expected="17400" xpath="//flow/block[4]/block[2]/@top-offset"/> + <eval expected="(solid,#000000,6000,collapse-inner)" xpath="//flow/block[4]/block[2]/@border-before"/> + <eval expected="(solid,#0000ff,4000,collapse-outer)" xpath="//flow/block[4]/block[2]/@border-after"/> + <eval expected="(solid,#0000ff,4000,collapse-outer)" xpath="//flow/block[4]/block[2]/@border-start"/> + <eval expected="(solid,#0000ff,4000,collapse-outer)" xpath="//flow/block[4]/block[2]/@border-end"/> + + <!-- table 3 --> + <eval expected="100000" xpath="//flow/block[6]/@ipd"/> + <eval expected="100000" xpath="//flow/block[6]/@ipda"/> + <eval expected="41800" xpath="//flow/block[6]/@bpd"/> + <eval expected="41800" xpath="//flow/block[6]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="95000" xpath="//flow/block[6]/block[1]/@ipd"/> + <eval expected="105000" xpath="//flow/block[6]/block[1]/@ipda"/> + <eval expected="14400" xpath="//flow/block[6]/block[1]/@bpd"/> + <eval expected="22400" xpath="//flow/block[6]/block[1]/@bpda"/> + <eval expected="4000" xpath="//flow/block[6]/block[1]/@left-offset"/> + <eval expected="-1000" xpath="//flow/block[6]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,2000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-before"/> + <eval expected="(solid,#0000ff,6000,collapse-inner)" xpath="//flow/block[6]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,8000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-start"/> + <eval expected="(solid,#ffa500,2000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-end"/> + <!-- row 2 cell 1 --> + <eval expected="92000" xpath="//flow/block[6]/block[2]/@ipd"/> + <eval expected="108000" xpath="//flow/block[6]/block[2]/@ipda"/> + <eval expected="14400" xpath="//flow/block[6]/block[2]/@bpd"/> + <eval expected="32400" xpath="//flow/block[6]/block[2]/@bpda"/> + <eval expected="3000" xpath="//flow/block[6]/block[2]/@left-offset"/> + <eval expected="15400" xpath="//flow/block[6]/block[2]/@top-offset"/> + <eval expected="(solid,#0000ff,6000,collapse-inner)" xpath="//flow/block[6]/block[2]/@border-before"/> + <eval expected="(solid,#000080,12000,collapse-outer)" xpath="//flow/block[6]/block[2]/@border-after"/> + <eval expected="(solid,#800080,6000,collapse-outer)" xpath="//flow/block[6]/block[2]/@border-start"/> + <eval expected="(solid,#ffff00,10000,collapse-outer)" xpath="//flow/block[6]/block[2]/@border-end"/> + + <!-- table 4 --> + <eval expected="100000" xpath="//flow/block[8]/@ipd"/> + <eval expected="100000" xpath="//flow/block[8]/@ipda"/> + <eval expected="58200" xpath="//flow/block[8]/@bpd"/> + <eval expected="58200" xpath="//flow/block[8]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="94000" xpath="//flow/block[8]/block[1]/@ipd"/> + <eval expected="106000" xpath="//flow/block[8]/block[1]/@ipda"/> + <eval expected="28800" xpath="//flow/block[8]/block[1]/@bpd"/> + <eval expected="48800" xpath="//flow/block[8]/block[1]/@bpda"/> + <eval expected="1000" xpath="//flow/block[8]/block[1]/@left-offset"/> + <eval expected="-6000" xpath="//flow/block[8]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,12000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-before"/> + <eval expected="(solid,#808080,8000,collapse-inner)" xpath="//flow/block[8]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,2000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-start"/> + <eval expected="(solid,#ffa500,10000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-end"/> + <!-- row 2 cell 1 --> + <eval expected="93000" xpath="//flow/block[8]/block[2]/@ipd"/> + <eval expected="107000" xpath="//flow/block[8]/block[2]/@ipda"/> + <eval expected="14400" xpath="//flow/block[8]/block[2]/@bpd"/> + <eval expected="24400" xpath="//flow/block[8]/block[2]/@bpda"/> + <eval expected="4000" xpath="//flow/block[8]/block[2]/@left-offset"/> + <eval expected="34800" xpath="//flow/block[8]/block[2]/@top-offset"/> + <eval expected="(solid,#808080,8000,collapse-inner)" xpath="//flow/block[8]/block[2]/@border-before"/> + <eval expected="(solid,#000080,2000,collapse-outer)" xpath="//flow/block[8]/block[2]/@border-after"/> + <eval expected="(solid,#800080,8000,collapse-outer)" xpath="//flow/block[8]/block[2]/@border-start"/> + <eval expected="(solid,#ffff00,6000,collapse-outer)" xpath="//flow/block[8]/block[2]/@border-end"/> + </checks> +</testcase> diff --git a/test/layoutengine/standard-testcases/table_border-collapse_collapse_nrnc.xml b/test/layoutengine/standard-testcases/table_border-collapse_collapse_nrnc.xml new file mode 100644 index 000000000..c497c054e --- /dev/null +++ b/test/layoutengine/standard-testcases/table_border-collapse_collapse_nrnc.xml @@ -0,0 +1,131 @@ +<?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 tables with collapse border model. General tables: several rows and columns. + </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="15cm" page-height="15cm" margin="20pt"> + <fo:region-body margin="0pt"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="normal"> + <fo:flow flow-name="xsl-region-body"> + <fo:block>Before the tables</fo:block> + + <!-- table 1 --> + <fo:table table-layout="fixed" width="200pt" border-collapse="collapse"> + <fo:table-column column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell + border-top="12pt solid black" + border-bottom="12pt solid blue" + border-left="12pt solid red" + border-right="12pt solid orange"> + <fo:block>Cell 1.1 Cell 1.1 Cell 1.1 Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top="4pt solid gray" + border-bottom="10pt solid navy" + border-left="4pt solid purple" + border-right="4pt solid yellow"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top="6pt solid gray" + border-bottom="6pt solid navy" + border-left="6pt solid purple" + border-right="6pt solid yellow"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top="10pt solid black" + border-bottom="10pt solid blue" + border-left="10pt solid red" + border-right="10pt solid orange"> + <fo:block>Cell 2.2 Cell 2.2 Cell 2.2 Cell 2.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>Between tables</fo:block> + <fo:block>After the tables</fo:block> + </fo:flow> + </fo:page-sequence> + </fo:root> + </fo> + <checks> + <!-- table 1 --> + <eval expected="200000" xpath="//flow/block[2]/@ipd"/> + <eval expected="200000" xpath="//flow/block[2]/@ipda"/> + <eval expected="79600" xpath="//flow/block[2]/@bpd"/> + <eval expected="79600" xpath="//flow/block[2]/@bpda"/> + <!-- row 1 cell 1 --> + <eval expected="88000" xpath="//flow/block[2]/block[1]/@ipd"/> + <eval expected="112000" xpath="//flow/block[2]/block[1]/@ipda"/> + <eval expected="28800" xpath="//flow/block[2]/block[1]/@bpd"/> + <eval expected="52800" xpath="//flow/block[2]/block[1]/@bpda"/> + <eval expected="6000" xpath="//flow/block[2]/block[1]/@left-offset"/> + <eval expected="-6000" xpath="//flow/block[2]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,12000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-before"/> + <eval expected="(solid,#0000ff,12000,collapse-inner)" xpath="//flow/block[2]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,12000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-start"/> + <eval expected="(solid,#ffa500,12000,collapse-inner)" xpath="//flow/block[2]/block[1]/@border-end"/> + <!-- row 1 cell 2 --> + <eval expected="92000" xpath="//flow/block[2]/block[2]/@ipd"/> + <eval expected="108000" xpath="//flow/block[2]/block[2]/@ipda"/> + <eval expected="33800" xpath="//flow/block[2]/block[2]/@bpd"/> + <eval expected="47800" xpath="//flow/block[2]/block[2]/@bpda"/> + <eval expected="106000" xpath="//flow/block[2]/block[2]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[2]/block[2]/@top-offset"/> + <eval expected="(solid,#808080,4000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-before"/> + <eval expected="(solid,#000080,10000,collapse-inner)" xpath="//flow/block[2]/block[2]/@border-after"/> + <eval expected="(solid,#ffa500,12000,collapse-inner)" xpath="//flow/block[2]/block[2]/@border-start"/> + <eval expected="(solid,#ffff00,4000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-end"/> + <!-- row 2 cell 1 --> + <eval expected="92000" xpath="//flow/block[2]/block[3]/@ipd"/> + <eval expected="108000" xpath="//flow/block[2]/block[3]/@ipda"/> + <eval expected="29800" xpath="//flow/block[2]/block[3]/@bpd"/> + <eval expected="47800" xpath="//flow/block[2]/block[3]/@bpda"/> + <eval expected="3000" xpath="//flow/block[2]/block[3]/@left-offset"/> + <eval expected="34800" xpath="//flow/block[2]/block[3]/@top-offset"/> + <eval expected="(solid,#0000ff,12000,collapse-inner)" xpath="//flow/block[2]/block[3]/@border-before"/> + <eval expected="(solid,#000080,6000,collapse-outer)" xpath="//flow/block[2]/block[3]/@border-after"/> + <eval expected="(solid,#800080,6000,collapse-outer)" xpath="//flow/block[2]/block[3]/@border-start"/> + <eval expected="(solid,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[3]/@border-end"/> + <!-- row 2 cell 2 --> + <eval expected="90000" xpath="//flow/block[2]/block[4]/@ipd"/> + <eval expected="110000" xpath="//flow/block[2]/block[4]/@ipda"/> + <eval expected="28800" xpath="//flow/block[2]/block[4]/@bpd"/> + <eval expected="48800" xpath="//flow/block[2]/block[4]/@bpda"/> + <eval expected="105000" xpath="//flow/block[2]/block[4]/@left-offset"/> + <eval expected="35800" xpath="//flow/block[2]/block[4]/@top-offset"/> + <eval expected="(solid,#000000,10000,collapse-inner)" xpath="//flow/block[2]/block[4]/@border-before"/> + <eval expected="(solid,#0000ff,10000,collapse-outer)" xpath="//flow/block[2]/block[4]/@border-after"/> + <eval expected="(solid,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[4]/@border-start"/> + <eval expected="(solid,#ffa500,10000,collapse-outer)" xpath="//flow/block[2]/block[4]/@border-end"/> + </checks> +</testcase> |