From a98bc080982f0d185d7db0196ec816564f46611b Mon Sep 17 00:00:00 2001 From: Naftoli Gugenheim <98384+nafg@users.noreply.github.com> Date: Sun, 27 Nov 2022 14:28:31 -0500 Subject: [PATCH] Failing jsdom test --- test/src/jsdom/build.sc | 35 ++++++++++++++++++++++++ test/src/jsdom/main/test/src/Tests.scala | 18 ++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 test/src/jsdom/build.sc create mode 100644 test/src/jsdom/main/test/src/Tests.scala diff --git a/test/src/jsdom/build.sc b/test/src/jsdom/build.sc new file mode 100644 index 0000000..ebdd802 --- /dev/null +++ b/test/src/jsdom/build.sc @@ -0,0 +1,35 @@ +import $exec.plugins + +import io.github.nafg.millbundler.jsdeps.ScalaJSDepsModule +import io.github.nafg.millbundler.jsdeps.JsDeps +import io.github.nafg.millbundler.ScalaJSWebpackModule +import mill.scalajslib.api.JsEnvConfig +import mill.scalajslib.api.ModuleKind +import mill.scalalib.{DepSyntax, TestModule} +import mill.define.Command +import mill.testrunner.TestRunner + +object main extends ScalaJSDepsModule { + override def scalaVersion = "2.13.10" + override def scalaJSVersion = "1.10.1" + + object test + extends Tests + with ScalaJSWebpackModule.Test + with TestModule.Munit { + + override def moduleKind = ModuleKind.CommonJSModule + + override def ivyDeps = + super.ivyDeps() ++ Agg(ivy"org.scalameta::munit::0.7.29") + + override def jsEnvConfig = T(JsEnvConfig.NodeJs()) + override def jsDeps = super.jsDeps() ++ JsDeps("jsdom" -> "20.0.3") + } +} + +def verify = T { + val logger = T.ctx().log + val (_, testResults) = main.test.test()() + assert(testResults.nonEmpty, "No tests found") +} diff --git a/test/src/jsdom/main/test/src/Tests.scala b/test/src/jsdom/main/test/src/Tests.scala new file mode 100644 index 0000000..d85873c --- /dev/null +++ b/test/src/jsdom/main/test/src/Tests.scala @@ -0,0 +1,18 @@ +import munit.Assertions._ +import scala.scalajs.js +import scala.scalajs.js.annotation._ + + +@js.native +@JSImport("jsdom", "JSDOM") +class JSDOM extends js.Object { + def window: js.Dynamic = js.native +} + +class Tests extends munit.FunSuite { + test("JsDom") { + val dom = new JSDOM + dom.window.localStorage.setItem("key", "value") + assert(dom.window.localStorage.getItem("key") == "value") + } +}