From 0fc4e25af5e97e4d303327a2635310b9e6f6e8a5 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 1 Aug 2021 11:22:59 +0100 Subject: Add tests for raw text extraction --- .../mammoth/tests/conversion/RawTextTests.java | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/test/java/org/zwobble/mammoth/tests/conversion/RawTextTests.java (limited to 'src/test/java/org') diff --git a/src/test/java/org/zwobble/mammoth/tests/conversion/RawTextTests.java b/src/test/java/org/zwobble/mammoth/tests/conversion/RawTextTests.java new file mode 100644 index 0000000..f5d54d3 --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/conversion/RawTextTests.java @@ -0,0 +1,58 @@ +package org.zwobble.mammoth.tests.conversion; + +import org.junit.jupiter.api.Test; +import org.zwobble.mammoth.internal.conversion.RawText; +import org.zwobble.mammoth.internal.documents.Break; +import org.zwobble.mammoth.internal.documents.Document; +import org.zwobble.mammoth.internal.documents.DocumentElement; +import org.zwobble.mammoth.internal.documents.Text; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.zwobble.mammoth.tests.documents.DocumentElementMakers.*; + +public class RawTextTests { + @Test + public void textElementIsConvertedToTextContent() { + DocumentElement element = new Text("Hello."); + + String result = RawText.extractRawText(element); + + assertThat(result, equalTo("Hello.")); + } + + @Test + public void paragraphsAreTerminatedWithNewlines() { + DocumentElement element = paragraph( + withChildren(new Text("Hello "), new Text("world.")) + ); + + String result = RawText.extractRawText(element); + + assertThat(result, equalTo("Hello world.\n\n")); + } + + @Test + public void childrenAreRecursivelyConvertedToText() { + Document element = document( + withChildren( + paragraph( + withChildren(new Text("Hello "), new Text("world.")) + ) + ) + ); + + String result = RawText.extractRawText(element); + + assertThat(result, equalTo("Hello world.\n\n")); + } + + @Test + public void nonTextElementWithoutChildrenIsConvertedToEmptyString() { + DocumentElement element = Break.LINE_BREAK; + + String result = RawText.extractRawText(element); + + assertThat(result, equalTo("")); + } +} -- cgit v1.2.3