diff --git a/src/nl/astraeus/tag/TagCreator.kt b/src/nl/astraeus/tag/TagCreator.kt index ddd2245..03b563a 100644 --- a/src/nl/astraeus/tag/TagCreator.kt +++ b/src/nl/astraeus/tag/TagCreator.kt @@ -256,9 +256,9 @@ } if (pretty) { - return indent(indent) + "<$tag$tagAttributes>" + return indent(indent) + "<$tag$tagAttributes/>" } else { - return "<$tag$tagAttributes>" + return "<$tag$tagAttributes/>" } } @@ -469,14 +469,14 @@ if (pretty) { rendered.append(indent(indent)) } rendered.append(renderOpenTag()) - if (pretty) { rendered.append("\n") } + if (pretty && !children.isEmpty()) { rendered.append("\n") } for (child in children) { rendered.append(child.render(indent + 2, pretty)) if (pretty) { rendered.append("\n") } } - if (pretty) { rendered.append(indent(indent)) } + if (pretty && !children.isEmpty()) { rendered.append(indent(indent)) } rendered.append(renderCloseTag()) return rendered.toString() diff --git a/src/nl/astraeus/tag/TagCreator.kt b/src/nl/astraeus/tag/TagCreator.kt index ddd2245..03b563a 100644 --- a/src/nl/astraeus/tag/TagCreator.kt +++ b/src/nl/astraeus/tag/TagCreator.kt @@ -256,9 +256,9 @@ } if (pretty) { - return indent(indent) + "<$tag$tagAttributes>" + return indent(indent) + "<$tag$tagAttributes/>" } else { - return "<$tag$tagAttributes>" + return "<$tag$tagAttributes/>" } } @@ -469,14 +469,14 @@ if (pretty) { rendered.append(indent(indent)) } rendered.append(renderOpenTag()) - if (pretty) { rendered.append("\n") } + if (pretty && !children.isEmpty()) { rendered.append("\n") } for (child in children) { rendered.append(child.render(indent + 2, pretty)) if (pretty) { rendered.append("\n") } } - if (pretty) { rendered.append(indent(indent)) } + if (pretty && !children.isEmpty()) { rendered.append(indent(indent)) } rendered.append(renderCloseTag()) return rendered.toString() diff --git a/test/nl/astraeus/tag/BasicTest.kt b/test/nl/astraeus/tag/BasicTest.kt index 5461992..46a55e7 100644 --- a/test/nl/astraeus/tag/BasicTest.kt +++ b/test/nl/astraeus/tag/BasicTest.kt @@ -7,6 +7,33 @@ * Created by rnentjes on 20-10-15. */ +fun form(id: String, inline: Boolean = false): ContainerTag { + var result = form() + + if (inline) { + result.withClass("form-online") + } + + result.withMethod("post") + + return result +} + +fun textInput(id: String, label: String = "", ph: String = ""): ContainerTag { + var result = div().withClass("form-group") + + result.with(label(label).attr("for", id)) + result.with(input() + .withClass("form-control") + .withType("text") + .withId(id) + .withName(id) + .withPlaceholder(ph) + ) + + return result +} + class BasicTest { @Test fun basicTest() { @@ -15,12 +42,46 @@ ).with(hr()) assertTrue { - html.render().equals("

Hello world!


") + html.render().equals("

Hello world!


") } assertTrue { - html.render(pretty = true).equals("
\n

\n Hello world!\n

\n
\n
") + html.render(pretty = true).equals("
\n

\n Hello world!\n

\n
\n
") } } + @Test fun bsTest() { + var form = form("form", inline = true) + + form.with(textInput("name", "Name", "Type your name here")) + form.with(textInput("email", "Email", "Type your email here")) + + println(form.render(pretty=true)) + + assertTrue { + form.render(pretty = true).equals("""
+
+ + +
+
+ + +
+
""") + } + + var head = head() + + head.with(style().withType("text/css").withSrc("/res/css/bs.css")) + + var html = html().with(head).with(body().with(form)) + + println(html.render(pretty = true)) + } + }