Skip to content

Commit d76ea83

Browse files
author
Alexandr Fedorov
committed
Add test for list items position
DEVSIX-9040
1 parent 14a99a8 commit d76ea83

File tree

7 files changed

+279
-0
lines changed

7 files changed

+279
-0
lines changed

src/test/java/com/itextpdf/html2pdf/element/ListTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,24 @@ public void descendingListTest() throws IOException, InterruptedException {
186186
convertToPdfAndCompare("descendingListTest", SOURCE_FOLDER, DESTINATION_FOLDER);
187187
}
188188

189+
@Test
190+
//TODO DEVSIX-2431 Positioned elements (e.g. absolute positioning) are lost when block is split across pages
191+
public void positionAbsolutePageSplitTest() throws IOException, InterruptedException {
192+
convertToPdfAndCompare("positionAbsolutePageSplit", SOURCE_FOLDER, DESTINATION_FOLDER);
193+
}
194+
195+
@Test
196+
//TODO DEVSIX-2431 Positioned elements (e.g. absolute positioning) are lost when block is split across pages
197+
public void noPositionPageSplitTest() throws IOException, InterruptedException {
198+
convertToPdfAndCompare("noPositionPageSplit", SOURCE_FOLDER, DESTINATION_FOLDER);
199+
}
200+
201+
@Test
202+
//TODO DEVSIX-2431 Positioned elements (e.g. absolute positioning) are lost when block is split across pages
203+
public void relativePositionPageSplitTest() throws IOException, InterruptedException {
204+
convertToPdfAndCompare("relativePositionPageSplit", SOURCE_FOLDER, DESTINATION_FOLDER);
205+
}
206+
189207
@Test
190208
//TODO DEVSIX-2431 Positioned elements (e.g. absolute positioning) are lost when block is split across pages
191209
public void listItemAbsolutePositionTest() throws IOException, InterruptedException {
Binary file not shown.
Binary file not shown.
Binary file not shown.
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<title>No position on list elements with page split</title>
5+
<style type='text/css'>
6+
ol {
7+
counter-reset: listCounter;
8+
list-style-type: none;
9+
}
10+
ol li {
11+
counter-increment: listCounter;
12+
position: relative;
13+
}
14+
ol li::before {
15+
content: counter(listCounter)".";
16+
display: block;
17+
}
18+
</style>
19+
</head>
20+
<body>
21+
<div style="height: 750px;"></div>
22+
<div>
23+
<ol>
24+
<li>
25+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
26+
dolore magna aliqua.
27+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
28+
consequat.
29+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
30+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
31+
laborum.
32+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
33+
dolore magna aliqua.
34+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
35+
consequat.
36+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
37+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
38+
laborum.
39+
</li>
40+
<li>
41+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
42+
dolore magna aliqua.
43+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
44+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
45+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
46+
laborum.
47+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
48+
dolore magna aliqua.
49+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
50+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
51+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
52+
laborum.
53+
</li>
54+
<li>
55+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
56+
dolore magna aliqua.
57+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
58+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
59+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
60+
laborum.
61+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
62+
dolore magna aliqua.
63+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
64+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
65+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
66+
laborum.
67+
</li>
68+
<li>
69+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
70+
dolore magna aliqua.
71+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
72+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
73+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
74+
laborum.
75+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
76+
dolore magna aliqua.
77+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
78+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
79+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
80+
laborum.
81+
</li>
82+
</ol>
83+
</div>
84+
</body>
85+
</html>
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<title>Absolute position on list elements with page split</title>
5+
<style type='text/css'>
6+
ol {
7+
counter-reset: listCounter;
8+
list-style-type: none;
9+
}
10+
ol li {
11+
counter-increment: listCounter;
12+
position: relative;
13+
}
14+
ol li::before {
15+
content: counter(listCounter)".";
16+
position: absolute;
17+
display: block;
18+
left: -15px;
19+
}
20+
</style>
21+
</head>
22+
<body>
23+
<div style="height: 750px;"></div>
24+
<div>
25+
<ol>
26+
<li>
27+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
28+
dolore magna aliqua.
29+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
30+
consequat.
31+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
32+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
33+
laborum.
34+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
35+
dolore magna aliqua.
36+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
37+
consequat.
38+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
39+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
40+
laborum.
41+
</li>
42+
<li>
43+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
44+
dolore magna aliqua.
45+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
46+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
47+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
48+
laborum.
49+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
50+
dolore magna aliqua.
51+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
52+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
53+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
54+
laborum.
55+
</li>
56+
<li>
57+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
58+
dolore magna aliqua.
59+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
60+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
61+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
62+
laborum.
63+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
64+
dolore magna aliqua.
65+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
66+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
67+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
68+
laborum.
69+
</li>
70+
<li>
71+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
72+
dolore magna aliqua.
73+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
74+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
75+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
76+
laborum.
77+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
78+
dolore magna aliqua.
79+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
80+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
81+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
82+
laborum.
83+
</li>
84+
</ol>
85+
</div>
86+
</body>
87+
</html>
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<title>Relative position on list elements with page split</title>
5+
<style type='text/css'>
6+
ol {
7+
counter-reset: listCounter;
8+
list-style-type: none;
9+
}
10+
ol li {
11+
counter-increment: listCounter;
12+
position: relative;
13+
}
14+
ol li::before {
15+
content: counter(listCounter)".";
16+
position: relative;
17+
display: block;
18+
left: -15px;
19+
top: 18px;
20+
}
21+
</style>
22+
</head>
23+
<body>
24+
<div style="height: 700px;"></div>
25+
<div>
26+
<ol>
27+
<li>
28+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
29+
dolore magna aliqua.
30+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
31+
consequat.
32+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
33+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
34+
laborum.
35+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
36+
dolore magna aliqua.
37+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
38+
consequat.
39+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
40+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
41+
laborum.
42+
43+
</li>
44+
<li>
45+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
46+
dolore magna aliqua.
47+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
48+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
49+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
50+
laborum.
51+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
52+
dolore magna aliqua.
53+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
54+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
55+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
56+
laborum.
57+
</li>
58+
<li>
59+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
60+
dolore magna aliqua.
61+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
62+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
63+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
64+
laborum.
65+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
66+
dolore magna aliqua.
67+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
68+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
69+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
70+
laborum.
71+
</li>
72+
<li>
73+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
74+
dolore magna aliqua.
75+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
76+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
77+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
78+
laborum.
79+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
80+
dolore magna aliqua.
81+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
82+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
83+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
84+
laborum.
85+
</li>
86+
</ol>
87+
</div>
88+
</body>
89+
</html>

0 commit comments

Comments
 (0)