From 8fc1906ee692e4c60db1752a9e414c1bc78c3c02 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 31 Aug 2022 21:51:18 +0100 Subject: Add tests for InternalImageConverter --- .../conversion/InternalImageConverterTests.java | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/test/java/org/zwobble/mammoth/tests/conversion/InternalImageConverterTests.java diff --git a/src/test/java/org/zwobble/mammoth/tests/conversion/InternalImageConverterTests.java b/src/test/java/org/zwobble/mammoth/tests/conversion/InternalImageConverterTests.java new file mode 100644 index 0000000..6740795 --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/conversion/InternalImageConverterTests.java @@ -0,0 +1,57 @@ +package org.zwobble.mammoth.tests.conversion; + +import org.junit.jupiter.api.Test; +import org.zwobble.mammoth.internal.conversion.InternalImageConverter; +import org.zwobble.mammoth.internal.documents.Image; +import org.zwobble.mammoth.internal.html.Html; +import org.zwobble.mammoth.internal.html.HtmlNode; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.util.List; +import java.util.Optional; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.zwobble.mammoth.internal.util.Lists.list; +import static org.zwobble.mammoth.internal.util.Maps.map; +import static org.zwobble.mammoth.tests.DeepReflectionMatcher.deepEquals; + +public class InternalImageConverterTests { + @Test + public void whenElementDoesNotHaveAltTextThenAltAttributeIsNotSet() throws IOException { + Image internalImage = new Image( + Optional.empty(), + Optional.of("image/jpeg"), + () -> new ByteArrayInputStream(new byte[]{97, 98, 99}) + ); + + InternalImageConverter imageConverter = InternalImageConverter.imgElement(image -> { + return map("src", ""); + }); + List result = imageConverter.convert(internalImage); + + assertThat( + result, + deepEquals(list(Html.element("img", map("src", "")))) + ); + } + + @Test + public void whenElementHasAltTextThenAltAttributeIsSet() throws IOException { + Image internalImage = new Image( + Optional.empty(), + Optional.of("image/jpeg"), + () -> new ByteArrayInputStream(new byte[]{97, 98, 99}) + ); + + InternalImageConverter imageConverter = InternalImageConverter.imgElement(image -> { + return map("alt", "", "src", ""); + }); + List result = imageConverter.convert(internalImage); + + assertThat( + result, + deepEquals(list(Html.element("img", map("alt", "", "src", "")))) + ); + } +} -- cgit v1.2.3