Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions test/src/jsdom/build.sc
Original file line number Diff line number Diff line change
@@ -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")
}
18 changes: 18 additions & 0 deletions test/src/jsdom/main/test/src/Tests.scala
Original file line number Diff line number Diff line change
@@ -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")
}
}