diff --git a/src/nl/astraeus/tag/TagCreator.kt b/src/nl/astraeus/tag/TagCreator.kt
index d2b8e94..44ca0f8 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 5f90b10..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,14 +42,46 @@
).with(hr())
assertTrue {
- html.render().equals("Hello world!
")
+ html.render().equals("Hello world!
")
}
- var tst = html.render(pretty = true)
-
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))
+ }
+
}