diff options
Diffstat (limited to 'sbt-plugin-test/withDOM')
3 files changed, 66 insertions, 0 deletions
diff --git a/sbt-plugin-test/withDOM/src/main/scala/sbttest/withDOM/Lib.scala b/sbt-plugin-test/withDOM/src/main/scala/sbttest/withDOM/Lib.scala new file mode 100644 index 0000000..e431557 --- /dev/null +++ b/sbt-plugin-test/withDOM/src/main/scala/sbttest/withDOM/Lib.scala @@ -0,0 +1,28 @@ +package sbttest.withDOM + +import scala.scalajs.js + +object Lib { + + val document: js.Dynamic = js.Dynamic.global.document + val jQuery: js.Dynamic = js.Dynamic.global.jQuery + + def getElementsByTagName(name: String): js.Array[js.Dynamic] = + document.getElementsByTagName(name).asInstanceOf[js.Array[js.Dynamic]] + + /** appends a <p> with the message to the document */ + def appendDocument(msg: String): Unit = { + val trg = { + val bodies = getElementsByTagName("body") + if (bodies.length > 0) + bodies(0) + else + document + } + + val elem = document.createElement("p") + elem.appendChild(document.createTextNode(msg)) + trg.appendChild(elem) + } + +} diff --git a/sbt-plugin-test/withDOM/src/main/scala/sbttest/withDOM/TestApp.scala b/sbt-plugin-test/withDOM/src/main/scala/sbttest/withDOM/TestApp.scala new file mode 100644 index 0000000..e61ed20 --- /dev/null +++ b/sbt-plugin-test/withDOM/src/main/scala/sbttest/withDOM/TestApp.scala @@ -0,0 +1,14 @@ +package sbttest.withDOM + +import scala.scalajs.js + +object TestApp extends js.JSApp { + + def main(): Unit = { + Lib.appendDocument("Hello World") + Lib.appendDocument("Still Here!") + + println(Lib.jQuery("p").text()) + } + +} diff --git a/sbt-plugin-test/withDOM/src/test/scala/sbttest/withDOM/LibTest.scala b/sbt-plugin-test/withDOM/src/test/scala/sbttest/withDOM/LibTest.scala new file mode 100644 index 0000000..e08e6e3 --- /dev/null +++ b/sbt-plugin-test/withDOM/src/test/scala/sbttest/withDOM/LibTest.scala @@ -0,0 +1,24 @@ +package sbttest.withDOM + +import scala.scalajs.js + +import org.scalajs.jasminetest.JasmineTest + +object LibTest extends JasmineTest { + + describe("Dummy Library") { + + it("should provide jQuery") { + expect(Lib.jQuery).toBeDefined + } + + it("should append an element") { + def count = Lib.jQuery("p").length.asInstanceOf[Int] + val oldCount = count + Lib.appendDocument("foo") + expect(count - oldCount).toEqual(1) + } + + } + +} |