aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2021-08-01 17:32:46 +0100
committerMichael Williamson <mike@zwobble.org>2021-08-01 17:32:46 +0100
commit554a0fe289bb74e5048b209546d22c423d33c528 (patch)
tree62908056e7cd1f8c128554f39d39d825a58122d2 /src/test/java/org/zwobble
parent59f4df1d2d39e1dee5278626bd2efb16d4a56847 (diff)
Handle internal hyperlinks created with complex fields
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
index 75af768..6c04f80 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
@@ -291,7 +291,7 @@ public class BodyXmlTests {
}
@Test
- public void runsInAComplexFieldForHyperlinksAreReadAsHyperlinks() {
+ public void runsInAComplexFieldForHyperlinksWithoutSwitchAreReadAsExternalHyperlinks() {
XmlElement hyperlinkRunXml = runXml("this is a hyperlink");
XmlElement element = paragraphXml(list(
BEGIN_COMPLEX_FIELD,
@@ -316,6 +316,33 @@ public class BodyXmlTests {
}
@Test
+ public void runsInAComplexFieldForHyperlinksWithLSwitchAreReadAsInternalHyperlinks() {
+ XmlElement hyperlinkRunXml = runXml("this is a hyperlink");
+ XmlElement element = paragraphXml(list(
+ BEGIN_COMPLEX_FIELD,
+ element("w:instrText", list(
+ XmlNodes.text(" HYPERLINK \\l \"InternalLink\"")
+ )),
+ SEPARATE_COMPLEX_FIELD,
+ hyperlinkRunXml,
+ END_COMPLEX_FIELD
+ ));
+ DocumentElement paragraph = readSuccess(bodyReader(), element);
+
+ assertThat(paragraph, isParagraph(hasChildren(
+ isEmptyRun(),
+ isEmptyHyperlinkedRun(),
+ isHyperlinkedRun(
+ hasAnchor("InternalLink"),
+ hasChildren(
+ isTextElement("this is a hyperlink")
+ )
+ ),
+ isEmptyRun()
+ )));
+ }
+
+ @Test
public void runsAfterAComplexFieldForHyperlinksAreNotReadAsHyperlinks() {
XmlElement afterEndXml = runXml("this will not be a hyperlink");
XmlElement element = paragraphXml(list(