diff options
author | Simon Pepping <spepping@apache.org> | 2007-09-25 12:44:20 +0000 |
---|---|---|
committer | Simon Pepping <spepping@apache.org> | 2007-09-25 12:44:20 +0000 |
commit | ba65dea9430800d2cbd37ea45ab9f9967ca96a4b (patch) | |
tree | c96846da50e56a5253fb28a79bc2335e45643d37 /test | |
parent | 51efe0f61308aa92bc793a2d6dd278acf6d98ea5 (diff) | |
download | xmlgraphics-fop-ba65dea9430800d2cbd37ea45ab9f9967ca96a4b.tar.gz xmlgraphics-fop-ba65dea9430800d2cbd37ea45ab9f9967ca96a4b.zip |
Merged revisions 550001-554093 via svnmerge from
https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk
........
r550098 | adelmelle | 2007-06-23 22:31:59 +0200 (Sat, 23 Jun 2007) | 1 line
Bugzilla 42703: white-space incorrectly handled in retrieved markers
........
r551603 | vhennebert | 2007-06-28 17:52:45 +0200 (Thu, 28 Jun 2007) | 3 lines
Additional testcases for tables with spanning cells and collapsing-border model.
TODO the checks in table_border-collapse_collapse_spans_2.xml need to updated once bugs #42768 and #42769 are fixed
........
r551874 | jeremias | 2007-06-29 14:46:14 +0200 (Fri, 29 Jun 2007) | 9 lines
Bugzilla #42278:
Refactoring of color map cache and uri/fo resolution from FopFactory
Submitted by: Adrian Cumiskey <fop-dev@cumiskey.com>
Changes in addition to the patch by jeremias:
- Moved the color map cache to the util package so it doesn't clutter the API (apps) package.
- Factored out the data URL resolution into its own URIResolver class which can now be used separately.
- Added a utility class for generating RFC2397 data URLs.
- Added a unit test for data URL handling.
........
r551972 | spepping | 2007-06-29 19:39:01 +0200 (Fri, 29 Jun 2007) | 4 lines
Applied fix suggested by Arno Peters to the fop shell script. This fix
makes the script work with a FOP_HOME path containing spaces. This
solves bug 42616.
........
r553612 | adelmelle | 2007-07-05 21:01:14 +0200 (Thu, 05 Jul 2007) | 1 line
Fix for a tiny but very nasty bug...
........
r553627 | adelmelle | 2007-07-05 22:40:24 +0200 (Thu, 05 Jul 2007) | 1 line
Fix a broken link
........
r553790 | vhennebert | 2007-07-06 10:41:46 +0200 (Fri, 06 Jul 2007) | 2 lines
First step towards using a list of active cells for computing steps
........
r553792 | vhennebert | 2007-07-06 10:43:51 +0200 (Fri, 06 Jul 2007) | 2 lines
Organize imports and remove no longer used methods
........
r553809 | vhennebert | 2007-07-06 11:24:06 +0200 (Fri, 06 Jul 2007) | 2 lines
Remove decrease of activeRowIndex when backtracking
........
r553824 | vhennebert | 2007-07-06 12:01:58 +0200 (Fri, 06 Jul 2007) | 2 lines
Add a testcase for a bug in TableStepper spotted during the refactoring. The border-before of the primary grid unit was taken into account instead of the whole cell border. If the cell is spanning over two columns and the border-before for the second grid unit is bigger, this was leading to a wrong step computation.
........
r553859 | jeremias | 2007-07-06 14:22:20 +0200 (Fri, 06 Jul 2007) | 1 line
Clarification about the status of fo:bookmark support.
........
r553876 | vhennebert | 2007-07-06 15:34:41 +0200 (Fri, 06 Jul 2007) | 2 lines
Move the getNextStep method into ActiveCell
........
r553878 | vhennebert | 2007-07-06 15:49:12 +0200 (Fri, 06 Jul 2007) | 2 lines
Add a signalMinStep method in ActiveCell
........
r553895 | vhennebert | 2007-07-06 16:29:10 +0200 (Fri, 06 Jul 2007) | 2 lines
Cleaner way to handle border-separation in ActiveCell
........
r554087 | adelmelle | 2007-07-07 01:29:26 +0200 (Sat, 07 Jul 2007) | 1 line
Improvement in handling relative font-weights
........
r554088 | adelmelle | 2007-07-07 01:30:14 +0200 (Sat, 07 Jul 2007) | 1 line
Improvement in handling relative font-weights
........
r554091 | adelmelle | 2007-07-07 01:44:57 +0200 (Sat, 07 Jul 2007) | 1 line
Tweak: allow control over usage of Locators
........
r554092 | adelmelle | 2007-07-07 01:49:30 +0200 (Sat, 07 Jul 2007) | 1 line
Removal of unused classes ?
........
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_Interleaved_Page_Line_Breaking@579224 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test')
8 files changed, 1457 insertions, 15 deletions
diff --git a/test/fotree/testcases/font-weight_relative2.fo b/test/fotree/testcases/font-weight_relative2.fo new file mode 100644 index 000000000..530c9afe7 --- /dev/null +++ b/test/fotree/testcases/font-weight_relative2.fo @@ -0,0 +1,90 @@ +<?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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:test="http://xmlgraphics.apache.org/fop/test"> + <fo:layout-master-set> + <fo:simple-page-master master-name="normal" page-width="210mm" page-height="297mm"> + <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 font-weight="900">font-weight="900" + <test:assert property="font-weight" expected="900" /> + <fo:block font-weight="lighter">font-weight="lighter" + <test:assert property="font-weight" expected="800" /> + <fo:block font-weight="lighter">font-weight="lighter" + <test:assert property="font-weight" expected="700" /> + <fo:block font-weight="lighter">font-weight="lighter" + <test:assert property="font-weight" expected="600" /> + <fo:block font-weight="lighter">font-weight="lighter" + <test:assert property="font-weight" expected="500" /> + <fo:block font-weight="lighter">font-weight="lighter" + <test:assert property="font-weight" expected="400" /> + <fo:block font-weight="lighter">font-weight="lighter" + <test:assert property="font-weight" expected="300" /> + <fo:block font-weight="lighter">font-weight="lighter" + <test:assert property="font-weight" expected="200" /> + <fo:block font-weight="lighter">font-weight="lighter" + <test:assert property="font-weight" expected="100" /> + <fo:block font-weight="lighter">font-weight="lighter" + <test:assert property="font-weight" expected="100" /> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + <fo:block font-weight="100">font-weight="100" + <test:assert property="font-weight" expected="100" /> + <fo:block font-weight="bolder">font-weight="bolder" + <test:assert property="font-weight" expected="200" /> + <fo:block font-weight="bolder">font-weight="bolder" + <test:assert property="font-weight" expected="300" /> + <fo:block font-weight="bolder">font-weight="bolder" + <test:assert property="font-weight" expected="400" /> + <fo:block font-weight="bolder">font-weight="bolder" + <test:assert property="font-weight" expected="500" /> + <fo:block font-weight="bolder">font-weight="bolder" + <test:assert property="font-weight" expected="600" /> + <fo:block font-weight="bolder">font-weight="bolder" + <test:assert property="font-weight" expected="700" /> + <fo:block font-weight="bolder">font-weight="bolder" + <test:assert property="font-weight" expected="800" /> + <fo:block font-weight="bolder">font-weight="bolder" + <test:assert property="font-weight" expected="900" /> + <fo:block font-weight="bolder">font-weight="bolder" + <test:assert property="font-weight" expected="900" /> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> + diff --git a/test/java/org/apache/fop/UtilityCodeTestSuite.java b/test/java/org/apache/fop/UtilityCodeTestSuite.java index f84390518..679e16ce7 100644 --- a/test/java/org/apache/fop/UtilityCodeTestSuite.java +++ b/test/java/org/apache/fop/UtilityCodeTestSuite.java @@ -21,6 +21,8 @@ package org.apache.fop; import org.apache.fop.traits.BorderPropsTestCase; import org.apache.fop.traits.TraitColorTestCase; +import org.apache.fop.util.DataURIResolverTestCase; +import org.apache.fop.util.ElementListUtilsTestCase; import org.apache.fop.util.PDFNumberTestCase; import org.apache.fop.util.UnitConvTestCase; @@ -44,6 +46,8 @@ public class UtilityCodeTestSuite { suite.addTest(new TestSuite(UnitConvTestCase.class)); suite.addTest(new TestSuite(TraitColorTestCase.class)); suite.addTest(new TestSuite(BorderPropsTestCase.class)); + suite.addTest(new TestSuite(ElementListUtilsTestCase.class)); + suite.addTest(new TestSuite(DataURIResolverTestCase.class)); //$JUnit-END$ return suite; } diff --git a/test/java/org/apache/fop/util/DataURIResolverTestCase.java b/test/java/org/apache/fop/util/DataURIResolverTestCase.java new file mode 100644 index 000000000..133d4fcd1 --- /dev/null +++ b/test/java/org/apache/fop/util/DataURIResolverTestCase.java @@ -0,0 +1,116 @@ +/* + * 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$ */ + +package org.apache.fop.util; + +import java.io.ByteArrayInputStream; + +import javax.xml.transform.Source; +import javax.xml.transform.URIResolver; +import javax.xml.transform.stream.StreamSource; + +import org.apache.commons.io.IOUtils; + +import junit.framework.TestCase; + +/** + * Test case for the RFC 2397 data URL/URI resolver. + */ +public class DataURIResolverTestCase extends TestCase { + + private static final byte[] TESTDATA = new byte[] {0, 1, 2, 3, 4, 5}; + + /** + * Tests DataURLUtil. + * @throws Exception if an error occurs + */ + public void testRFC2397Generator() throws Exception { + String url = DataURLUtil.createDataURL(new ByteArrayInputStream(TESTDATA), null); + assertEquals("Generated data URL is wrong", "data:;base64,AAECAwQF", url); + + url = DataURLUtil.createDataURL(new ByteArrayInputStream(TESTDATA), "application/pdf"); + assertEquals("Generated data URL is wrong", "data:application/pdf;base64,AAECAwQF", url); + } + + /** + * Test the URIResolver contract if the protocol doesn't match. Resolver must return null + * in this case. + * @throws Exception if an error occurs + */ + public void testNonMatchingContract() throws Exception { + URIResolver resolver = new DataURIResolver(); + Source src; + + src = resolver.resolve("http://xmlgraphics.apache.org/fop/index.html", null); + assertNull(src); + + src = resolver.resolve("index.html", "http://xmlgraphics.apache.org/fop/"); + assertNull(src); + } + + private static boolean byteCmp(byte[] src, int srcOffset, byte[] cmp) { + for (int i = 0, c = cmp.length; i < c; i++) { + if (src[srcOffset + i] != cmp[i]) { + return false; + } + } + return true; + } + + /** + * Test the DataURIResolver with correct values. + * @throws Exception if an error occurs + */ + public void testDataURLHandling() throws Exception { + URIResolver resolver = new DataURIResolver(); + Source src; + + src = resolver.resolve("data:;base64,AAECAwQF", null); + assertNotNull(src); + StreamSource streamSource = (StreamSource)src; + byte[] data = IOUtils.toByteArray(streamSource.getInputStream()); + assertTrue("Decoded data doesn't match the test data", byteCmp(TESTDATA, 0, data)); + + src = resolver.resolve( + "data:application/octet-stream;interpreter=fop;base64,AAECAwQF", null); + assertNotNull(src); + streamSource = (StreamSource)src; + assertNotNull(streamSource.getInputStream()); + assertNull(streamSource.getReader()); + data = IOUtils.toByteArray(streamSource.getInputStream()); + assertTrue("Decoded data doesn't match the test data", byteCmp(TESTDATA, 0, data)); + + src = resolver.resolve("data:,FOP", null); + assertNotNull(src); + streamSource = (StreamSource)src; + assertNull(streamSource.getInputStream()); + assertNotNull(streamSource.getReader()); + String text = IOUtils.toString(streamSource.getReader()); + assertEquals("FOP", text); + + /* TODO Un-escaping of special URL chars like %20 hasn't been implemented, yet. + src = resolver.resolve("data:,A%20brief%20note", null); + assertNotNull(src); + streamSource = (StreamSource)src; + text = IOUtils.toString(streamSource.getReader()); + assertEquals("A brief note", text); + */ + } + +} diff --git a/test/layoutengine/standard-testcases/block_font-weight.xml b/test/layoutengine/standard-testcases/block_font-weight.xml index b9907ebc2..743aa69e7 100644 --- a/test/layoutengine/standard-testcases/block_font-weight.xml +++ b/test/layoutengine/standard-testcases/block_font-weight.xml @@ -86,7 +86,7 @@ </fo:page-sequence> </fo:root> </fo> - <checks><!-- feature not properly implemented, checks are against current implementation --> + <checks> <eval expected="400" xpath="//flow/block[1]/lineArea/text/@font-weight"/> <eval expected="400" xpath="//flow/block[2]/lineArea/text/@font-weight"/> <eval expected="700" xpath="//flow/block[3]/lineArea/text/@font-weight"/> @@ -99,24 +99,24 @@ <eval expected="700" xpath="//flow/block[10]/lineArea/text/@font-weight"/> <eval expected="700" xpath="//flow/block[11]/lineArea/text/@font-weight"/> <eval expected="700" xpath="//flow/block[12]/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="700" xpath="//flow/block[12]/block/lineArea/text/@font-weight"/> + <eval expected="700" xpath="//flow/block[12]/block/block/lineArea/text/@font-weight"/> + <eval expected="700" xpath="//flow/block[12]/block/block/block/lineArea/text/@font-weight"/> + <eval expected="400" xpath="//flow/block[12]/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="400" xpath="//flow/block[12]/block/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="400" xpath="//flow/block[12]/block/block/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="400" xpath="//flow/block[12]/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="400" xpath="//flow/block[12]/block/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="400" xpath="//flow/block[12]/block/block/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> <eval expected="400" xpath="//flow/block[13]/lineArea/text/@font-weight"/> <eval expected="400" xpath="//flow/block[13]/block/lineArea/text/@font-weight"/> <eval expected="400" xpath="//flow/block[13]/block/block/lineArea/text/@font-weight"/> <eval expected="400" xpath="//flow/block[13]/block/block/block/lineArea/text/@font-weight"/> <eval expected="400" xpath="//flow/block[13]/block/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> - <eval expected="400" xpath="//flow/block[13]/block/block/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="700" xpath="//flow/block[13]/block/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="700" xpath="//flow/block[13]/block/block/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="700" xpath="//flow/block[13]/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="700" xpath="//flow/block[13]/block/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> + <eval expected="700" xpath="//flow/block[13]/block/block/block/block/block/block/block/block/block/lineArea/text/@font-weight"/> </checks> </testcase> diff --git a/test/layoutengine/standard-testcases/marker_inline_white-space.xml b/test/layoutengine/standard-testcases/marker_inline_white-space.xml new file mode 100644 index 000000000..286ddc2bf --- /dev/null +++ b/test/layoutengine/standard-testcases/marker_inline_white-space.xml @@ -0,0 +1,70 @@ +<?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> + Test for Bugzilla 42703: incorrect white-space handling during + marker-retrieval. + </p> + </info> + <fo> + <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" > + <fo:layout-master-set> + <fo:simple-page-master master-name="all-pages"> + <fo:region-body region-name="xsl-region-body" margin-top="10cm"/> + <fo:region-before region-name="xsl-region-before" extent="29cm" display-align="before" /> + <fo:region-after region-name="xsl-region-after" extent="10cm" display-align="before" /> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="all-pages"> + <fo:static-content flow-name="xsl-region-before"> + <fo:block color="blue" font-size="25pt"> + <fo:block>marker1 content: + <fo:inline color="green"><fo:retrieve-marker + retrieve-class-name="marker1" + retrieve-boundary="page" + /></fo:inline> + </fo:block> + <fo:block>marker1 content: + <fo:inline color="green"><fo:retrieve-marker + retrieve-class-name="marker1" + retrieve-boundary="page" + /></fo:inline> + </fo:block> + </fo:block> + </fo:static-content> + <fo:flow flow-name="xsl-region-body"> + <fo:block font-size="20pt"> + <fo:block margin-top="2cm"> + <fo:marker marker-class-name="marker1"> + <fo:block>Block<fo:inline> with inline element </fo:inline>.</fo:block> + </fo:marker> + text with the marker + </fo:block> + </fo:block> + </fo:flow> + </fo:page-sequence> + </fo:root> + </fo> + <checks> + <!-- preserve leading white-space of the inline in the retrieved marker --> + <eval expected="4" + xpath="count(//regionBefore/*[1]/*[1]/*[2]/*/*/*/inlineparent/text/space)"/> + </checks> +</testcase> diff --git a/test/layoutengine/standard-testcases/table-stepper_colspan_border-before.xml b/test/layoutengine/standard-testcases/table-stepper_colspan_border-before.xml new file mode 100644 index 000000000..623252acc --- /dev/null +++ b/test/layoutengine/standard-testcases/table-stepper_colspan_border-before.xml @@ -0,0 +1,83 @@ +<?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 TableStepper computes steps correctly in the following condition: + collapsing borders, a cell spanning over two columns, the border-before on the grid unit of + the second column bigger than on the first column. + </p> + </info> + <fo> + <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" page-height="7cm" page-width="15cm" margin="1cm" + margin-bottom="0"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page" font-family="serif" font-size="14pt"> + <fo:flow flow-name="xsl-region-body"> + <fo:block space-after="80pt">Before the table</fo:block> + <fo:table width="100%" table-layout="fixed" border="4pt solid black"> + <fo:table-column number-columns-repeated="2" + column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="2pt solid blue"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="2pt solid blue"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + <fo:table-cell border="2pt solid teal" border-bottom-width="40pt"> + <!-- This big border-bottom prevents the second row of the table from fitting on + the first page --> + <fo:block>Cell 1.3</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell border="2pt solid blue"> + <fo:block>Cell 2.1</fo:block> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell border="2pt solid blue" number-columns-spanned="2"> + <fo:block>Cell 2.2</fo:block> + <fo:block>Cell 2.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block space-before="0pt">After the table</fo:block> + </fo:flow> + </fo:page-sequence> + </fo:root> + </fo> + <checks> + <!-- 2 pages --> + <eval expected="2" xpath="count(//pageViewport)"/> + <!-- 2 blocks on the first page: "Before the table" plus the table itself --> + <eval expected="2" xpath="count(//pageViewport[1]//flow/block)"/> + <!-- 3 blocks in the table, corresponding to the first row --> + <eval expected="3" xpath="count(//pageViewport[1]//flow/block[2]/block)"/> + <eval expected="2" xpath="count(//pageViewport[2]//flow/block)"/> + <!-- the rest of the table on the second page --> + <eval expected="4" xpath="count(//pageViewport[2]//flow/block[1]/block)"/> + </checks> +</testcase> diff --git a/test/layoutengine/standard-testcases/table_border-collapse_collapse_spans_1.xml b/test/layoutengine/standard-testcases/table_border-collapse_collapse_spans_1.xml new file mode 100644 index 000000000..14925e28f --- /dev/null +++ b/test/layoutengine/standard-testcases/table_border-collapse_collapse_spans_1.xml @@ -0,0 +1,390 @@ +<?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 the collapsing-border model and simple spanning cells. + </p> + </info> + <fo> + <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <fo:layout-master-set> + <fo:simple-page-master master-name="normal" page-width="16cm" page-height="20cm" 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 number-rows-spanned="2" + background-color="yellow" + border-top="16pt solid black" + border-bottom="10pt solid blue" + border-left="12pt solid red" + border-right="4pt solid teal"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top="4pt solid silver" + border-bottom="10pt solid navy" + border-left="10pt solid purple" + border-right="4pt solid olive"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top="10pt solid black" + border-bottom="6pt solid silver" + border-left="3pt solid red" + border-right="10pt solid teal"> + <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> + <!-- 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-top="12pt solid black" + border-bottom="12pt solid blue" + border-left="12pt solid red" + border-right="4pt solid teal"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell number-rows-spanned="2" + background-color="yellow" + padding="10pt" + border-top="4pt solid silver" + border-bottom="4pt solid purple" + border-left="4pt solid purple" + border-right="10pt solid olive"> + <fo:block>Cell 1.2 Cell 1.2 Cell 1.2 Cell 1.2 Cell 1.2 Cell 1.2 Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top="6pt solid silver" + border-bottom="6pt solid navy" + border-left="6pt solid purple" + border-right="16pt solid olive"> + <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 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 number-columns-spanned="2" + background-color="yellow" + padding-top="4pt" + padding-bottom="5pt" + padding-left="6pt" + padding-right="7pt" + border-top="2pt solid black" + border-bottom="4pt solid blue" + border-left="2pt solid red" + border-right="2pt solid teal"> + <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="1pt solid silver" + border-bottom="6pt solid navy" + border-left="6pt solid purple" + border-right="6pt solid olive"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top="10pt solid black" + border-bottom="10pt solid silver" + border-left="10pt solid red" + border-right="10pt solid olive"> + <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> + <!-- 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="12pt solid black" + border-bottom="12pt solid blue" + border-left="12pt solid red" + border-right="12pt solid teal"> + <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 silver" + border-bottom="10pt solid navy" + border-left="4pt solid purple" + border-right="4pt solid purple"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell number-columns-spanned="2" + background-color="yellow" + padding-top="10pt" + padding-bottom="15pt" + padding-left="20pt" + padding-right="30pt" + border-top="15pt solid silver" + border-bottom="6pt solid navy" + border-left="6pt solid purple" + border-right="6pt solid olive"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + </fo:flow> + </fo:page-sequence> + </fo:root> + </fo> + <checks> + + <!-- table 1 --> + <eval expected="58200" xpath="//flow/block[2]/@bpd"/> + <eval expected="58200" xpath="//flow/block[2]/@bpda"/> + <!-- cell 1.2 --> + <eval expected="93000" xpath="//flow/block[2]/block[1]/@ipd"/> + <eval expected="107000" xpath="//flow/block[2]/block[1]/@ipda"/> + <eval expected="14400" xpath="//flow/block[2]/block[1]/@bpd"/> + <eval expected="28400" xpath="//flow/block[2]/block[1]/@bpda"/> + <eval expected="105000" xpath="//flow/block[2]/block[1]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[2]/block[1]/@top-offset"/> + <eval expected="(solid,#c0c0c0,4000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-before"/> + <eval expected="(solid,#000080,10000,collapse-inner)" xpath="//flow/block[2]/block[1]/@border-after"/> + <eval expected="(solid,#800080,10000,collapse-inner)" xpath="//flow/block[2]/block[1]/@border-start"/> + <eval expected="(solid,#808000,4000,collapse-outer)" xpath="//flow/block[2]/block[1]/@border-end"/> + <!-- cell 1.1 --> + <eval expected="89000" xpath="//flow/block[2]/block[2]/@ipd"/> + <eval expected="111000" xpath="//flow/block[2]/block[2]/@ipda"/> + <eval expected="13400" xpath="//flow/block[2]/block[2]/@bpd"/> + <eval expected="29400" xpath="//flow/block[2]/block[2]/@bpda"/> + <eval expected="6000" xpath="//flow/block[2]/block[2]/@left-offset"/> + <eval expected="-8000" xpath="//flow/block[2]/block[2]/@top-offset"/> + <eval expected="(solid,#000000,16000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-before"/> + <eval expected="(solid,#ff0000,12000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-start"/> + <eval expected="(solid,#800080,10000,collapse-inner)" xpath="//flow/block[2]/block[2]/@border-end"/> + <eval expected="92000" xpath="//flow/block[2]/block[3]/@ipd"/> + <eval expected="108000" xpath="//flow/block[2]/block[3]/@ipda"/> + <eval expected="31800" xpath="//flow/block[2]/block[3]/@bpd"/> + <eval expected="41800" xpath="//flow/block[2]/block[3]/@bpda"/> + <eval expected="6000" xpath="//flow/block[2]/block[3]/@left-offset"/> + <eval expected="21400" xpath="//flow/block[2]/block[3]/@top-offset"/> + <eval expected="(solid,#0000ff,10000,collapse-outer)" xpath="//flow/block[2]/block[3]/@border-after"/> + <eval expected="(solid,#ff0000,12000,collapse-outer)" xpath="//flow/block[2]/block[3]/@border-start"/> + <eval expected="(solid,#008080,4000,collapse-inner)" xpath="//flow/block[2]/block[3]/@border-end"/> + <eval expected="89000" xpath="//flow/block[2]/block[4]/@ipd"/> + <eval expected="89000" xpath="//flow/block[2]/block[4]/@ipda"/> + <eval expected="45200" xpath="//flow/block[2]/block[4]/@bpd"/> + <eval expected="45200" xpath="//flow/block[2]/block[4]/@bpda"/> + <eval expected="6000" xpath="//flow/block[2]/block[4]/@left-offset"/> + <eval expected="8000" xpath="//flow/block[2]/block[4]/@top-offset"/> + <!-- cell 1.2 --> + <eval expected="93000" xpath="//flow/block[2]/block[5]/@ipd"/> + <eval expected="107000" xpath="//flow/block[2]/block[5]/@ipda"/> + <eval expected="28800" xpath="//flow/block[2]/block[5]/@bpd"/> + <eval expected="44800" xpath="//flow/block[2]/block[5]/@bpda"/> + <eval expected="102000" xpath="//flow/block[2]/block[5]/@left-offset"/> + <eval expected="16400" xpath="//flow/block[2]/block[5]/@top-offset"/> + <eval expected="(solid,#000000,10000,collapse-inner)" xpath="//flow/block[2]/block[5]/@border-before"/> + <eval expected="(solid,#c0c0c0,6000,collapse-outer)" xpath="//flow/block[2]/block[5]/@border-after"/> + <eval expected="(solid,#008080,4000,collapse-inner)" xpath="//flow/block[2]/block[5]/@border-start"/> + <eval expected="(solid,#008080,10000,collapse-outer)" xpath="//flow/block[2]/block[5]/@border-end"/> + + <!-- table 2 --> + <eval expected="96000" xpath="//flow/block[4]/@bpd"/> + <eval expected="96000" xpath="//flow/block[4]/@bpda"/> + <!-- cell 1.1 --> + <eval expected="92000" xpath="//flow/block[4]/block[1]/@ipd"/> + <eval expected="108000" xpath="//flow/block[4]/block[1]/@ipda"/> + <eval expected="14400" xpath="//flow/block[4]/block[1]/@bpd"/> + <eval expected="38400" xpath="//flow/block[4]/block[1]/@bpda"/> + <eval expected="6000" xpath="//flow/block[4]/block[1]/@left-offset"/> + <eval expected="-6000" xpath="//flow/block[4]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,12000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-before"/> + <eval expected="(solid,#0000ff,12000,collapse-inner)" xpath="//flow/block[4]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,12000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-start"/> + <eval expected="(solid,#008080,4000,collapse-inner)" xpath="//flow/block[4]/block[1]/@border-end"/> + <!-- cell 2.1 --> + <eval expected="89000" xpath="//flow/block[4]/block[2]/@ipd"/> + <eval expected="111000" xpath="//flow/block[4]/block[2]/@ipda"/> + <eval expected="60600" xpath="//flow/block[4]/block[2]/@bpd"/> + <eval expected="78600" xpath="//flow/block[4]/block[2]/@bpda"/> + <eval expected="3000" xpath="//flow/block[4]/block[2]/@left-offset"/> + <eval expected="20400" xpath="//flow/block[4]/block[2]/@top-offset"/> + <eval expected="(solid,#0000ff,12000,collapse-inner)" xpath="//flow/block[4]/block[2]/@border-before"/> + <eval expected="(solid,#000080,6000,collapse-outer)" xpath="//flow/block[4]/block[2]/@border-after"/> + <eval expected="(solid,#800080,6000,collapse-outer)" xpath="//flow/block[4]/block[2]/@border-start"/> + <eval expected="(solid,#808000,16000,collapse-inner)" xpath="//flow/block[4]/block[2]/@border-end"/> + <!-- cell 1.2 --> + <eval expected="93000" xpath="//flow/block[4]/block[3]/@ipd"/> + <eval expected="107000" xpath="//flow/block[4]/block[3]/@ipda"/> + <eval expected="24400" xpath="//flow/block[4]/block[3]/@bpd"/> + <eval expected="28400" xpath="//flow/block[4]/block[3]/@bpda"/> + <eval expected="102000" xpath="//flow/block[4]/block[3]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[4]/block[3]/@top-offset"/> + <eval expected="(solid,#c0c0c0,4000,collapse-outer)" xpath="//flow/block[4]/block[3]/@border-before"/> + <eval expected="(solid,#800080,4000,collapse-inner)" xpath="//flow/block[4]/block[3]/@border-start"/> + <eval expected="(solid,#808000,10000,collapse-outer)" xpath="//flow/block[4]/block[3]/@border-end"/> + <eval expected="87000" xpath="//flow/block[4]/block[4]/@ipd"/> + <eval expected="113000" xpath="//flow/block[4]/block[4]/@ipda"/> + <eval expected="67600" xpath="//flow/block[4]/block[4]/@bpd"/> + <eval expected="71600" xpath="//flow/block[4]/block[4]/@bpda"/> + <eval expected="108000" xpath="//flow/block[4]/block[4]/@left-offset"/> + <eval expected="26400" xpath="//flow/block[4]/block[4]/@top-offset"/> + <eval expected="(solid,#800080,4000,collapse-outer)" xpath="//flow/block[4]/block[4]/@border-after"/> + <eval expected="(solid,#808000,16000,collapse-inner)" xpath="//flow/block[4]/block[4]/@border-start"/> + <eval expected="(solid,#808000,10000,collapse-outer)" xpath="//flow/block[4]/block[4]/@border-end"/> + <eval expected="67000" xpath="//flow/block[4]/block[5]/@ipd"/> + <eval expected="87000" xpath="//flow/block[4]/block[5]/@ipda"/> + <eval expected="72000" xpath="//flow/block[4]/block[5]/@bpd"/> + <eval expected="92000" xpath="//flow/block[4]/block[5]/@bpda"/> + <eval expected="118000" xpath="//flow/block[4]/block[5]/@left-offset"/> + <eval expected="2000" xpath="//flow/block[4]/block[5]/@top-offset"/> + + <!-- table 3 --> + <eval expected="68200" xpath="//flow/block[6]/@bpd"/> + <eval expected="68200" xpath="//flow/block[6]/@bpda"/> + <!-- cell 1.1 --> + <eval expected="99000" xpath="//flow/block[6]/block[1]/@ipd"/> + <eval expected="101000" xpath="//flow/block[6]/block[1]/@ipda"/> + <eval expected="26400" xpath="//flow/block[6]/block[1]/@bpd"/> + <eval expected="32400" xpath="//flow/block[6]/block[1]/@bpda"/> + <eval expected="1000" 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,4000,collapse-inner)" xpath="//flow/block[6]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,2000,collapse-outer)" xpath="//flow/block[6]/block[1]/@border-start"/> + <eval expected="99000" xpath="//flow/block[6]/block[2]/@ipd"/> + <eval expected="101000" xpath="//flow/block[6]/block[2]/@ipda"/> + <eval expected="23400" xpath="//flow/block[6]/block[2]/@bpd"/> + <eval expected="35400" xpath="//flow/block[6]/block[2]/@bpda"/> + <eval expected="100000" xpath="//flow/block[6]/block[2]/@left-offset"/> + <eval expected="-1000" xpath="//flow/block[6]/block[2]/@top-offset"/> + <eval expected="(solid,#000000,2000,collapse-outer)" xpath="//flow/block[6]/block[2]/@border-before"/> + <eval expected="(solid,#000000,10000,collapse-inner)" xpath="//flow/block[6]/block[2]/@border-after"/> + <eval expected="(solid,#008080,2000,collapse-outer)" xpath="//flow/block[6]/block[2]/@border-end"/> + <eval expected="185000" xpath="//flow/block[6]/block[3]/@ipd"/> + <eval expected="198000" xpath="//flow/block[6]/block[3]/@ipda"/> + <eval expected="14400" xpath="//flow/block[6]/block[3]/@bpd"/> + <eval expected="23400" xpath="//flow/block[6]/block[3]/@bpda"/> + <eval expected="7000" xpath="//flow/block[6]/block[3]/@left-offset"/> + <eval expected="1000" xpath="//flow/block[6]/block[3]/@top-offset"/> + <!-- cell 2.1 --> + <eval expected="92000" xpath="//flow/block[6]/block[4]/@ipd"/> + <eval expected="108000" xpath="//flow/block[6]/block[4]/@ipda"/> + <eval expected="33800" xpath="//flow/block[6]/block[4]/@bpd"/> + <eval expected="43800" xpath="//flow/block[6]/block[4]/@bpda"/> + <eval expected="3000" xpath="//flow/block[6]/block[4]/@left-offset"/> + <eval expected="27400" xpath="//flow/block[6]/block[4]/@top-offset"/> + <eval expected="(solid,#0000ff,4000,collapse-inner)" xpath="//flow/block[6]/block[4]/@border-before"/> + <eval expected="(solid,#000080,6000,collapse-outer)" xpath="//flow/block[6]/block[4]/@border-after"/> + <eval expected="(solid,#800080,6000,collapse-outer)" xpath="//flow/block[6]/block[4]/@border-start"/> + <eval expected="(solid,#ff0000,10000,collapse-inner)" xpath="//flow/block[6]/block[4]/@border-end"/> + <!-- cell 2.2 --> + <eval expected="90000" xpath="//flow/block[6]/block[5]/@ipd"/> + <eval expected="110000" xpath="//flow/block[6]/block[5]/@ipda"/> + <eval expected="28800" xpath="//flow/block[6]/block[5]/@bpd"/> + <eval expected="48800" xpath="//flow/block[6]/block[5]/@bpda"/> + <eval expected="105000" xpath="//flow/block[6]/block[5]/@left-offset"/> + <eval expected="24400" xpath="//flow/block[6]/block[5]/@top-offset"/> + <eval expected="(solid,#000000,10000,collapse-inner)" xpath="//flow/block[6]/block[5]/@border-before"/> + <eval expected="(solid,#c0c0c0,10000,collapse-outer)" xpath="//flow/block[6]/block[5]/@border-after"/> + <eval expected="(solid,#ff0000,10000,collapse-inner)" xpath="//flow/block[6]/block[5]/@border-start"/> + <eval expected="(solid,#808000,10000,collapse-outer)" xpath="//flow/block[6]/block[5]/@border-end"/> + + <!-- table 4 --> + <eval expected="92200" xpath="//flow/block[8]/@bpd"/> + <eval expected="92200" xpath="//flow/block[8]/@bpda"/> + <!-- cell 1.1 --> + <eval expected="88000" xpath="//flow/block[8]/block[1]/@ipd"/> + <eval expected="112000" xpath="//flow/block[8]/block[1]/@ipda"/> + <eval expected="28800" xpath="//flow/block[8]/block[1]/@bpd"/> + <eval expected="55800" xpath="//flow/block[8]/block[1]/@bpda"/> + <eval expected="6000" 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,#c0c0c0,15000,collapse-inner)" xpath="//flow/block[8]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,12000,collapse-outer)" xpath="//flow/block[8]/block[1]/@border-start"/> + <eval expected="(solid,#008080,12000,collapse-inner)" xpath="//flow/block[8]/block[1]/@border-end"/> + <!-- cell 1.2 --> + <eval expected="92000" xpath="//flow/block[8]/block[2]/@ipd"/> + <eval expected="108000" xpath="//flow/block[8]/block[2]/@ipda"/> + <eval expected="32800" xpath="//flow/block[8]/block[2]/@bpd"/> + <eval expected="51800" xpath="//flow/block[8]/block[2]/@bpda"/> + <eval expected="106000" xpath="//flow/block[8]/block[2]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[8]/block[2]/@top-offset"/> + <eval expected="(solid,#c0c0c0,4000,collapse-outer)" xpath="//flow/block[8]/block[2]/@border-before"/> + <eval expected="(solid,#c0c0c0,15000,collapse-inner)" xpath="//flow/block[8]/block[2]/@border-after"/> + <eval expected="(solid,#008080,12000,collapse-inner)" xpath="//flow/block[8]/block[2]/@border-start"/> + <eval expected="(solid,#800080,4000,collapse-outer)" xpath="//flow/block[8]/block[2]/@border-end"/> + <!-- cell 2.1 --> + <eval expected="97000" xpath="//flow/block[8]/block[3]/@ipd"/> + <eval expected="103000" xpath="//flow/block[8]/block[3]/@ipda"/> + <eval expected="39400" xpath="//flow/block[8]/block[3]/@bpd"/> + <eval expected="60400" xpath="//flow/block[8]/block[3]/@bpda"/> + <eval expected="3000" xpath="//flow/block[8]/block[3]/@left-offset"/> + <eval expected="34800" xpath="//flow/block[8]/block[3]/@top-offset"/> + <eval expected="(solid,#c0c0c0,15000,collapse-inner)" xpath="//flow/block[8]/block[3]/@border-before"/> + <eval expected="(solid,#000080,6000,collapse-outer)" xpath="//flow/block[8]/block[3]/@border-after"/> + <eval expected="(solid,#800080,6000,collapse-outer)" xpath="//flow/block[8]/block[3]/@border-start"/> + <eval expected="97000" xpath="//flow/block[8]/block[4]/@ipd"/> + <eval expected="103000" xpath="//flow/block[8]/block[4]/@ipda"/> + <eval expected="39400" xpath="//flow/block[8]/block[4]/@bpd"/> + <eval expected="60400" xpath="//flow/block[8]/block[4]/@bpda"/> + <eval expected="100000" xpath="//flow/block[8]/block[4]/@left-offset"/> + <eval expected="34800" xpath="//flow/block[8]/block[4]/@top-offset"/> + <eval expected="(solid,#c0c0c0,15000,collapse-inner)" xpath="//flow/block[8]/block[4]/@border-before"/> + <eval expected="(solid,#000080,6000,collapse-outer)" xpath="//flow/block[8]/block[4]/@border-after"/> + <eval expected="(solid,#808000,6000,collapse-outer)" xpath="//flow/block[8]/block[4]/@border-end"/> + <eval expected="144000" xpath="//flow/block[8]/block[5]/@ipd"/> + <eval expected="194000" xpath="//flow/block[8]/block[5]/@ipda"/> + <eval expected="14400" xpath="//flow/block[8]/block[5]/@bpd"/> + <eval expected="39400" xpath="//flow/block[8]/block[5]/@bpda"/> + <eval expected="23000" xpath="//flow/block[8]/block[5]/@left-offset"/> + <eval expected="49800" xpath="//flow/block[8]/block[5]/@top-offset"/> + + </checks> +</testcase> diff --git a/test/layoutengine/standard-testcases/table_border-collapse_collapse_spans_2.xml b/test/layoutengine/standard-testcases/table_border-collapse_collapse_spans_2.xml new file mode 100644 index 000000000..4579307ec --- /dev/null +++ b/test/layoutengine/standard-testcases/table_border-collapse_collapse_spans_2.xml @@ -0,0 +1,689 @@ +<?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 collapsing-border model and complex spanning cells. + </p> + </info> + <fo> + <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> + <fo:layout-master-set> + <fo:simple-page-master master-name="normal" page-width="16cm" page-height="30cm" 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 tables</fo:block> + <!-- table 1 --> + <fo:table table-layout="fixed" width="400pt" border-collapse="collapse"> + <fo:table-column number-columns-repeated="4" column-width="proportional-column-width(1)"/> + <fo:table-body> + <fo:table-row> + <fo:table-cell + border-top ="4pt solid black" + border-bottom="4pt solid black" + border-left ="4pt solid black" + border-right ="4pt solid black"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top ="6pt solid silver" + border-bottom="6pt hidden silver" + border-left ="6pt solid silver" + border-right ="6pt solid silver"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + <fo:table-cell + border-top ="5pt solid green" + border-bottom="5pt solid green" + border-left ="5pt solid green" + border-right ="5pt solid green"> + <fo:block>Cell 1.3 Cell 1.3 Cell 1.3 Cell 1.3</fo:block> + </fo:table-cell> + <fo:table-cell number-rows-spanned="2" + border-top ="15pt solid navy" + border-bottom="30pt solid navy" + border-left ="15pt solid navy" + border-right =" 5pt solid navy"> + <fo:block>Cell 1.4</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top ="12pt solid maroon" + border-bottom=" 6pt double maroon" + border-left =" 6pt solid maroon" + border-right =" 6pt solid maroon"> + <fo:block>Cell 2.1 Cell 2.1 Cell 2.1 Cell 2.1 Cell 2.1 Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell number-rows-spanned="2" number-columns-spanned="2" + background-color="yellow" + border-top ="4pt solid red" + border-bottom="4pt dashed red" + border-left ="10pt dashed red" + border-right ="4pt double red"> + <fo:block>Cell 2.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top ="6pt double fuchsia" + border-bottom="6pt inset fuchsia" + border-left ="30pt solid fuchsia" + border-right ="6pt inset fuchsia"> + <fo:block>Cell 3.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top ="5pt ridge maroon" + border-bottom="6pt solid maroon" + border-left ="10pt none maroon" + border-right ="6pt none maroon"> + <fo:block>Cell 3.4</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top =" 6pt inset black" + border-bottom=" 4pt solid black" + border-left =" 4pt solid black" + border-right ="40pt solid black"> + <fo:block>Cell 4.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top =" 5pt outset silver" + border-bottom="60pt solid silver" + border-left =" 6pt solid silver" + border-right =" 6pt none silver"> + <fo:block>Cell 4.2 Cell 4.2</fo:block> + </fo:table-cell> + <fo:table-cell number-rows-spanned="3" number-columns-spanned="2" + background-color="yellow" + border-top ="40pt double green" + border-bottom="5pt solid green" + border-left ="6pt solid green" + border-right ="5pt dashed green"> + <fo:block>Cell 4.3 Cell 4.3 Cell 4.3 Cell 4.3 Cell 4.3 Cell 4.3</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top ="4pt solid black" + border-bottom="4pt solid black" + border-left ="4pt solid black" + border-right ="4pt solid black"> + <fo:block>Cell 5.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top ="6pt solid silver" + border-bottom="6pt hidden silver" + border-left ="6pt solid silver" + border-right ="60pt solid silver"> + <fo:block>Cell 5.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top ="12pt solid maroon" + border-bottom=" 6pt double maroon" + border-left =" 6pt solid maroon" + border-right =" 6pt solid maroon"> + <fo:block>Cell 6.1 Cell 6.1 Cell 6.1 Cell 6.1 Cell 6.1 Cell 6.1</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + + <fo:block space-before="10pt" space-after="10pt">Between tables</fo:block> + <!-- table 2 --> + <fo:table table-layout="fixed" width="400pt" border-collapse="collapse"> + <fo:table-column number-columns-repeated="4" 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="4pt solid teal"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell + padding="10pt" + border-top="4pt solid silver" + border-bottom="5pt solid purple" + border-left="5pt solid purple" + border-right="10pt solid olive"> + <fo:block>Cell 1.2 Cell 1.2</fo:block> + </fo:table-cell> + <fo:table-cell + border-top="6pt solid black" + border-bottom="6pt solid navy" + border-left="6pt solid purple" + border-right="16pt solid red"> + <fo:block>Cell 1.3</fo:block> + </fo:table-cell> + <fo:table-cell + border-top="0pt solid black" + border-bottom="10pt solid blue" + border-left="12pt solid red" + border-right="4pt solid teal"> + <fo:block>Cell 1.4</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top="10pt solid black" + border-bottom="4pt solid blue" + border-left="12pt solid purple" + border-right="4pt solid teal"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell number-rows-spanned="3" number-columns-spanned="3" + background-color="yellow" + padding="15pt" + border-top="4pt solid silver" + border-bottom="12pt solid navy" + border-left="2pt solid purple" + border-right="4pt solid olive"> + <fo:block>Cell 2.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top="3pt solid black" + border-bottom="10pt solid silver" + border-left="3pt solid red" + border-right="10pt solid teal"> + <fo:block>Cell 3.1 Cell 3.1 Cell 3.1 Cell 3.1</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell + border-top="6pt solid silver" + border-bottom="6pt solid navy" + border-left="6pt solid purple" + border-right="16pt solid olive"> + <fo:block>Cell 4.1</fo:block> + </fo:table-cell> + </fo:table-row> + <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 teal"> + <fo:block>Cell 5.1</fo:block> + </fo:table-cell> + <fo:table-cell + border-top="4pt solid silver" + border-bottom="4pt solid purple" + border-left="4pt solid purple" + border-right="10pt solid olive"> + <fo:block>Cell 5.2 Cell 5.2</fo:block> + </fo:table-cell> + <fo:table-cell + border-top="30pt solid silver" + border-bottom="6pt solid navy" + border-left="6pt solid purple" + border-right="16pt solid olive"> + <fo:block>Cell 5.3</fo:block> + </fo:table-cell> + <fo:table-cell + padding="20pt" + border-top="10pt solid black" + border-bottom="4pt solid blue" + border-left="12pt solid red" + border-right="4pt solid teal"> + <fo:block>Cell 5.4</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="293300" xpath="//flow/block[2]/@bpd"/> + <eval expected="293300" xpath="//flow/block[2]/@bpda"/> + <eval expected="95000" xpath="//flow/block[2]/block[1]/@ipd"/> + <eval expected="105000" xpath="//flow/block[2]/block[1]/@ipda"/> + <eval expected="25800" xpath="//flow/block[2]/block[1]/@bpd"/> + <eval expected="41800" 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,#800000,12000,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,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[1]/@border-end"/> + <eval expected="94000" xpath="//flow/block[2]/block[2]/@ipd"/> + <eval expected="106000" xpath="//flow/block[2]/block[2]/@ipda"/> + <eval expected="30800" xpath="//flow/block[2]/block[2]/@bpd"/> + <eval expected="36800" xpath="//flow/block[2]/block[2]/@bpda"/> + <eval expected="103000" xpath="//flow/block[2]/block[2]/@left-offset"/> + <eval expected="-3000" xpath="//flow/block[2]/block[2]/@top-offset"/> + <eval expected="(solid,#c0c0c0,6000,collapse-outer)" xpath="//flow/block[2]/block[2]/@border-before"/> + <eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[2]/@border-start"/> + <eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[2]/@border-end"/> + <eval expected="89500" xpath="//flow/block[2]/block[3]/@ipd"/> + <eval expected="110500" xpath="//flow/block[2]/block[3]/@ipda"/> + <eval expected="28800" xpath="//flow/block[2]/block[3]/@bpd"/> + <eval expected="38800" xpath="//flow/block[2]/block[3]/@bpda"/> + <eval expected="203000" xpath="//flow/block[2]/block[3]/@left-offset"/> + <eval expected="-2500" xpath="//flow/block[2]/block[3]/@top-offset"/> + <eval expected="(solid,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[3]/@border-before"/> + <eval expected="(solid,#008000,5000,collapse-inner)" xpath="//flow/block[2]/block[3]/@border-after"/> + <eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[3]/@border-start"/> + <eval expected="(solid,#000080,15000,collapse-inner)" xpath="//flow/block[2]/block[3]/@border-end"/> + <eval expected="92000" xpath="//flow/block[2]/block[4]/@ipd"/> + <eval expected="108000" xpath="//flow/block[2]/block[4]/@ipda"/> + <eval expected="43200" xpath="//flow/block[2]/block[4]/@bpd"/> + <eval expected="61200" xpath="//flow/block[2]/block[4]/@bpda"/> + <eval expected="3000" xpath="//flow/block[2]/block[4]/@left-offset"/> + <eval expected="27800" xpath="//flow/block[2]/block[4]/@top-offset"/> + <eval expected="(solid,#800000,12000,collapse-inner)" xpath="//flow/block[2]/block[4]/@border-before"/> + <eval expected="(double,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[4]/@border-after"/> + <eval expected="(solid,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[4]/@border-start"/> + <eval expected="(dashed,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[4]/@border-end"/> + <eval expected="90000" xpath="//flow/block[2]/block[5]/@ipd"/> + <eval expected="110000" xpath="//flow/block[2]/block[5]/@ipda"/> + <eval expected="26300" xpath="//flow/block[2]/block[5]/@bpd"/> + <eval expected="41300" xpath="//flow/block[2]/block[5]/@bpda"/> + <eval expected="307500" xpath="//flow/block[2]/block[5]/@left-offset"/> + <eval expected="-7500" xpath="//flow/block[2]/block[5]/@top-offset"/> + <eval expected="(solid,#000080,15000,collapse-outer)" xpath="//flow/block[2]/block[5]/@border-before"/> + <eval expected="(solid,#000080,15000,collapse-inner)" xpath="//flow/block[2]/block[5]/@border-start"/> + <eval expected="90000" xpath="//flow/block[2]/block[6]/@ipd"/> + <eval expected="110000" xpath="//flow/block[2]/block[6]/@ipda"/> + <eval expected="37200" xpath="//flow/block[2]/block[6]/@bpd"/> + <eval expected="67200" xpath="//flow/block[2]/block[6]/@bpda"/> + <eval expected="307500" xpath="//flow/block[2]/block[6]/@left-offset"/> + <eval expected="33800" xpath="//flow/block[2]/block[6]/@top-offset"/> + <eval expected="(solid,#000080,30000,collapse-inner)" xpath="//flow/block[2]/block[6]/@border-after"/> + <eval expected="(solid,#000080,15000,collapse-inner)" xpath="//flow/block[2]/block[6]/@border-start"/> + <eval expected="90000" xpath="//flow/block[2]/block[7]/@ipd"/> + <eval expected="90000" xpath="//flow/block[2]/block[7]/@ipda"/> + <eval expected="63500" xpath="//flow/block[2]/block[7]/@bpd"/> + <eval expected="63500" xpath="//flow/block[2]/block[7]/@bpda"/> + <eval expected="307500" xpath="//flow/block[2]/block[7]/@left-offset"/> + <eval expected="7500" xpath="//flow/block[2]/block[7]/@top-offset"/> + <!-- + <eval expected="80000" xpath="//flow/block[2]/block[8]/@ipd"/> + <eval expected="120000" xpath="//flow/block[2]/block[8]/@ipda"/> + --> + <eval expected="43400" xpath="//flow/block[2]/block[8]/@bpd"/> + <eval expected="55400" xpath="//flow/block[2]/block[8]/@bpda"/> + <eval expected="15000" xpath="//flow/block[2]/block[8]/@left-offset"/> + <eval expected="83000" xpath="//flow/block[2]/block[8]/@top-offset"/> + <eval expected="(double,#ff00ff,6000,collapse-inner)" xpath="//flow/block[2]/block[8]/@border-before"/> + <eval expected="(inset,#ff00ff,6000,collapse-inner)" xpath="//flow/block[2]/block[8]/@border-after"/> + <eval expected="(solid,#ff00ff,30000,collapse-outer)" xpath="//flow/block[2]/block[8]/@border-start"/> + <!-- + <eval expected="(dashed,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[8]/@border-end"/> + --> + <eval expected="95000" xpath="//flow/block[2]/block[9]/@ipd"/> + <eval expected="105000" xpath="//flow/block[2]/block[9]/@ipda"/> + <eval expected="52200" xpath="//flow/block[2]/block[9]/@bpd"/> + <eval expected="52200" xpath="//flow/block[2]/block[9]/@bpda"/> + <eval expected="105000" xpath="//flow/block[2]/block[9]/@left-offset"/> + <eval expected="33800" xpath="//flow/block[2]/block[9]/@top-offset"/> + <eval expected="(dashed,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[9]/@border-start"/> + <!-- + <eval expected="92500" xpath="//flow/block[2]/block[10]/@ipd"/> + <eval expected="107500" xpath="//flow/block[2]/block[10]/@ipda"/> + --> + <eval expected="49700" xpath="//flow/block[2]/block[10]/@bpd"/> + <eval expected="54700" xpath="//flow/block[2]/block[10]/@bpda"/> + <eval expected="200000" xpath="//flow/block[2]/block[10]/@left-offset"/> + <eval expected="31300" xpath="//flow/block[2]/block[10]/@top-offset"/> + <eval expected="(solid,#008000,5000,collapse-inner)" xpath="//flow/block[2]/block[10]/@border-before"/> + <!-- + <eval expected="(solid,#000080,15000,collapse-inner)" xpath="//flow/block[2]/block[10]/@border-end"/> + --> + <eval expected="95000" xpath="//flow/block[2]/block[11]/@ipd"/> + <eval expected="105000" xpath="//flow/block[2]/block[11]/@ipda"/> + <eval expected="46900" xpath="//flow/block[2]/block[11]/@bpd"/> + <eval expected="51900" xpath="//flow/block[2]/block[11]/@bpda"/> + <eval expected="105000" xpath="//flow/block[2]/block[11]/@left-offset"/> + <eval expected="86000" xpath="//flow/block[2]/block[11]/@top-offset"/> + <eval expected="(outset,#c0c0c0,5000,collapse-inner)" xpath="//flow/block[2]/block[11]/@border-after"/> + <eval expected="(dashed,#ff0000,10000,collapse-inner)" xpath="//flow/block[2]/block[11]/@border-start"/> + <eval expected="98000" xpath="//flow/block[2]/block[12]/@ipd"/> + <eval expected="102000" xpath="//flow/block[2]/block[12]/@ipda"/> + <eval expected="29400" xpath="//flow/block[2]/block[12]/@bpd"/> + <eval expected="69400" xpath="//flow/block[2]/block[12]/@bpda"/> + <eval expected="200000" xpath="//flow/block[2]/block[12]/@left-offset"/> + <eval expected="86000" xpath="//flow/block[2]/block[12]/@top-offset"/> + <eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[12]/@border-after"/> + <eval expected="(double,#ff0000,4000,collapse-inner)" xpath="//flow/block[2]/block[12]/@border-end"/> + <!-- + <eval expected="187500" xpath="//flow/block[2]/block[13]/@ipd"/> + <eval expected="187500" xpath="//flow/block[2]/block[13]/@ipda"/> + --> + <eval expected="79100" xpath="//flow/block[2]/block[13]/@bpd"/> + <eval expected="79100" xpath="//flow/block[2]/block[13]/@bpda"/> + <eval expected="105000" xpath="//flow/block[2]/block[13]/@left-offset"/> + <eval expected="36300" xpath="//flow/block[2]/block[13]/@top-offset"/> + <eval expected="98000" xpath="//flow/block[2]/block[14]/@ipd"/> + <eval expected="102000" xpath="//flow/block[2]/block[14]/@ipda"/> + <eval expected="14400" xpath="//flow/block[2]/block[14]/@bpd"/> + <eval expected="84400" xpath="//flow/block[2]/block[14]/@bpda"/> + <eval expected="302000" xpath="//flow/block[2]/block[14]/@left-offset"/> + <eval expected="71000" xpath="//flow/block[2]/block[14]/@top-offset"/> + <eval expected="(solid,#000080,30000,collapse-inner)" xpath="//flow/block[2]/block[14]/@border-before"/> + <eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[14]/@border-after"/> + <eval expected="(double,#ff0000,4000,collapse-inner)" xpath="//flow/block[2]/block[14]/@border-start"/> + <eval expected="78000" xpath="//flow/block[2]/block[15]/@ipd"/> + <eval expected="122000" xpath="//flow/block[2]/block[15]/@ipda"/> + <eval expected="56300" xpath="//flow/block[2]/block[15]/@bpd"/> + <eval expected="66300" xpath="//flow/block[2]/block[15]/@bpda"/> + <eval expected="2000" xpath="//flow/block[2]/block[15]/@left-offset"/> + <eval expected="132400" xpath="//flow/block[2]/block[15]/@top-offset"/> + <eval expected="(inset,#000000,6000,collapse-inner)" xpath="//flow/block[2]/block[15]/@border-before"/> + <eval expected="(solid,#000000,4000,collapse-inner)" xpath="//flow/block[2]/block[15]/@border-after"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[15]/@border-start"/> + <eval expected="(solid,#000000,40000,collapse-inner)" xpath="//flow/block[2]/block[15]/@border-end"/> + <eval expected="77000" xpath="//flow/block[2]/block[16]/@ipd"/> + <eval expected="123000" xpath="//flow/block[2]/block[16]/@ipda"/> + <eval expected="28800" xpath="//flow/block[2]/block[16]/@bpd"/> + <eval expected="93800" xpath="//flow/block[2]/block[16]/@bpda"/> + <eval expected="120000" xpath="//flow/block[2]/block[16]/@left-offset"/> + <eval expected="132900" xpath="//flow/block[2]/block[16]/@top-offset"/> + <eval expected="(outset,#c0c0c0,5000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-before"/> + <eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-after"/> + <eval expected="(solid,#000000,40000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-start"/> + <eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[16]/@border-end"/> + <eval expected="95000" xpath="//flow/block[2]/block[17]/@ipd"/> + <eval expected="105000" xpath="//flow/block[2]/block[17]/@ipda"/> + <eval expected="36400" xpath="//flow/block[2]/block[17]/@bpd"/> + <eval expected="52400" xpath="//flow/block[2]/block[17]/@bpda"/> + <eval expected="2000" xpath="//flow/block[2]/block[17]/@left-offset"/> + <eval expected="194700" xpath="//flow/block[2]/block[17]/@top-offset"/> + <eval expected="(solid,#000000,4000,collapse-inner)" xpath="//flow/block[2]/block[17]/@border-before"/> + <eval expected="(solid,#800000,12000,collapse-inner)" xpath="//flow/block[2]/block[17]/@border-after"/> + <eval expected="(solid,#000000,4000,collapse-outer)" xpath="//flow/block[2]/block[17]/@border-start"/> + <eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[17]/@border-end"/> + <eval expected="67000" xpath="//flow/block[2]/block[18]/@ipd"/> + <eval expected="133000" xpath="//flow/block[2]/block[18]/@ipda"/> + <eval expected="14400" xpath="//flow/block[2]/block[18]/@bpd"/> + <eval expected="74400" xpath="//flow/block[2]/block[18]/@bpda"/> + <eval expected="103000" xpath="//flow/block[2]/block[18]/@left-offset"/> + <eval expected="166700" xpath="//flow/block[2]/block[18]/@top-offset"/> + <eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[18]/@border-before"/> + <eval expected="(solid,#c0c0c0,6000,collapse-inner)" xpath="//flow/block[2]/block[18]/@border-start"/> + <eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[18]/@border-end"/> + <eval expected="94000" xpath="//flow/block[2]/block[19]/@ipd"/> + <eval expected="106000" xpath="//flow/block[2]/block[19]/@ipda"/> + <eval expected="43200" xpath="//flow/block[2]/block[19]/@bpd"/> + <eval expected="61200" xpath="//flow/block[2]/block[19]/@bpda"/> + <eval expected="3000" xpath="//flow/block[2]/block[19]/@left-offset"/> + <eval expected="235100" xpath="//flow/block[2]/block[19]/@top-offset"/> + <eval expected="(solid,#800000,12000,collapse-inner)" xpath="//flow/block[2]/block[19]/@border-before"/> + <eval expected="(double,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[19]/@border-after"/> + <eval expected="(solid,#800000,6000,collapse-outer)" xpath="//flow/block[2]/block[19]/@border-start"/> + <eval expected="(solid,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[19]/@border-end"/> + <!-- + <eval expected="94000" xpath="//flow/block[2]/block[20]/@ipd"/> + <eval expected="106000" xpath="//flow/block[2]/block[20]/@ipda"/> + <eval expected="52200" xpath="//flow/block[2]/block[20]/@bpd"/> + <eval expected="52200" xpath="//flow/block[2]/block[20]/@bpda"/> + <eval expected="103000" xpath="//flow/block[2]/block[20]/@left-offset"/> + <eval expected="241100" xpath="//flow/block[2]/block[20]/@top-offset"/> + <eval expected="(double,#800000,0,collapse-outer)" xpath="//flow/block[2]/block[20]/@border-after"/> + <eval expected="(solid,#800000,6000,collapse-inner)" xpath="//flow/block[2]/block[20]/@border-start"/> + <eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[20]/@border-end"/> + --> + <eval expected="97000" xpath="//flow/block[2]/block[20]/@ipd"/> + <eval expected="103000" xpath="//flow/block[2]/block[20]/@ipda"/> + <eval expected="41300" xpath="//flow/block[2]/block[20]/@bpd"/> + <eval expected="81300" xpath="//flow/block[2]/block[20]/@bpda"/> + <eval expected="203000" xpath="//flow/block[2]/block[20]/@left-offset"/> + <eval expected="115400" xpath="//flow/block[2]/block[20]/@top-offset"/> + <eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[20]/@border-before"/> + <eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[20]/@border-start"/> + <eval expected="97500" xpath="//flow/block[2]/block[21]/@ipd"/> + <eval expected="102500" xpath="//flow/block[2]/block[21]/@ipda"/> + <eval expected="41300" xpath="//flow/block[2]/block[21]/@bpd"/> + <eval expected="81300" xpath="//flow/block[2]/block[21]/@bpda"/> + <eval expected="300000" xpath="//flow/block[2]/block[21]/@left-offset"/> + <eval expected="115400" xpath="//flow/block[2]/block[21]/@top-offset"/> + <eval expected="(double,#008000,40000,collapse-inner)" xpath="//flow/block[2]/block[21]/@border-before"/> + <eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[21]/@border-end"/> + <eval expected="70000" xpath="//flow/block[2]/block[22]/@ipd"/> + <eval expected="130000" xpath="//flow/block[2]/block[22]/@ipda"/> + <eval expected="44400" xpath="//flow/block[2]/block[22]/@bpd"/> + <eval expected="44400" xpath="//flow/block[2]/block[22]/@bpda"/> + <eval expected="230000" xpath="//flow/block[2]/block[22]/@left-offset"/> + <eval expected="196700" xpath="//flow/block[2]/block[22]/@top-offset"/> + <eval expected="(solid,#c0c0c0,60000,collapse-inner)" xpath="//flow/block[2]/block[22]/@border-start"/> + <eval expected="97500" xpath="//flow/block[2]/block[23]/@ipd"/> + <eval expected="102500" xpath="//flow/block[2]/block[23]/@ipda"/> + <eval expected="44400" xpath="//flow/block[2]/block[23]/@bpd"/> + <eval expected="44400" xpath="//flow/block[2]/block[23]/@bpda"/> + <eval expected="300000" xpath="//flow/block[2]/block[23]/@left-offset"/> + <eval expected="196700" xpath="//flow/block[2]/block[23]/@top-offset"/> + <eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[23]/@border-end"/> + <eval expected="97000" xpath="//flow/block[2]/block[24]/@ipd"/> + <eval expected="103000" xpath="//flow/block[2]/block[24]/@ipda"/> + <eval expected="49700" xpath="//flow/block[2]/block[24]/@bpd"/> + <eval expected="54700" xpath="//flow/block[2]/block[24]/@bpda"/> + <eval expected="203000" xpath="//flow/block[2]/block[24]/@left-offset"/> + <eval expected="241100" xpath="//flow/block[2]/block[24]/@top-offset"/> + <eval expected="(solid,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[24]/@border-after"/> + <eval expected="(solid,#008000,6000,collapse-inner)" xpath="//flow/block[2]/block[24]/@border-start"/> + <eval expected="97500" xpath="//flow/block[2]/block[25]/@ipd"/> + <eval expected="102500" xpath="//flow/block[2]/block[25]/@ipda"/> + <eval expected="49700" xpath="//flow/block[2]/block[25]/@bpd"/> + <eval expected="54700" xpath="//flow/block[2]/block[25]/@bpda"/> + <eval expected="300000" xpath="//flow/block[2]/block[25]/@left-offset"/> + <eval expected="241100" xpath="//flow/block[2]/block[25]/@top-offset"/> + <eval expected="(solid,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[25]/@border-after"/> + <eval expected="(dashed,#008000,5000,collapse-outer)" xpath="//flow/block[2]/block[25]/@border-end"/> + <eval expected="167500" xpath="//flow/block[2]/block[26]/@ipd"/> + <eval expected="167500" xpath="//flow/block[2]/block[26]/@ipda"/> + <eval expected="135400" xpath="//flow/block[2]/block[26]/@bpd"/> + <eval expected="135400" xpath="//flow/block[2]/block[26]/@bpda"/> + <eval expected="230000" xpath="//flow/block[2]/block[26]/@left-offset"/> + <eval expected="155400" xpath="//flow/block[2]/block[26]/@top-offset"/> + + <!-- table 2 --> + <eval expected="199300" xpath="//flow/block[4]/@bpd"/> + <eval expected="199300" xpath="//flow/block[4]/@bpda"/> + <eval expected="91500" xpath="//flow/block[4]/block[1]/@ipd"/> + <eval expected="108500" xpath="//flow/block[4]/block[1]/@ipda"/> + <eval expected="41300" xpath="//flow/block[4]/block[1]/@bpd"/> + <eval expected="65300" xpath="//flow/block[4]/block[1]/@bpda"/> + <eval expected="6000" xpath="//flow/block[4]/block[1]/@left-offset"/> + <eval expected="-6000" xpath="//flow/block[4]/block[1]/@top-offset"/> + <eval expected="(solid,#000000,12000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-before"/> + <eval expected="(solid,#0000ff,12000,collapse-inner)" xpath="//flow/block[4]/block[1]/@border-after"/> + <eval expected="(solid,#ff0000,12000,collapse-outer)" xpath="//flow/block[4]/block[1]/@border-start"/> + <eval expected="(solid,#800080,5000,collapse-inner)" xpath="//flow/block[4]/block[1]/@border-end"/> + <eval expected="72500" xpath="//flow/block[4]/block[2]/@ipd"/> + <eval expected="107500" xpath="//flow/block[4]/block[2]/@ipda"/> + <eval expected="28800" xpath="//flow/block[4]/block[2]/@bpd"/> + <eval expected="57800" xpath="//flow/block[4]/block[2]/@bpda"/> + <eval expected="112500" xpath="//flow/block[4]/block[2]/@left-offset"/> + <eval expected="-2000" xpath="//flow/block[4]/block[2]/@top-offset"/> + <eval expected="(solid,#c0c0c0,4000,collapse-outer)" xpath="//flow/block[4]/block[2]/@border-before"/> + <eval expected="(solid,#800080,5000,collapse-inner)" xpath="//flow/block[4]/block[2]/@border-after"/> + <eval expected="(solid,#800080,5000,collapse-inner)" xpath="//flow/block[4]/block[2]/@border-start"/> + <eval expected="(solid,#808000,10000,collapse-inner)" xpath="//flow/block[4]/block[2]/@border-end"/> + <eval expected="87000" xpath="//flow/block[4]/block[3]/@ipd"/> + <eval expected="113000" xpath="//flow/block[4]/block[3]/@ipda"/> + <eval expected="47300" xpath="//flow/block[4]/block[3]/@bpd"/> + <eval expected="59300" xpath="//flow/block[4]/block[3]/@bpda"/> + <eval expected="205000" xpath="//flow/block[4]/block[3]/@left-offset"/> + <eval expected="-3000" xpath="//flow/block[4]/block[3]/@top-offset"/> + <eval expected="(solid,#000000,6000,collapse-outer)" xpath="//flow/block[4]/block[3]/@border-before"/> + <eval expected="(solid,#000080,6000,collapse-inner)" xpath="//flow/block[4]/block[3]/@border-after"/> + <eval expected="(solid,#808000,10000,collapse-inner)" xpath="//flow/block[4]/block[3]/@border-start"/> + <eval expected="(solid,#ff0000,16000,collapse-inner)" xpath="//flow/block[4]/block[3]/@border-end"/> + <eval expected="90000" xpath="//flow/block[4]/block[4]/@ipd"/> + <eval expected="110000" xpath="//flow/block[4]/block[4]/@ipda"/> + <eval expected="48300" xpath="//flow/block[4]/block[4]/@bpd"/> + <eval expected="58300" xpath="//flow/block[4]/block[4]/@bpda"/> + <eval expected="308000" xpath="//flow/block[4]/block[4]/@left-offset"/> + <eval expected="(solid,#0000ff,10000,collapse-inner)" xpath="//flow/block[4]/block[4]/@border-after"/> + <eval expected="(solid,#ff0000,16000,collapse-inner)" xpath="//flow/block[4]/block[4]/@border-start"/> + <eval expected="(solid,#008080,4000,collapse-outer)" xpath="//flow/block[4]/block[4]/@border-end"/> + <eval expected="92000" xpath="//flow/block[4]/block[5]/@ipd"/> + <eval expected="108000" xpath="//flow/block[4]/block[5]/@ipda"/> + <eval expected="14400" xpath="//flow/block[4]/block[5]/@bpd"/> + <eval expected="30400" xpath="//flow/block[4]/block[5]/@bpda"/> + <eval expected="6000" xpath="//flow/block[4]/block[5]/@left-offset"/> + <eval expected="47300" xpath="//flow/block[4]/block[5]/@top-offset"/> + <eval expected="(solid,#0000ff,12000,collapse-inner)" xpath="//flow/block[4]/block[5]/@border-before"/> + <eval expected="(solid,#0000ff,4000,collapse-inner)" xpath="//flow/block[4]/block[5]/@border-after"/> + <eval expected="(solid,#800080,12000,collapse-outer)" xpath="//flow/block[4]/block[5]/@border-start"/> + <eval expected="(solid,#008080,4000,collapse-inner)" xpath="//flow/block[4]/block[5]/@border-end"/> + <eval expected="93500" xpath="//flow/block[4]/block[6]/@ipd"/> + <eval expected="106500" xpath="//flow/block[4]/block[6]/@ipda"/> + <eval expected="28800" xpath="//flow/block[4]/block[6]/@bpd"/> + <eval expected="42800" xpath="//flow/block[4]/block[6]/@bpda"/> + <eval expected="1500" xpath="//flow/block[4]/block[6]/@left-offset"/> + <eval expected="73700" xpath="//flow/block[4]/block[6]/@top-offset"/> + <eval expected="(solid,#0000ff,4000,collapse-inner)" xpath="//flow/block[4]/block[6]/@border-before"/> + <eval expected="(solid,#c0c0c0,10000,collapse-inner)" xpath="//flow/block[4]/block[6]/@border-after"/> + <eval expected="(solid,#ff0000,3000,collapse-outer)" xpath="//flow/block[4]/block[6]/@border-start"/> + <eval expected="(solid,#008080,10000,collapse-inner)" xpath="//flow/block[4]/block[6]/@border-end"/> + <eval expected="89000" xpath="//flow/block[4]/block[7]/@ipd"/> + <eval expected="111000" xpath="//flow/block[4]/block[7]/@ipda"/> + <eval expected="14400" xpath="//flow/block[4]/block[7]/@bpd"/> + <eval expected="36400" xpath="//flow/block[4]/block[7]/@bpda"/> + <eval expected="3000" xpath="//flow/block[4]/block[7]/@left-offset"/> + <eval expected="106500" xpath="//flow/block[4]/block[7]/@top-offset"/> + <eval expected="(solid,#c0c0c0,10000,collapse-inner)" xpath="//flow/block[4]/block[7]/@border-before"/> + <eval expected="(solid,#000000,12000,collapse-inner)" xpath="//flow/block[4]/block[7]/@border-after"/> + <eval expected="(solid,#800080,6000,collapse-outer)" xpath="//flow/block[4]/block[7]/@border-start"/> + <eval expected="(solid,#808000,16000,collapse-inner)" xpath="//flow/block[4]/block[7]/@border-end"/> + <eval expected="98000" xpath="//flow/block[4]/block[8]/@ipd"/> + <eval expected="102000" xpath="//flow/block[4]/block[8]/@ipda"/> + <eval expected="19900" xpath="//flow/block[4]/block[8]/@bpd"/> + <eval expected="24900" xpath="//flow/block[4]/block[8]/@bpda"/> + <eval expected="102000" xpath="//flow/block[4]/block[8]/@left-offset"/> + <eval expected="50800" xpath="//flow/block[4]/block[8]/@top-offset"/> + <eval expected="(solid,#800080,5000,collapse-inner)" xpath="//flow/block[4]/block[8]/@border-before"/> + <eval expected="(solid,#008080,4000,collapse-inner)" xpath="//flow/block[4]/block[8]/@border-start"/> + <eval expected="100000" xpath="//flow/block[4]/block[9]/@ipd"/> + <eval expected="100000" xpath="//flow/block[4]/block[9]/@ipda"/> + <eval expected="19400" xpath="//flow/block[4]/block[9]/@bpd"/> + <eval expected="25400" xpath="//flow/block[4]/block[9]/@bpda"/> + <eval expected="200000" xpath="//flow/block[4]/block[9]/@left-offset"/> + <eval expected="50300" xpath="//flow/block[4]/block[9]/@top-offset"/> + <eval expected="(solid,#000080,6000,collapse-inner)" xpath="//flow/block[4]/block[9]/@border-before"/> + <eval expected="98000" xpath="//flow/block[4]/block[10]/@ipd"/> + <eval expected="102000" xpath="//flow/block[4]/block[10]/@ipda"/> + <eval expected="17400" xpath="//flow/block[4]/block[10]/@bpd"/> + <eval expected="27400" xpath="//flow/block[4]/block[10]/@bpda"/> + <eval expected="300000" xpath="//flow/block[4]/block[10]/@left-offset"/> + <eval expected="48300" xpath="//flow/block[4]/block[10]/@top-offset"/> + <eval expected="(solid,#0000ff,10000,collapse-inner)" xpath="//flow/block[4]/block[10]/@border-before"/> + <eval expected="(solid,#808000,4000,collapse-outer)" xpath="//flow/block[4]/block[10]/@border-end"/> + <eval expected="95000" xpath="//flow/block[4]/block[11]/@ipd"/> + <eval expected="105000" xpath="//flow/block[4]/block[11]/@ipda"/> + <eval expected="35800" xpath="//flow/block[4]/block[11]/@bpd"/> + <eval expected="35800" xpath="//flow/block[4]/block[11]/@bpda"/> + <eval expected="105000" xpath="//flow/block[4]/block[11]/@left-offset"/> + <eval expected="75700" xpath="//flow/block[4]/block[11]/@top-offset"/> + <eval expected="(solid,#008080,10000,collapse-inner)" xpath="//flow/block[4]/block[11]/@border-start"/> + <eval expected="98000" xpath="//flow/block[4]/block[12]/@ipd"/> + <eval expected="102000" xpath="//flow/block[4]/block[12]/@ipda"/> + <eval expected="35800" xpath="//flow/block[4]/block[12]/@bpd"/> + <eval expected="35800" xpath="//flow/block[4]/block[12]/@bpda"/> + <eval expected="300000" xpath="//flow/block[4]/block[12]/@left-offset"/> + <eval expected="75700" xpath="//flow/block[4]/block[12]/@top-offset"/> + <eval expected="(solid,#808000,4000,collapse-outer)" xpath="//flow/block[4]/block[12]/@border-end"/> + <eval expected="92000" xpath="//flow/block[4]/block[13]/@ipd"/> + <eval expected="108000" xpath="//flow/block[4]/block[13]/@ipda"/> + <eval expected="19400" xpath="//flow/block[4]/block[13]/@bpd"/> + <eval expected="31400" xpath="//flow/block[4]/block[13]/@bpda"/> + <eval expected="108000" xpath="//flow/block[4]/block[13]/@left-offset"/> + <eval expected="111500" xpath="//flow/block[4]/block[13]/@top-offset"/> + <eval expected="(solid,#000080,12000,collapse-inner)" xpath="//flow/block[4]/block[13]/@border-after"/> + <eval expected="(solid,#808000,16000,collapse-inner)" xpath="//flow/block[4]/block[13]/@border-start"/> + <eval expected="100000" xpath="//flow/block[4]/block[14]/@ipd"/> + <eval expected="100000" xpath="//flow/block[4]/block[14]/@ipda"/> + <eval expected="10400" xpath="//flow/block[4]/block[14]/@bpd"/> + <eval expected="40400" xpath="//flow/block[4]/block[14]/@bpda"/> + <eval expected="200000" xpath="//flow/block[4]/block[14]/@left-offset"/> + <eval expected="111500" xpath="//flow/block[4]/block[14]/@top-offset"/> + <eval expected="(solid,#c0c0c0,30000,collapse-inner)" xpath="//flow/block[4]/block[14]/@border-after"/> + <eval expected="98000" xpath="//flow/block[4]/block[15]/@ipd"/> + <eval expected="102000" xpath="//flow/block[4]/block[15]/@ipda"/> + <eval expected="19400" xpath="//flow/block[4]/block[15]/@bpd"/> + <eval expected="31400" xpath="//flow/block[4]/block[15]/@bpda"/> + <eval expected="300000" xpath="//flow/block[4]/block[15]/@left-offset"/> + <eval expected="111500" xpath="//flow/block[4]/block[15]/@top-offset"/> + <eval expected="(solid,#000080,12000,collapse-inner)" xpath="//flow/block[4]/block[15]/@border-after"/> + <eval expected="(solid,#808000,4000,collapse-outer)" xpath="//flow/block[4]/block[15]/@border-end"/> + <eval expected="260000" xpath="//flow/block[4]/block[16]/@ipd"/> + <eval expected="290000" xpath="//flow/block[4]/block[16]/@ipda"/> + <eval expected="33600" xpath="//flow/block[4]/block[16]/@bpd"/> + <eval expected="63600" xpath="//flow/block[4]/block[16]/@bpda"/> + <eval expected="123000" xpath="//flow/block[4]/block[16]/@left-offset"/> + <eval expected="58300" xpath="//flow/block[4]/block[16]/@top-offset"/> + <eval expected="88000" xpath="//flow/block[4]/block[17]/@ipd"/> + <eval expected="112000" xpath="//flow/block[4]/block[17]/@ipda"/> + <eval expected="50400" xpath="//flow/block[4]/block[17]/@bpd"/> + <eval expected="74400" xpath="//flow/block[4]/block[17]/@bpda"/> + <eval expected="6000" xpath="//flow/block[4]/block[17]/@left-offset"/> + <eval expected="130900" xpath="//flow/block[4]/block[17]/@top-offset"/> + <eval expected="(solid,#000000,12000,collapse-inner)" xpath="//flow/block[4]/block[17]/@border-before"/> + <eval expected="(solid,#0000ff,12000,collapse-outer)" xpath="//flow/block[4]/block[17]/@border-after"/> + <eval expected="(solid,#ff0000,12000,collapse-outer)" xpath="//flow/block[4]/block[17]/@border-start"/> + <eval expected="(solid,#008080,12000,collapse-inner)" xpath="//flow/block[4]/block[17]/@border-end"/> + <eval expected="89000" xpath="//flow/block[4]/block[18]/@ipd"/> + <eval expected="111000" xpath="//flow/block[4]/block[18]/@ipda"/> + <eval expected="54400" xpath="//flow/block[4]/block[18]/@bpd"/> + <eval expected="70400" xpath="//flow/block[4]/block[18]/@bpda"/> + <eval expected="106000" xpath="//flow/block[4]/block[18]/@left-offset"/> + <eval expected="130900" xpath="//flow/block[4]/block[18]/@top-offset"/> + <eval expected="(solid,#000080,12000,collapse-inner)" xpath="//flow/block[4]/block[18]/@border-before"/> + <eval expected="(solid,#800080,4000,collapse-outer)" xpath="//flow/block[4]/block[18]/@border-after"/> + <eval expected="(solid,#008080,12000,collapse-inner)" xpath="//flow/block[4]/block[18]/@border-start"/> + <eval expected="(solid,#808000,10000,collapse-inner)" xpath="//flow/block[4]/block[18]/@border-end"/> + <eval expected="87000" xpath="//flow/block[4]/block[19]/@ipd"/> + <eval expected="113000" xpath="//flow/block[4]/block[19]/@ipda"/> + <eval expected="44400" xpath="//flow/block[4]/block[19]/@bpd"/> + <eval expected="80400" xpath="//flow/block[4]/block[19]/@bpda"/> + <eval expected="205000" xpath="//flow/block[4]/block[19]/@left-offset"/> + <eval expected="121900" xpath="//flow/block[4]/block[19]/@top-offset"/> + <eval expected="(solid,#c0c0c0,30000,collapse-inner)" xpath="//flow/block[4]/block[19]/@border-before"/> + <eval expected="(solid,#000080,6000,collapse-outer)" xpath="//flow/block[4]/block[19]/@border-after"/> + <eval expected="(solid,#808000,10000,collapse-inner)" xpath="//flow/block[4]/block[19]/@border-start"/> + <eval expected="(solid,#808000,16000,collapse-inner)" xpath="//flow/block[4]/block[19]/@border-end"/> + <eval expected="50000" xpath="//flow/block[4]/block[20]/@ipd"/> + <eval expected="110000" xpath="//flow/block[4]/block[20]/@ipda"/> + <eval expected="14400" xpath="//flow/block[4]/block[20]/@bpd"/> + <eval expected="70400" xpath="//flow/block[4]/block[20]/@bpda"/> + <eval expected="328000" xpath="//flow/block[4]/block[20]/@left-offset"/> + <eval expected="130900" xpath="//flow/block[4]/block[20]/@top-offset"/> + <eval expected="(solid,#000080,12000,collapse-inner)" xpath="//flow/block[4]/block[20]/@border-before"/> + <eval expected="(solid,#0000ff,4000,collapse-outer)" xpath="//flow/block[4]/block[20]/@border-after"/> + <eval expected="(solid,#808000,16000,collapse-inner)" xpath="//flow/block[4]/block[20]/@border-start"/> + <eval expected="(solid,#008080,4000,collapse-outer)" xpath="//flow/block[4]/block[20]/@border-end"/> + </checks> +</testcase> |