From 1de23921d5d058f4bffa7d3ca85ff0eaa59c8596 Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Fri, 17 Sep 2021 20:37:07 +0200 Subject: [PATCH] chore: Added test for hard page breaks inside lists --- .../html5/HardPageBreaksInLists.java | 31 ++++++++ testdocuments/input/list_hpb.odt | Bin 0 -> 12727 bytes testdocuments/model/list_hpb.html | 71 ++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 src/r_tests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java create mode 100644 testdocuments/input/list_hpb.odt create mode 100644 testdocuments/model/list_hpb.html diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java b/src/r_tests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java new file mode 100644 index 0000000..d51b66a --- /dev/null +++ b/src/r_tests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java @@ -0,0 +1,31 @@ +package w2phtml.regressionTests.html5; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.io.FileUtils; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class HardPageBreaksInLists { + @Test + @DisplayName("Hard page breaks inside list") + void testExample() throws Exception { + String name = "list_hpb"; + File input = new File("./testdocuments/input/" + name + ".odt"); + assertTrue(input.exists()); + List arguments = new ArrayList(); + arguments.add("-page_break_style"); + arguments.add("height:3em;margin-top:1em;margin-bottom:1em;background-color:red;"); + arguments.add("-html5"); + arguments.add("./testdocuments/input/" + name + ".odt"); + arguments.add("./testdocuments/output/" + name + ".html"); + w2phtml.Application.main(arguments.toArray(new String[0])); + File result = new File("./testdocuments/output/" + name + ".html"); + File model = new File("./testdocuments/model/" + name + ".html"); + assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + } +} diff --git a/testdocuments/input/list_hpb.odt b/testdocuments/input/list_hpb.odt new file mode 100644 index 0000000000000000000000000000000000000000..72b7172f553f58f793485ac5712a7a13c327e729 GIT binary patch literal 12727 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 literal 0 HcmV?d00001 diff --git a/testdocuments/model/list_hpb.html b/testdocuments/model/list_hpb.html new file mode 100644 index 0000000..33a89f1 --- /dev/null +++ b/testdocuments/model/list_hpb.html @@ -0,0 +1,71 @@ + + + + Default + + + + +
+
+
    +
  • +

    text 1

    +
  • +
+
+
+
+
+
+
    +
  • +

    text 2

    +
  • +
+
+
+
+
+
+
    +
  • +

    text 3

    +
  • +
+
+
+
+
+
+
    +
  1. +

    Text1

    +
  2. +
+
+
+
+
+
+
    +
  1. +

    Text2

    +
  2. +
+
+
+
+
+
+
    +
  1. +

    Text3

    +
  2. +
+
+
+ +