blob: 25a8513913ef428da66bb7cd8558ee078f4e3d30 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
<?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 in-flow block-containers with reference orientation.
Special case with nested block-containers from Bugzilla #36391.
</p>
</info>
<fo>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
<fo:layout-master-set>
<fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
<fo:region-body column-count="2"/>
</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>Reference orientation : 0</fo:block>
<fo:block-container border="dotted 1pt" width="90pt" height="60pt">
<fo:block-container border="solid 1pt" width="30pt" reference-orientation="0">
<fo:block>ABC</fo:block>
</fo:block-container>
</fo:block-container>
<fo:block>Reference orientation : 90</fo:block>
<fo:block-container border="dotted 1pt" width="90pt" height="60pt">
<fo:block-container border="solid 1pt" width="30pt" reference-orientation="90">
<fo:block>ABC</fo:block>
</fo:block-container>
</fo:block-container>
<fo:block>Reference orientation : -270</fo:block>
<fo:block-container border="dotted 1pt" width="90pt" height="60pt">
<fo:block-container width="30pt" border="solid 1pt" reference-orientation="-270">
<fo:block>ABC</fo:block>
</fo:block-container>
</fo:block-container>
<fo:block break-before="column">Reference orientation : 180</fo:block>
<fo:block-container border="dotted 1pt" width="90pt" height="60pt">
<fo:block-container width="30pt" border="solid 1pt" reference-orientation="180">
<fo:block>ABC</fo:block>
</fo:block-container>
</fo:block-container>
<fo:block>Reference orientation : -180</fo:block>
<fo:block-container border="dotted 1pt" width="90pt" height="60pt">
<fo:block-container width="30pt" border="solid 1pt" reference-orientation="-180">
<fo:block>ABC</fo:block>
</fo:block-container>
</fo:block-container>
<fo:block>Reference orientation : 270</fo:block>
<fo:block-container border="dotted 1pt" width="90pt" height="60pt">
<fo:block-container width="30pt" border="solid 1pt" reference-orientation="270">
<fo:block>ABC</fo:block>
</fo:block-container>
</fo:block-container>
<fo:block>Reference orientation : -90</fo:block>
<fo:block-container border="dotted 1pt" width="90pt" height="60pt">
<fo:block-container width="30pt" border="solid 1pt" reference-orientation="-90">
<fo:block>ABC</fo:block>
</fo:block-container>
</fo:block-container>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<!-- 0 -->
<eval expected="[1.0 0.0 0.0 1.0 0.0 1000.0]" xpath="//mainReference/span/flow[1]/block[2]/@ctm"/>
<eval expected="[1.0 0.0 0.0 1.0 0.0 1000.0]" xpath="//mainReference/span/flow[1]/block[2]/block[1]/block[1]/@ctm"/>
<!-- 90 -->
<eval expected="[1.0 0.0 0.0 1.0 0.0 1000.0]" xpath="//mainReference/span/flow[1]/block[4]/@ctm"/>
<eval expected="[0.0 -1.0 1.0 0.0 0.0 31000.0]" xpath="//mainReference/span/flow[1]/block[4]/block[1]/block[1]/@ctm"/>
<!-- -270 -->
<eval expected="[1.0 0.0 0.0 1.0 0.0 1000.0]" xpath="//mainReference/span/flow[1]/block[6]/@ctm"/>
<eval expected="[0.0 -1.0 1.0 0.0 0.0 31000.0]" xpath="//mainReference/span/flow[1]/block[6]/block[1]/block[1]/@ctm"/>
<!-- 180 -->
<eval expected="[1.0 0.0 0.0 1.0 0.0 1000.0]" xpath="//mainReference/span/flow[2]/block[2]/@ctm"/>
<!-- The following currently fails since the BCLM doesn't check the effective content BPD.
Another problem could probably arise if a BC with this ref-orientation is broken at the page end.
I'm pretty sure the element list is wrong in this case. It would need to be reversed I think. -->
<eval expected="[-1.0 -0.0 0.0 -1.0 30000.0 14400.0]" xpath="//mainReference/span/flow[2]/block[2]/block[1]/block[1]/@ctm"/>
<!-- -180 -->
<eval expected="[1.0 0.0 0.0 1.0 0.0 1000.0]" xpath="//mainReference/span/flow[2]/block[4]/@ctm"/>
<eval expected="[-1.0 -0.0 0.0 -1.0 30000.0 14400.0]" xpath="//mainReference/span/flow[2]/block[4]/block[1]/block[1]/@ctm"/>
<!-- 270 -->
<eval expected="[1.0 0.0 0.0 1.0 0.0 1000.0]" xpath="//mainReference/span/flow[2]/block[6]/@ctm"/>
<eval expected="[0.0 1.0 -1.0 0.0 90000.0 1000.0]" xpath="//mainReference/span/flow[2]/block[6]/block[1]/block[1]/@ctm"/>
<!-- -90 -->
<eval expected="[1.0 0.0 0.0 1.0 0.0 1000.0]" xpath="//mainReference/span/flow[2]/block[6]/@ctm"/>
<eval expected="[0.0 1.0 -1.0 0.0 90000.0 1000.0]" xpath="//mainReference/span/flow[2]/block[6]/block[1]/block[1]/@ctm"/>
</checks>
</testcase>
|