From 006ee096741fd267d9b37f92dfec33f6de5077a9 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 14 Feb 2016 11:03:34 +0000 Subject: Add self-closing elements --- src/main/java/org/zwobble/mammoth/html/Html.java | 4 ++++ .../org/zwobble/mammoth/html/HtmlSelfClosingElement.java | 16 ++++++++++++++++ .../org/zwobble/mammoth/tests/html/HtmlWriteTests.java | 7 +++++++ 3 files changed, 27 insertions(+) create mode 100644 src/main/java/org/zwobble/mammoth/html/HtmlSelfClosingElement.java diff --git a/src/main/java/org/zwobble/mammoth/html/Html.java b/src/main/java/org/zwobble/mammoth/html/Html.java index b0c864f..cef54b3 100644 --- a/src/main/java/org/zwobble/mammoth/html/Html.java +++ b/src/main/java/org/zwobble/mammoth/html/Html.java @@ -22,4 +22,8 @@ public class Html { public static HtmlNode element(String tagName, List children) { return new HtmlElementNode(tagName, children); } + + public static HtmlNode selfClosingElement(String tagName) { + return new HtmlSelfClosingElement(tagName); + } } diff --git a/src/main/java/org/zwobble/mammoth/html/HtmlSelfClosingElement.java b/src/main/java/org/zwobble/mammoth/html/HtmlSelfClosingElement.java new file mode 100644 index 0000000..f3ef3f8 --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/html/HtmlSelfClosingElement.java @@ -0,0 +1,16 @@ +package org.zwobble.mammoth.html; + +public class HtmlSelfClosingElement implements HtmlNode { + private final String tagName; + + public HtmlSelfClosingElement(String tagName) { + this.tagName = tagName; + } + + @Override + public void write(StringBuilder builder) { + builder.append("<") + .append(tagName) + .append(" />"); + } +} diff --git a/src/test/java/org/zwobble/mammoth/tests/html/HtmlWriteTests.java b/src/test/java/org/zwobble/mammoth/tests/html/HtmlWriteTests.java index d363626..30c6649 100644 --- a/src/test/java/org/zwobble/mammoth/tests/html/HtmlWriteTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/html/HtmlWriteTests.java @@ -22,6 +22,13 @@ public class HtmlWriteTests { write(Html.text("><&"))); } + @Test + public void canWriteSelfClosingElement() { + assertEquals( + "
", + write(Html.selfClosingElement("br"))); + } + @Test public void canWriteElementWithNoChildren() { assertEquals( -- cgit v1.2.3