Quellcode durchsuchen

First test case for keep-with-previous.

Added checks for the "within-column" part for all three test cases.


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_KnuthStylePageBreaking@198526 13f79535-47bb-0310-9956-ffa450edef68
Temp_KnuthStylePageBreaking
Jeremias Maerki vor 19 Jahren
Ursprung
Commit
235ba2a81b

+ 51
- 18
test/layoutengine/testcases/keep-together1.xml Datei anzeigen

<fo:flow flow-name="xsl-region-body"> <fo:flow flow-name="xsl-region-body">
<fo:block>block11</fo:block> <fo:block>block11</fo:block>
<fo:block>block12</fo:block> <fo:block>block12</fo:block>
<fo:block-container keep-together.within-page="always">
<fo:block>block13</fo:block>
<fo:block>block14</fo:block>
<fo:block>block15</fo:block>
</fo:block-container>
<fo:block>block16</fo:block>
<fo:block keep-together.within-column="always">block13
<fo:inline font-style="italic">
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
</fo:inline>
</fo:block>
<fo:block>block14</fo:block>
<fo:block>block15</fo:block>
<fo:block keep-together.within-column="always">
<fo:block>block16</fo:block>
<fo:block>block17</fo:block>
<fo:block>block18</fo:block>
<fo:block>block19</fo:block>
</fo:block>
<fo:block>block20</fo:block>
</fo:flow> </fo:flow>
</fo:page-sequence> </fo:page-sequence>
<fo:page-sequence master-reference="normal"> <fo:page-sequence master-reference="normal">
<fo:flow flow-name="xsl-region-body"> <fo:flow flow-name="xsl-region-body">
<fo:block>block21</fo:block> <fo:block>block21</fo:block>
<fo:block>block22</fo:block> <fo:block>block22</fo:block>
<fo:block-container keep-together.within-page="always">
<fo:block>block23</fo:block>
<fo:block>block24</fo:block>
<fo:block>block25</fo:block>
</fo:block-container>
<fo:block>block26</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="normal">
<fo:flow flow-name="xsl-region-body">
<fo:block>block31</fo:block>
<fo:block>block32</fo:block>
<fo:block keep-together.within-page="always"> <fo:block keep-together.within-page="always">
<fo:block-container> <fo:block-container>
<fo:block>block23</fo:block>
<fo:block>block33</fo:block>
</fo:block-container> </fo:block-container>
<fo:block>block24</fo:block>
<fo:block>block25</fo:block>
<fo:block>block34</fo:block>
<fo:block>block35</fo:block>
</fo:block> </fo:block>
<fo:block>block26</fo:block>
<fo:block>block36</fo:block>
</fo:flow> </fo:flow>
</fo:page-sequence> </fo:page-sequence>
</fo:root> </fo:root>
<eval expected="6" xpath="//lineArea[starts-with(., 'block12')]/ancestor::pageViewport/@nr"/> <eval expected="6" xpath="//lineArea[starts-with(., 'block12')]/ancestor::pageViewport/@nr"/>
<eval expected="7" xpath="//lineArea[starts-with(., 'block13')]/ancestor::pageViewport/@nr"/> <eval expected="7" xpath="//lineArea[starts-with(., 'block13')]/ancestor::pageViewport/@nr"/>
<eval expected="7" xpath="//lineArea[starts-with(., 'block14')]/ancestor::pageViewport/@nr"/> <eval expected="7" xpath="//lineArea[starts-with(., 'block14')]/ancestor::pageViewport/@nr"/>
<eval expected="7" xpath="//lineArea[starts-with(., 'block15')]/ancestor::pageViewport/@nr"/>
<eval expected="7" xpath="//lineArea[starts-with(., 'block16')]/ancestor::pageViewport/@nr"/>
<eval expected="8" xpath="//lineArea[starts-with(., 'block15')]/ancestor::pageViewport/@nr"/>
<eval expected="9" xpath="//lineArea[starts-with(., 'block16')]/ancestor::pageViewport/@nr"/>
<eval expected="9" xpath="//lineArea[starts-with(., 'block17')]/ancestor::pageViewport/@nr"/>
<eval expected="9" xpath="//lineArea[starts-with(., 'block18')]/ancestor::pageViewport/@nr"/>
<eval expected="9" xpath="//lineArea[starts-with(., 'block19')]/ancestor::pageViewport/@nr"/>
<eval expected="10" xpath="//lineArea[starts-with(., 'block20')]/ancestor::pageViewport/@nr"/>
<eval expected="11" xpath="//lineArea[starts-with(., 'block21')]/ancestor::pageViewport/@nr"/>
<eval expected="11" xpath="//lineArea[starts-with(., 'block22')]/ancestor::pageViewport/@nr"/>
<eval expected="12" xpath="//lineArea[starts-with(., 'block23')]/ancestor::pageViewport/@nr"/>
<eval expected="12" xpath="//lineArea[starts-with(., 'block24')]/ancestor::pageViewport/@nr"/>
<eval expected="12" xpath="//lineArea[starts-with(., 'block25')]/ancestor::pageViewport/@nr"/>
<eval expected="12" xpath="//lineArea[starts-with(., 'block26')]/ancestor::pageViewport/@nr"/>


<eval expected="8" xpath="//lineArea[starts-with(., 'block21')]/ancestor::pageViewport/@nr"/>
<eval expected="8" xpath="//lineArea[starts-with(., 'block22')]/ancestor::pageViewport/@nr"/>
<eval expected="9" xpath="//lineArea[starts-with(., 'block23')]/ancestor::pageViewport/@nr"/>
<eval expected="9" xpath="//lineArea[starts-with(., 'block24')]/ancestor::pageViewport/@nr"/>
<eval expected="9" xpath="//lineArea[starts-with(., 'block25')]/ancestor::pageViewport/@nr"/>
<eval expected="9" xpath="//lineArea[starts-with(., 'block26')]/ancestor::pageViewport/@nr"/>
<eval expected="13" xpath="//lineArea[starts-with(., 'block31')]/ancestor::pageViewport/@nr"/>
<eval expected="13" xpath="//lineArea[starts-with(., 'block32')]/ancestor::pageViewport/@nr"/>
<eval expected="14" xpath="//lineArea[starts-with(., 'block33')]/ancestor::pageViewport/@nr"/>
<eval expected="14" xpath="//lineArea[starts-with(., 'block34')]/ancestor::pageViewport/@nr"/>
<eval expected="14" xpath="//lineArea[starts-with(., 'block35')]/ancestor::pageViewport/@nr"/>
<eval expected="14" xpath="//lineArea[starts-with(., 'block36')]/ancestor::pageViewport/@nr"/>
</checks> </checks>
</testcase> </testcase>

+ 29
- 0
test/layoutengine/testcases/keep-with-next1.xml Datei anzeigen

<fo:block>block11</fo:block> <fo:block>block11</fo:block>
</fo:flow> </fo:flow>
</fo:page-sequence> </fo:page-sequence>
<fo:page-sequence master-reference="normal">
<fo:flow flow-name="xsl-region-body">
<fo:block>block21</fo:block>
<fo:block>block22</fo:block>
<fo:block keep-with-next.within-column="always">block23</fo:block>
<fo:block keep-with-next.within-column="always">block24</fo:block>
<fo:block>block25</fo:block>
<fo:block keep-with-next.within-column="always">
<fo:block>block26</fo:block>
<fo:block>block27</fo:block>
<fo:block>block28</fo:block>
<fo:block>block29</fo:block>
<fo:block>block30</fo:block>
</fo:block>
<fo:block>block31</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root> </fo:root>
</fo> </fo>
<checks> <checks>
<eval expected="3" xpath="//lineArea[starts-with(., 'block9')]/ancestor::pageViewport/@nr"/> <eval expected="3" xpath="//lineArea[starts-with(., 'block9')]/ancestor::pageViewport/@nr"/>
<eval expected="4" xpath="//lineArea[starts-with(., 'block10')]/ancestor::pageViewport/@nr"/> <eval expected="4" xpath="//lineArea[starts-with(., 'block10')]/ancestor::pageViewport/@nr"/>
<eval expected="4" xpath="//lineArea[starts-with(., 'block11')]/ancestor::pageViewport/@nr"/> <eval expected="4" xpath="//lineArea[starts-with(., 'block11')]/ancestor::pageViewport/@nr"/>

<eval expected="5" xpath="//lineArea[starts-with(., 'block21')]/ancestor::pageViewport/@nr"/>
<eval expected="5" xpath="//lineArea[starts-with(., 'block22')]/ancestor::pageViewport/@nr"/>
<eval expected="6" xpath="//lineArea[starts-with(., 'block23')]/ancestor::pageViewport/@nr"/>
<eval expected="6" xpath="//lineArea[starts-with(., 'block24')]/ancestor::pageViewport/@nr"/>
<eval expected="6" xpath="//lineArea[starts-with(., 'block25')]/ancestor::pageViewport/@nr"/>
<eval expected="6" xpath="//lineArea[starts-with(., 'block26')]/ancestor::pageViewport/@nr"/>
<eval expected="7" xpath="//lineArea[starts-with(., 'block27')]/ancestor::pageViewport/@nr"/>
<eval expected="7" xpath="//lineArea[starts-with(., 'block28')]/ancestor::pageViewport/@nr"/>
<eval expected="7" xpath="//lineArea[starts-with(., 'block29')]/ancestor::pageViewport/@nr"/>
<eval expected="8" xpath="//lineArea[starts-with(., 'block30')]/ancestor::pageViewport/@nr"/>
<eval expected="8" xpath="//lineArea[starts-with(., 'block31')]/ancestor::pageViewport/@nr"/>
</checks> </checks>
</testcase> </testcase>

+ 95
- 0
test/layoutengine/testcases/keep-with-previous1.xml Datei anzeigen

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2005 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

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

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- $Id$ -->
<testcase>
<info>
<p>
This test checks keep-with-previous.
</p>
<p>
Widows and Orphans are disabled in this test to avoid side-effects.
</p>
</info>
<fo>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg" white-space-collapse="true" widows="0" orphans="0">
<fo:layout-master-set>
<fo:simple-page-master master-name="normal" page-width="5in" page-height="4.5 * 14.4pt">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="normal">
<fo:flow flow-name="xsl-region-body">
<fo:block>block1</fo:block>
<fo:block>block2</fo:block>
<fo:block>block3</fo:block>
<fo:block keep-with-previous.within-page="always">block4</fo:block>
<fo:block keep-with-previous.within-page="always">block5</fo:block>
<fo:block>
<fo:block>block6</fo:block>
<fo:block>block7</fo:block>
<fo:block>block8</fo:block>
<fo:block>block9</fo:block>
<fo:block>block10</fo:block>
</fo:block>
<fo:block keep-with-previous.within-page="always">block11</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="normal">
<fo:flow flow-name="xsl-region-body">
<fo:block>block21</fo:block>
<fo:block>block22</fo:block>
<fo:block>block23</fo:block>
<fo:block keep-with-previous.within-column="always">block24</fo:block>
<fo:block keep-with-previous.within-column="always">block25</fo:block>
<fo:block>
<fo:block>block26</fo:block>
<fo:block>block27</fo:block>
<fo:block>block28</fo:block>
<fo:block>block29</fo:block>
<fo:block>block30</fo:block>
</fo:block>
<fo:block keep-with-previous.within-column="always">block31</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<eval expected="1" xpath="//lineArea[starts-with(., 'block1')]/ancestor::pageViewport/@nr"/>
<eval expected="1" xpath="//lineArea[starts-with(., 'block2')]/ancestor::pageViewport/@nr"/>
<eval expected="2" xpath="//lineArea[starts-with(., 'block3')]/ancestor::pageViewport/@nr"/>
<eval expected="2" xpath="//lineArea[starts-with(., 'block4')]/ancestor::pageViewport/@nr"/>
<eval expected="2" xpath="//lineArea[starts-with(., 'block5')]/ancestor::pageViewport/@nr"/>
<eval expected="2" xpath="//lineArea[starts-with(., 'block6')]/ancestor::pageViewport/@nr"/>
<eval expected="3" xpath="//lineArea[starts-with(., 'block7')]/ancestor::pageViewport/@nr"/>
<eval expected="3" xpath="//lineArea[starts-with(., 'block8')]/ancestor::pageViewport/@nr"/>
<eval expected="3" xpath="//lineArea[starts-with(., 'block9')]/ancestor::pageViewport/@nr"/>
<eval expected="4" xpath="//lineArea[starts-with(., 'block10')]/ancestor::pageViewport/@nr"/>
<eval expected="4" xpath="//lineArea[starts-with(., 'block11')]/ancestor::pageViewport/@nr"/>

<eval expected="5" xpath="//lineArea[starts-with(., 'block21')]/ancestor::pageViewport/@nr"/>
<eval expected="5" xpath="//lineArea[starts-with(., 'block22')]/ancestor::pageViewport/@nr"/>
<eval expected="6" xpath="//lineArea[starts-with(., 'block23')]/ancestor::pageViewport/@nr"/>
<eval expected="6" xpath="//lineArea[starts-with(., 'block24')]/ancestor::pageViewport/@nr"/>
<eval expected="6" xpath="//lineArea[starts-with(., 'block25')]/ancestor::pageViewport/@nr"/>
<eval expected="6" xpath="//lineArea[starts-with(., 'block26')]/ancestor::pageViewport/@nr"/>
<eval expected="7" xpath="//lineArea[starts-with(., 'block27')]/ancestor::pageViewport/@nr"/>
<eval expected="7" xpath="//lineArea[starts-with(., 'block28')]/ancestor::pageViewport/@nr"/>
<eval expected="7" xpath="//lineArea[starts-with(., 'block29')]/ancestor::pageViewport/@nr"/>
<eval expected="8" xpath="//lineArea[starts-with(., 'block30')]/ancestor::pageViewport/@nr"/>
<eval expected="8" xpath="//lineArea[starts-with(., 'block31')]/ancestor::pageViewport/@nr"/>
</checks>
</testcase>

Laden…
Abbrechen
Speichern