From fef8e731c015f5db8c7d8537a56a091dafc7383f Mon Sep 17 00:00:00 2001 From: danfickle Date: Sun, 17 Mar 2019 17:11:42 +1100 Subject: [PATCH] #336 - Tests around broken images and images with display: block. Currently broken image links are causing a NPE. --- .../expected/replaced-img-display-block.pdf | Bin 0 -> 13165 bytes .../html/broken-img-in-inline-block.html | 17 +++++++++++ .../html/broken-img-in-table-cell.html | 19 ++++++++++++ .../html/replaced-img-display-block.html | 13 ++++++++ .../VisualRegressionTest.java | 28 ++++++++++++++++++ 5 files changed, 77 insertions(+) create mode 100644 openhtmltopdf-examples/src/main/resources/visualtest/expected/replaced-img-display-block.pdf create mode 100644 openhtmltopdf-examples/src/main/resources/visualtest/html/broken-img-in-inline-block.html create mode 100644 openhtmltopdf-examples/src/main/resources/visualtest/html/broken-img-in-table-cell.html create mode 100644 openhtmltopdf-examples/src/main/resources/visualtest/html/replaced-img-display-block.html diff --git a/openhtmltopdf-examples/src/main/resources/visualtest/expected/replaced-img-display-block.pdf b/openhtmltopdf-examples/src/main/resources/visualtest/expected/replaced-img-display-block.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f087278f95f0847cf7fea498eb09f1a00b3e5ea0 GIT binary patch literal 13165 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 QCoeYug^o^2SsLa40M*`D1poj5 literal 0 HcmV?d00001 diff --git a/openhtmltopdf-examples/src/main/resources/visualtest/html/broken-img-in-inline-block.html b/openhtmltopdf-examples/src/main/resources/visualtest/html/broken-img-in-inline-block.html new file mode 100644 index 000000000..04b13ded4 --- /dev/null +++ b/openhtmltopdf-examples/src/main/resources/visualtest/html/broken-img-in-inline-block.html @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/openhtmltopdf-examples/src/main/resources/visualtest/html/broken-img-in-table-cell.html b/openhtmltopdf-examples/src/main/resources/visualtest/html/broken-img-in-table-cell.html new file mode 100644 index 000000000..5debeb8b6 --- /dev/null +++ b/openhtmltopdf-examples/src/main/resources/visualtest/html/broken-img-in-table-cell.html @@ -0,0 +1,19 @@ + + + + + + + + +
+ + diff --git a/openhtmltopdf-examples/src/main/resources/visualtest/html/replaced-img-display-block.html b/openhtmltopdf-examples/src/main/resources/visualtest/html/replaced-img-display-block.html new file mode 100644 index 000000000..4d6c0bb7a --- /dev/null +++ b/openhtmltopdf-examples/src/main/resources/visualtest/html/replaced-img-display-block.html @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/openhtmltopdf-examples/src/test/java/com/openhtmltopdf/visualregressiontests/VisualRegressionTest.java b/openhtmltopdf-examples/src/test/java/com/openhtmltopdf/visualregressiontests/VisualRegressionTest.java index 72a5f790c..fdc825280 100644 --- a/openhtmltopdf-examples/src/test/java/com/openhtmltopdf/visualregressiontests/VisualRegressionTest.java +++ b/openhtmltopdf-examples/src/test/java/com/openhtmltopdf/visualregressiontests/VisualRegressionTest.java @@ -700,6 +700,34 @@ public void testSvgInWrapperWithNamedPage() throws IOException { assertTrue(vt.runTest("svg-in-wrapper-with-named-page", WITH_SVG)); } + /** + * Tests that a broken image inside a table cell renders with a zero sized image rather + * than crashing with a NPE. See issue 336. + */ + @Test + @Ignore + public void testBrokenImgInTableCell() throws IOException { + assertTrue(vt.runTest("broken-img-in-table-cell")); + } + + /** + * Tests that a broken image inside an inline block does not show and + * does not crash. See issue 336. + */ + @Test + @Ignore + public void testBrokenImgInInlineBlock() throws IOException { + assertTrue(vt.runTest("broken-img-in-inline-block")); + } + + /** + * Tests that an image can have display: block and break over two pages. + */ + @Test + public void testReplacedImgDisplayBlock() throws IOException { + assertTrue(vt.runTest("replaced-img-display-block")); + } + // TODO: // + Elements that appear just on generated overflow pages. // + content property (page counters, etc)