Skip to content

Commit 635d7ab

Browse files
Veronika Lisovskayayulian-gaponenko
authored andcommitted
Add test for check resources released after conversion
DEVSIX-2314
1 parent fe2dd85 commit 635d7ab

File tree

6 files changed

+88
-5
lines changed

6 files changed

+88
-5
lines changed

src/test/java/com/itextpdf/html2pdf/resolver/font/LocalFontResolverReleaseTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,8 @@ public void testThatLocalFontIsReleasedAfterConversion() throws IOException {
4949
}
5050

5151
// The resource must be freed after the conversion
52-
File resourceToBeremoved = new File(workDirFontFile);
53-
resourceToBeremoved.delete();
54-
Assert.assertFalse(resourceToBeremoved.exists());
52+
File resourceToBeRemoved = new File(workDirFontFile);
53+
resourceToBeRemoved.delete();
54+
Assert.assertFalse(resourceToBeRemoved.exists());
5555
}
56-
5756
}

src/test/java/com/itextpdf/html2pdf/resolver/form/NameResolverTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ This file is part of the iText (R) project.
4242
*/
4343
package com.itextpdf.html2pdf.resolver.form;
4444

45-
import com.itextpdf.layout.element.Paragraph;
4645
import com.itextpdf.test.ExtendedITextTest;
4746
import com.itextpdf.test.annotations.type.UnitTest;
4847
import org.junit.Assert;
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package com.itextpdf.html2pdf.resolver.resource;
2+
3+
import com.itextpdf.html2pdf.HtmlConverter;
4+
import com.itextpdf.styledxmlparser.LogMessageConstant;
5+
import com.itextpdf.test.ExtendedITextTest;
6+
import com.itextpdf.test.annotations.LogMessage;
7+
import com.itextpdf.test.annotations.LogMessages;
8+
import com.itextpdf.test.annotations.type.IntegrationTest;
9+
import java.io.File;
10+
import java.io.IOException;
11+
import java.nio.file.Files;
12+
import java.nio.file.Paths;
13+
import org.junit.Assert;
14+
import org.junit.BeforeClass;
15+
import org.junit.Test;
16+
import org.junit.experimental.categories.Category;
17+
18+
@Category(IntegrationTest.class)
19+
public class LocalImageResolverReleaseTest extends ExtendedITextTest {
20+
21+
public static final String sourceFolder = "./src/test/resources/com/itextpdf/html2pdf/resolver/resource/LocalImageResolverReleaseTest/";
22+
public static final String destinationFolder = "./target/test/com/itextpdf/html2pdf/resolver/resource/LocalImageResolverReleaseTest/";
23+
24+
@BeforeClass
25+
public static void beforeClass() {
26+
createOrClearDestinationFolder(destinationFolder);
27+
}
28+
29+
@Test
30+
@LogMessages(messages = {@LogMessage(messageTemplate = LogMessageConstant.ERROR_RESOLVING_PARENT_STYLES, count = 60)})
31+
public void testThatSvgIsReleasedAfterConversion() throws IOException {
32+
String htmlFileName = "testWithSvg.html";
33+
String svgFileName = "imageWithMultipleShapes.svg";
34+
String imageFileName = "image.png";
35+
String sourceHtmlFile = sourceFolder + htmlFileName;
36+
String sourceSvgFile = sourceFolder + svgFileName;
37+
String sourceImageFile = sourceFolder + imageFileName;
38+
39+
String workDir = destinationFolder + "work/";
40+
createDestinationFolder(workDir);
41+
String targetPdfFile = workDir + "target.pdf";
42+
43+
String workDirHtmlFile = workDir + htmlFileName;
44+
String workDirSvgFile = workDir + svgFileName;
45+
String workDirImageFile = workDir + imageFileName;
46+
Files.copy(Paths.get(sourceHtmlFile), Paths.get(workDirHtmlFile));
47+
Files.copy(Paths.get(sourceSvgFile), Paths.get(workDirSvgFile));
48+
Files.copy(Paths.get(sourceImageFile), Paths.get(workDirImageFile));
49+
for (int i = 0; i < 10; i++) {
50+
HtmlConverter.convertToPdf(new File(workDirHtmlFile), new File(targetPdfFile));
51+
}
52+
53+
// The resource must be freed after the conversion
54+
File resourceToBeRemoved = new File(workDirSvgFile);
55+
resourceToBeRemoved.delete();
56+
Assert.assertFalse(resourceToBeRemoved.exists());
57+
58+
resourceToBeRemoved = new File(workDirImageFile);
59+
resourceToBeRemoved.delete();
60+
Assert.assertFalse(resourceToBeRemoved.exists());
61+
}
62+
63+
}
3.75 KB
Loading
Lines changed: 5 additions & 0 deletions
Loading
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>Example</title>
5+
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
6+
</head>
7+
8+
<body>
9+
<h1>images within html</h1>
10+
<p> Example SVG Image</p>
11+
<img src="imageWithMultipleShapes.svg"/>
12+
<p>Example Object1</p>
13+
<object data="imageWithMultipleShapes.svg" type="image/svg+xml"></object>
14+
<p> Example Image</p>
15+
<img src="image.png"/>
16+
</body>
17+
</html>

0 commit comments

Comments
 (0)