From 253007416e6079e8970c72ec32adba12d16a1ee2 Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Sat, 31 Jul 2021 17:07:10 +0200 Subject: [PATCH] fix: correct splitting of nested lists with soft page breaks --- gradle.properties | 2 +- .../pageSplitters/ListItemSplitter.java | 7 +++- .../html5/SoftPageBreakInListTest.java | 31 +++++++++++++++ testdocuments/input/spb_in_list.odt | Bin 0 -> 24905 bytes testdocuments/model/spb_in_list.html | 37 ++++++++++++++++++ 5 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 src/r_tests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java create mode 100644 testdocuments/input/spb_in_list.odt create mode 100644 testdocuments/model/spb_in_list.html diff --git a/gradle.properties b/gradle.properties index 02c95bb..9f2c3a0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -version=0.9.17 +version=0.9.19 diff --git a/src/main/java/w2phtml/pageSplitters/ListItemSplitter.java b/src/main/java/w2phtml/pageSplitters/ListItemSplitter.java index e0bd630..0adadf5 100644 --- a/src/main/java/w2phtml/pageSplitters/ListItemSplitter.java +++ b/src/main/java/w2phtml/pageSplitters/ListItemSplitter.java @@ -38,8 +38,11 @@ public class ListItemSplitter extends BasicSplitter implements ISplitter { listItem.removeChild(listItemChild); //System.out.println("LIST ITEM SPLITTER REMOVE SPB"); } else if (nodeName.equals(TEXT_LIST)) { - factory.split(listItemChild); - + SplitResults listSplitResults = factory.split(listItemChild); + if (listSplitResults.isDataMoved()) { + listItemFirstPart.appendChild(listSplitResults.getFirstPart()); + results.setDataMoved(true); + } } else if (nodeName.equals(TEXT_H) || nodeName.equals(TEXT_P)) { if (factory.split(listItemChild).isDataMoved()){ listItemFirstPart.appendChild(listItemChild.getPreviousSibling()); diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java b/src/r_tests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java new file mode 100644 index 0000000..2c363e0 --- /dev/null +++ b/src/r_tests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.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 SoftPageBreakInListTest { + @Test + @DisplayName("Soft page break in list") + void testExample() throws Exception { + String name = "spb_in_list"; + 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/spb_in_list.odt b/testdocuments/input/spb_in_list.odt new file mode 100644 index 0000000000000000000000000000000000000000..e7efb9e2bfeca2ec310b087d19a926c44bde3263 GIT binary patch literal 24905 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

S7 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 + + + + + + + +
+
+
    +
      +
    1. +

      Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Page 1

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

      Page 2

      +
    2. +
    +
+
+
+ +