Skip to content

Commit ac9b889

Browse files
Kate IvanovaiText-CI
authored andcommitted
Move tests from FT repository
DEVSIX-3038
1 parent 158e496 commit ac9b889

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+551
-11
lines changed

src/test/java/com/itextpdf/html2pdf/ResourceResolverTest.java

Lines changed: 83 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,37 +46,33 @@ This file is part of the iText (R) project.
4646
import com.itextpdf.html2pdf.resolver.resource.HtmlResourceResolver;
4747
import com.itextpdf.kernel.pdf.xobject.PdfXObject;
4848
import com.itextpdf.kernel.utils.CompareTool;
49-
import com.itextpdf.styledxmlparser.resolver.resource.ResourceResolver;
5049
import com.itextpdf.svg.exceptions.SvgLogMessageConstant;
5150
import com.itextpdf.test.ExtendedITextTest;
5251
import com.itextpdf.test.annotations.LogMessage;
5352
import com.itextpdf.test.annotations.LogMessages;
5453
import com.itextpdf.test.annotations.type.IntegrationTest;
55-
56-
import java.io.*;
57-
import java.nio.channels.FileLock;
58-
5954
import org.junit.Assert;
6055
import org.junit.BeforeClass;
6156
import org.junit.Ignore;
6257
import org.junit.Test;
6358
import org.junit.experimental.categories.Category;
6459

60+
import java.io.File;
61+
import java.io.FileInputStream;
62+
import java.io.FileOutputStream;
63+
import java.io.IOException;
64+
6565
@Category(IntegrationTest.class)
6666
public class ResourceResolverTest extends ExtendedITextTest {
6767

6868
public static final String sourceFolder = "./src/test/resources/com/itextpdf/html2pdf/ResourceResolverTest/";
6969

7070
public static final String destinationFolder = "./target/test/com/itextpdf/html2pdf/ResourceResolverTest/";
7171

72-
private final String bLogoIncorrect = "data:image/png;base,iVBORw0KGgoAAAANSUhEUgAAAVoAAAAxCAMAAACsy5FpAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAqUExURQAAAPicJAdJdQdJdQdJdficJjBUbPicJgdJdQdJdficJficJQdJdficJlrFe50AAAAMdFJOUwCBe8I/Phe+65/saIJg0K4AAAMOSURBVHja7ZvbmqsgDIU5Bo/v/7q7/WZXsQYNuGy1muuZFH7DIiSglFLU6pZUbGQQNvXpNcC4caoNRvNxOuDUdf80HXk3VYewKp516DHWxuOc/0ye/U00duAwU+/qkWzfh9F9hzIHJxuzNa+fsa4I7Ihx+H+qUFN/sKVhzP7lH+a+qwY1gJHtmwFDPBHK1wLLjLOGTb2jIWhHScAF7RgOGod2CAGTFB8J2JodJ3Dq5kNow95oH3BdtsjGHE6LVu+P9iG5UlVwNjXOndGeRWuZEBBJLtWcMMK11nFoDfDL4TOEMUu0K/leIpNNpUrYFVsrDi2Mbb1DXqv5PV4quWzKHikJKq99utTsoI1dsMjBkr2dctoAMO3XQS2ogrNrJ5vH1OvtU6/ddIPR0k1g9K++bcSKo6Htf8wbdxpK2rnRigJRqAU3WiEylzzVlubCF0TLb/pTyZXH9o1WoKLVoKK8yBbUHS6IdjksZYpxo82WXIzIXhptYtmDRPbQaDXiPBZaaQl26ZBI6pfQ+gZ00A3CxkH6COo2rIwjom12KM/IJRehBUdF2wLrtUWS+56P/Q7aPUrheYnYRpE9LtrwSbSp7cxuJnv1qCWzk9AeEy3t0MAp2ccq93NogWHry3QWowqHPDK0mPSr8aXZAWQzO+hB17ebb9P5ZbDCu2obJPeiNQQWbAUse10VbbKqSLm9yRutQGT/8wO0G6+LdvV2Aaq0eDW0kmI3SHKvhZZkESnoTd5o5SIr+gb0A2g9wGQi67KUw5wdLajNEHymyCqo5B4RLawWHp10XcEC528suBOjJVwDZ2iOca9lBNsSl4jZE6Ntd6jXmtKVzeiIOy/aDzwTydmPZpJrzov2A89EsrKod8mVoq1y0LbsE02Zf/sVQSAObXa5ZSq5UkGoZw9LlqwRNkai5ZT7rRXyHkJgQqioSBipgjhGHPdMYy3hbLx8UDbDPTatndyeeW1HpaXtodxYyUO+zmoDUWjeUnHRB7d5E/KQnazRs0VdbWjI/EluloPnb26+KXIGI+e+7CBt/wAetDeCKwxY6QAAAABJRU5ErkJggg==";
73-
7472
private final String bLogoCorruptedData = "data:image/png;base64,,,iVBORw0KGgoAAAANSUhEUgAAAVoAAAAxCAMAAACsy5FpAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAqUExURQAAAPicJAdJdQdJdQdJdficJjBUbPicJgdJdQdJdficJficJQdJdficJlrFe50AAAAMdFJOUwCBe8I/Phe+65/saIJg0K4AAAMOSURBVHja7ZvbmqsgDIU5Bo/v/7q7/WZXsQYNuGy1muuZFH7DIiSglFLU6pZUbGQQNvXpNcC4caoNRvNxOuDUdf80HXk3VYewKp516DHWxuOc/0ye/U00duAwU+/qkWzfh9F9hzIHJxuzNa+fsa4I7Ihx+H+qUFN/sKVhzP7lH+a+qwY1gJHtmwFDPBHK1wLLjLOGTb2jIWhHScAF7RgOGod2CAGTFB8J2JodJ3Dq5kNow95oH3BdtsjGHE6LVu+P9iG5UlVwNjXOndGeRWuZEBBJLtWcMMK11nFoDfDL4TOEMUu0K/leIpNNpUrYFVsrDi2Mbb1DXqv5PV4quWzKHikJKq99utTsoI1dsMjBkr2dctoAMO3XQS2ogrNrJ5vH1OvtU6/ddIPR0k1g9K++bcSKo6Htf8wbdxpK2rnRigJRqAU3WiEylzzVlubCF0TLb/pTyZXH9o1WoKLVoKK8yBbUHS6IdjksZYpxo82WXIzIXhptYtmDRPbQaDXiPBZaaQl26ZBI6pfQ+gZ00A3CxkH6COo2rIwjom12KM/IJRehBUdF2wLrtUWS+56P/Q7aPUrheYnYRpE9LtrwSbSp7cxuJnv1qCWzk9AeEy3t0MAp2ccq93NogWHry3QWowqHPDK0mPSr8aXZAWQzO+hB17ebb9P5ZbDCu2obJPeiNQQWbAUse10VbbKqSLm9yRutQGT/8wO0G6+LdvV2Aaq0eDW0kmI3SHKvhZZkESnoTd5o5SIr+gb0A2g9wGQi67KUw5wdLajNEHymyCqo5B4RLawWHp10XcEC528suBOjJVwDZ2iOca9lBNsSl4jZE6Ntd6jXmtKVzeiIOy/aDzwTydmPZpJrzov2A89EsrKod8mVoq1y0LbsE02Zf/sVQSAObXa5ZSq5UkGoZw9LlqwRNkai5ZT7rRXyHkJgQqioSBipgjhGHPdMYy3hbLx8UDbDPTatndyeeW1HpaXtodxYyUO+zmoDUWjeUnHRB7d5E/KQnazRs0VdbWjI/EluloPnb26+KXIGI+e+7CBt/wAetDeCKwxY6QAAAABJRU5ErkJggg==";
7573

7674
private final String bLogo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVoAAAAxCAMAAACsy5FpAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAqUExURQAAAPicJAdJdQdJdQdJdficJjBUbPicJgdJdQdJdficJficJQdJdficJlrFe50AAAAMdFJOUwCBe8I/Phe+65/saIJg0K4AAAMOSURBVHja7ZvbmqsgDIU5Bo/v/7q7/WZXsQYNuGy1muuZFH7DIiSglFLU6pZUbGQQNvXpNcC4caoNRvNxOuDUdf80HXk3VYewKp516DHWxuOc/0ye/U00duAwU+/qkWzfh9F9hzIHJxuzNa+fsa4I7Ihx+H+qUFN/sKVhzP7lH+a+qwY1gJHtmwFDPBHK1wLLjLOGTb2jIWhHScAF7RgOGod2CAGTFB8J2JodJ3Dq5kNow95oH3BdtsjGHE6LVu+P9iG5UlVwNjXOndGeRWuZEBBJLtWcMMK11nFoDfDL4TOEMUu0K/leIpNNpUrYFVsrDi2Mbb1DXqv5PV4quWzKHikJKq99utTsoI1dsMjBkr2dctoAMO3XQS2ogrNrJ5vH1OvtU6/ddIPR0k1g9K++bcSKo6Htf8wbdxpK2rnRigJRqAU3WiEylzzVlubCF0TLb/pTyZXH9o1WoKLVoKK8yBbUHS6IdjksZYpxo82WXIzIXhptYtmDRPbQaDXiPBZaaQl26ZBI6pfQ+gZ00A3CxkH6COo2rIwjom12KM/IJRehBUdF2wLrtUWS+56P/Q7aPUrheYnYRpE9LtrwSbSp7cxuJnv1qCWzk9AeEy3t0MAp2ccq93NogWHry3QWowqHPDK0mPSr8aXZAWQzO+hB17ebb9P5ZbDCu2obJPeiNQQWbAUse10VbbKqSLm9yRutQGT/8wO0G6+LdvV2Aaq0eDW0kmI3SHKvhZZkESnoTd5o5SIr+gb0A2g9wGQi67KUw5wdLajNEHymyCqo5B4RLawWHp10XcEC528suBOjJVwDZ2iOca9lBNsSl4jZE6Ntd6jXmtKVzeiIOy/aDzwTydmPZpJrzov2A89EsrKod8mVoq1y0LbsE02Zf/sVQSAObXa5ZSq5UkGoZw9LlqwRNkai5ZT7rRXyHkJgQqioSBipgjhGHPdMYy3hbLx8UDbDPTatndyeeW1HpaXtodxYyUO+zmoDUWjeUnHRB7d5E/KQnazRs0VdbWjI/EluloPnb26+KXIGI+e+7CBt/wAetDeCKwxY6QAAAABJRU5ErkJggg==";
7775

78-
private final String svgBase64 = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiPiAgICA8bGluZSB4MT0iMCIgeTE9IjEwMCIgeDI9IjUwMCIgeTI9IjEwMCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiAgLz4gICAgPGxpbmUgeDE9IjAiIHkxPSIyMDAiIHgyPSI1MDAiIHkyPSIyMDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgIC8+ICAgIDxsaW5lIHgxPSIwIiB5MT0iMzAwIiB4Mj0iNTAwIiB5Mj0iMzAwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiICAvPiAgICA8bGluZSB4MT0iMCIgeTE9IjQwMCIgeDI9IjUwMCIgeTI9IjQwMCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiAgLz4gICAgPGxpbmUgeDE9IjEwMCIgeTE9IjAiIHgyPSIxMDAiIHkyPSI1MDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgIC8+ICAgIDxsaW5lIHgxPSIyMDAiIHkxPSIwIiB4Mj0iMjAwIiB5Mj0iNTAwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiICAvPiAgICA8bGluZSB4MT0iMzAwIiB5MT0iMCIgeDI9IjMwMCIgeTI9IjUwMCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiAgLz4gICAgPGxpbmUgeDE9IjQwMCIgeTE9IjAiIHgyPSI0MDAiIHkyPSI1MDAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgIC8+PC9zdmc+\n";
79-
8076
@BeforeClass
8177
public static void beforeClass() {
8278
createOrClearDestinationFolder(destinationFolder);
@@ -146,6 +142,84 @@ public void resourceResolverTest09() throws IOException, InterruptedException {
146142
Assert.assertNull(new CompareTool().compareByContent(outPdf, cmpPdf, destinationFolder, "diff09_"));
147143
}
148144

145+
@Test
146+
public void resourceResolverHtmlWithSvgTest01() throws IOException, InterruptedException {
147+
String outPdf = destinationFolder + "resourceResolverHtmlWithSvgTest01.pdf";
148+
String cmpPdf = sourceFolder + "cmp_resourceResolverHtmlWithSvgTest01.pdf";
149+
HtmlConverter.convertToPdf(new File(sourceFolder + "resourceResolverHtmlWithSvgTest01.html"), new File(outPdf));
150+
Assert.assertNull(new CompareTool().compareByContent(outPdf, cmpPdf, destinationFolder, "diff01_"));
151+
}
152+
153+
@Test
154+
@LogMessages(messages = {
155+
@LogMessage(messageTemplate = LogMessageConstant.WORKER_UNABLE_TO_PROCESS_OTHER_WORKER, count = 2),
156+
@LogMessage(messageTemplate = LogMessageConstant.UNABLE_TO_RETRIEVE_IMAGE_WITH_GIVEN_BASE_URI, count = 2)
157+
})
158+
public void resourceResolverHtmlWithSvgTest02() throws IOException, InterruptedException {
159+
String baseUri = sourceFolder + "%23r%e%2525s@o%25urces/";
160+
161+
String outPdf = destinationFolder + "resourceResolverHtmlWithSvgTest02.pdf";
162+
String cmpPdf = sourceFolder + "cmp_resourceResolverHtmlWithSvgTest02.pdf";
163+
try (FileInputStream fileInputStream = new FileInputStream(sourceFolder + "resourceResolverHtmlWithSvgTest02.html");
164+
FileOutputStream fileOutputStream = new FileOutputStream(outPdf)) {
165+
HtmlConverter.convertToPdf(fileInputStream, fileOutputStream, new ConverterProperties().setBaseUri(baseUri));
166+
}
167+
Assert.assertNull(new CompareTool().compareByContent(outPdf, cmpPdf, destinationFolder, "diff02_"));
168+
}
169+
170+
@Test
171+
public void resourceResolverHtmlWithSvgTest03() throws IOException, InterruptedException {
172+
String baseUri = sourceFolder + "%23r%e%2525s@o%25urces/";
173+
174+
String outPdf = destinationFolder + "resourceResolverHtmlWithSvgTest03.pdf";
175+
String cmpPdf = sourceFolder + "cmp_resourceResolverHtmlWithSvgTest03.pdf";
176+
try (FileInputStream fileInputStream = new FileInputStream(sourceFolder + "resourceResolverHtmlWithSvgTest03.html");
177+
FileOutputStream fileOutputStream = new FileOutputStream(outPdf)) {
178+
HtmlConverter.convertToPdf(fileInputStream, fileOutputStream, new ConverterProperties().setBaseUri(baseUri));
179+
}
180+
Assert.assertNull(new CompareTool().compareByContent(outPdf, cmpPdf, destinationFolder, "diff03_"));
181+
}
182+
183+
@Test
184+
public void resourceResolverHtmlWithSvgTest04() throws IOException, InterruptedException {
185+
String baseUri = sourceFolder;
186+
187+
String outPdf = destinationFolder + "resourceResolverHtmlWithSvgTest04.pdf";
188+
String cmpPdf = sourceFolder + "cmp_resourceResolverHtmlWithSvgTest04.pdf";
189+
try (FileInputStream fileInputStream = new FileInputStream(sourceFolder + "resourceResolverHtmlWithSvgTest04.html");
190+
FileOutputStream fileOutputStream = new FileOutputStream(outPdf)) {
191+
HtmlConverter.convertToPdf(fileInputStream, fileOutputStream, new ConverterProperties().setBaseUri(baseUri));
192+
}
193+
Assert.assertNull(new CompareTool().compareByContent(outPdf, cmpPdf, destinationFolder, "diff04_"));
194+
}
195+
196+
@Test
197+
//TODO: update after DEVSIX-2239 fix
198+
public void resourceResolverCssWithSvg() throws IOException, InterruptedException {
199+
String outPdf = destinationFolder + "resourceResolverCssWithSvg.pdf";
200+
String cmpPdf = sourceFolder + "cmp_resourceResolverCssWithSvg.pdf";
201+
HtmlConverter.convertToPdf(new File(sourceFolder + "resourceResolverCssWithSvg.html"), new File(outPdf));
202+
Assert.assertNull(new CompareTool().compareByContent(outPdf, cmpPdf, destinationFolder, "diffCss_"));
203+
}
204+
205+
@Test
206+
@LogMessages(messages = {
207+
@LogMessage(messageTemplate = com.itextpdf.styledxmlparser.LogMessageConstant.UNABLE_TO_RETRIEVE_IMAGE_WITH_GIVEN_BASE_URI),
208+
@LogMessage(messageTemplate = com.itextpdf.styledxmlparser.LogMessageConstant.UNABLE_TO_RETRIEVE_STREAM_WITH_GIVEN_BASE_URI),
209+
@LogMessage(messageTemplate = LogMessageConstant.WORKER_UNABLE_TO_PROCESS_OTHER_WORKER, count = 2)
210+
})
211+
public void resourceResolverHtmlWithSvgDifferentLevels() throws IOException, InterruptedException {
212+
String baseUri = sourceFolder;
213+
214+
String outPdf = destinationFolder + "resourceResolverHtmlWithSvgDifferentLevels.pdf";
215+
String cmpPdf = sourceFolder + "cmp_resourceResolverHtmlWithSvgDifferentLevels.pdf";
216+
try (FileInputStream fileInputStream = new FileInputStream(sourceFolder + "resourceResolverHtmlWithSvgDifferentLevels.html");
217+
FileOutputStream fileOutputStream = new FileOutputStream(outPdf)) {
218+
HtmlConverter.convertToPdf(fileInputStream, fileOutputStream, new ConverterProperties().setBaseUri(baseUri));
219+
}
220+
Assert.assertNull(new CompareTool().compareByContent(outPdf, cmpPdf, destinationFolder, "diffsvgLevels_"));
221+
}
222+
149223
@Test
150224
public void resourceResolverTest10() throws IOException, InterruptedException {
151225
String outPdf = destinationFolder + "resourceResolverTest10.pdf";
Lines changed: 23 additions & 0 deletions
Loading
Lines changed: 22 additions & 0 deletions
Loading
59 Bytes
Loading
3.75 KB
Loading
12.3 KB
Loading
Lines changed: 11 additions & 0 deletions
Loading
946 Bytes
Loading
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
@media all, print {
2+
3+
ul {
4+
list-style-image: url('defaultAspectRatioTest.svg');
5+
}
6+
ol {
7+
list-style-image: url('differentAspectRatios.svg');
8+
}
9+
dl {
10+
list-style-image: url('image folder/sqpurple.gif');
11+
}
12+
13+
}
Lines changed: 19 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)