added a little spike of a little std.dom API to make the W3C DOM API a little kooler

This commit is contained in:
James Strachan
2012-02-06 16:49:49 +00:00
parent 5057bf732e
commit a3cd65f10e
7 changed files with 173 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
package test.dom
import std.*
import std.dom.*
import stdhack.test.TestSupport
import stdhack.test.*
import stdhack.test.assertNull
import org.w3c.dom.*
import stdhack.test.assertEquals
import std.dom.toXmlString
class DomTest() : TestSupport() {
fun testCreateDocument() {
var doc = createDocument()
assertNotNull(doc, "Should have created a document")
val e = doc.createElement("foo").sure()
assertCssClass(e, "")
// now lets update the cssClass property
e.cssClass = "foo"
assertCssClass(e, "foo")
// now using the attribute directly
e.setAttribute("class", "bar")
assertCssClass(e, "bar")
doc += e
println("document ${doc.toXmlString()}")
}
fun assertCssClass(e: Element, value: String?): Unit {
val cl = e.cssClass
val cl2 = e.getAttribute("class")
println("element ${e.toXmlString()} has cssClass `${cl}` class attr `${cl2}`")
assertEquals(value, cl, "value of element.cssClass")
assertEquals(value, cl2, "value of element.getAttribute(\"class\")")
}
}