package nl.astraeus.tag import org.junit.Test import kotlin.test.assertTrue /** * 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() { var html = div().with( h1("Hello world!") ).with(hr()) assertTrue { html.render().equals("<div><h1>Hello world!</h1><hr/></div>") } assertTrue { html.render(pretty = true).equals("<div>\n <h1>\n Hello world!\n </h1>\n <hr/>\n</div>") } } @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("""<form class="form-online" method="post"> <div class="form-group"> <label for="name"> Name </label> <input class="form-control" type="text" id="name" name="name" placeholder="Type your name here"/> </div> <div class="form-group"> <label for="email"> Email </label> <input class="form-control" type="text" id="email" name="email" placeholder="Type your email here"/> </div> </form>""") } 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)) } }