initial spike to show how KT-1565 might look for auto-escaping of HTML/XML/JSON/JDBC/URLs etc

This commit is contained in:
James Strachan
2012-03-12 11:51:35 +00:00
parent f10a110edb
commit 5805165793
4 changed files with 150 additions and 0 deletions
@@ -0,0 +1,22 @@
package test.template
import junit.framework.TestCase
import kotlin.template.*
import kotlin.test.assertEquals
class HtmlTemplateTest : TestCase() {
fun testTemplate(): Unit {
val foo = "James"
val bar = "x > 1"
// Code generated by the following template expression:
//
// val actual = [Html]"<h1>$foo</h1> <p>hey $bar</p>"
val builder = HtmlTemplate(array("<h1>", "</h1> <p>hey ", "</p>")).builder()
builder.expression(foo)
builder.expression(bar)
val actual = builder.build()
assertEquals("<h1>James</h1> <p>hey x &gt; 1</p>", actual)
}
}
@@ -0,0 +1,20 @@
package test.template
import junit.framework.TestCase
import kotlin.template.StringTemplate
import kotlin.test.assertEquals
class StringTemplateTest : TestCase() {
fun testTemplate(): Unit {
val name = "James"
// Code generated by the following template expression:
//
// val actual = "hello $name!"
val builder = StringTemplate(array("hello ", "!")).builder()
builder.expression(name)
val actual = builder.build()
assertEquals("hello James!", actual)
}
}