support jquery style element / css style / id lookups of elements on a document/element - along with test cases

This commit is contained in:
James Strachan
2012-02-27 08:49:47 +00:00
parent 9e6a9e2dc7
commit dd36efd24d
3 changed files with 92 additions and 6 deletions
+47
View File
@@ -20,8 +20,10 @@ class DomBuilderTest() : TestSupport() {
style = "bold"
cssClass = "bar"
addElement("child") {
id = "id2"
cssClass = "another"
addElement("grandChild") {
id = "id3"
cssClass = "tiny"
addText("Hello World!")
// TODO support neater syntax sugar for adding text?
@@ -31,6 +33,51 @@ class DomBuilderTest() : TestSupport() {
}
println("builder document: ${doc.toXmlString()}")
// test css selections on document
assertEquals(0, doc[".doesNotExist"].size())
assertEquals(1, doc[".another"].size())
assertEquals(1, doc[".tiny"].size())
assertEquals(1, doc[".bar"].size())
// element tag selections
assertEquals(0, doc["doesNotExist"].size())
assertEquals(1, doc["foo"].size())
assertEquals(1, doc["child"].size())
assertEquals(1, doc["grandChild"].size())
// id selections
assertEquals(1, doc["#id1"].size())
assertEquals(1, doc["#id2"].size())
assertEquals(1, doc["#id3"].size())
val root = doc.rootElement
if (root != null) {
assert {
root.hasClass("bar")
}
// test css selections on element
assertEquals(0, root[".doesNotExist"].size())
assertEquals(1, root[".another"].size())
assertEquals(1, root[".tiny"].size())
assertEquals(0, root[".bar"].size())
// element tag selections
assertEquals(0, root["doesNotExist"].size())
assertEquals(0, root["foo"].size())
assertEquals(1, root["child"].size())
assertEquals(1, root["grandChild"].size())
// id selections
assertEquals(1, root["#id1"].size())
assertEquals(1, root["#id2"].size())
assertEquals(1, root["#id3"].size())
} else {
fail("No root!")
}
val grandChild = doc["grandChild"].first
if (grandChild != null) {
println("got element ${grandChild.toXmlString()} with text '${grandChild.text}`")