summaryrefslogtreecommitdiff
path: root/integration/test/src
diff options
context:
space:
mode:
Diffstat (limited to 'integration/test/src')
-rw-r--r--integration/test/src/mill/integration/IntegrationTestSuite.scala8
-rw-r--r--integration/test/src/mill/integration/PlayJsonTests.scala57
-rw-r--r--integration/test/src/mill/integration/forked/Tests.scala3
-rw-r--r--integration/test/src/mill/integration/local/Tests.scala3
4 files changed, 68 insertions, 3 deletions
diff --git a/integration/test/src/mill/integration/IntegrationTestSuite.scala b/integration/test/src/mill/integration/IntegrationTestSuite.scala
index 756b724a..d24261f3 100644
--- a/integration/test/src/mill/integration/IntegrationTestSuite.scala
+++ b/integration/test/src/mill/integration/IntegrationTestSuite.scala
@@ -17,9 +17,15 @@ abstract class IntegrationTestSuite(repoKey: String, val workspaceSlug: String,
wrapper
}
+ def buildFiles: Seq[Path] = {
+ Seq(buildFilePath / "build.sc")
+ }
+
override def initWorkspace() = {
super.initWorkspace()
- cp.over(buildFilePath / "build.sc", workspacePath / "build.sc")
+ buildFiles.foreach { file =>
+ cp.over(file, workspacePath / file.name)
+ }
assert(!ls.rec(workspacePath).exists(_.ext == "class"))
}
}
diff --git a/integration/test/src/mill/integration/PlayJsonTests.scala b/integration/test/src/mill/integration/PlayJsonTests.scala
new file mode 100644
index 00000000..c78a256e
--- /dev/null
+++ b/integration/test/src/mill/integration/PlayJsonTests.scala
@@ -0,0 +1,57 @@
+package mill.integration
+
+import ammonite.ops._
+import utest._
+
+class PlayJsonTests(fork: Boolean) extends IntegrationTestSuite("MILL_PLAY_JSON_REPO", "play-json", fork) {
+
+ override def buildFiles: Seq[Path] = {
+ ls(buildFilePath).filter(_.ext == "sc")
+ }
+
+ val tests = Tests{
+ initWorkspace()
+
+ 'jvm - {
+ assert(eval("playJsonJvm[2.12.4].test"))
+ val jvmMeta = meta("playJsonJvm[2.12.4].test.test")
+
+ assert(
+ jvmMeta.contains("play.api.libs.json.JsonSharedSpec"),
+ jvmMeta.contains("JSON should support basic array operations")
+ )
+
+ assert(
+ jvmMeta.contains("play.api.libs.json.JsonValidSpec"),
+ jvmMeta.contains("JSON reads should::validate Dates")
+ )
+ }
+ 'js - {
+ assert(eval("playJsonJs[2.12.4].test"))
+ val jsMeta = meta("playJsonJs[2.12.4].test.test")
+
+ assert(
+ jsMeta.contains("play.api.libs.json.JsonSharedSpec"),
+ jsMeta.contains("JSON should support basic array operations")
+ )
+
+ assert(
+ jsMeta.contains("play.api.libs.json.JsonSpec"),
+ jsMeta.contains("Complete JSON should create full object when lose precision when parsing BigDecimals")
+ )
+ }
+ 'playJoda - {
+ assert(eval("playJoda[2.12.4].test"))
+ val metaFile = meta("playJoda[2.12.4].test.test")
+
+ assert(
+ metaFile.contains("play.api.libs.json.JsonJodaValidSpec"),
+ metaFile.contains("JSON reads should::validate Dates")
+ )
+ }
+
+ 'benchmarks - {
+// "benchmarks[2.12.4].runJmh" -i 1 -wi 1 -f1 -t1
+ }
+ }
+}
diff --git a/integration/test/src/mill/integration/forked/Tests.scala b/integration/test/src/mill/integration/forked/Tests.scala
index 6933bbbe..4a2e9f53 100644
--- a/integration/test/src/mill/integration/forked/Tests.scala
+++ b/integration/test/src/mill/integration/forked/Tests.scala
@@ -4,4 +4,5 @@ object AcyclicTests extends mill.integration.AcyclicTests(fork = true)
object AmmoniteTests extends mill.integration.AmmoniteTests(fork = true)
object BetterFilesTests extends mill.integration.BetterFilesTests(fork = true)
object JawnTests extends mill.integration.JawnTests(fork = true)
-object UpickleTests extends mill.integration.UpickleTests(fork = true) \ No newline at end of file
+object UpickleTests extends mill.integration.UpickleTests(fork = true)
+object PlayJsonTests extends mill.integration.PlayJsonTests(fork = true)
diff --git a/integration/test/src/mill/integration/local/Tests.scala b/integration/test/src/mill/integration/local/Tests.scala
index 21b9581c..b4f78ee4 100644
--- a/integration/test/src/mill/integration/local/Tests.scala
+++ b/integration/test/src/mill/integration/local/Tests.scala
@@ -4,4 +4,5 @@ object AcyclicTests extends mill.integration.AcyclicTests(fork = false)
object AmmoniteTests extends mill.integration.AmmoniteTests(fork = false)
object BetterFilesTests extends mill.integration.BetterFilesTests(fork = false)
object JawnTests extends mill.integration.JawnTests(fork = false)
-object UpickleTests extends mill.integration.UpickleTests(fork = false) \ No newline at end of file
+object UpickleTests extends mill.integration.UpickleTests(fork = false)
+object PlayJsonTests extends mill.integration.PlayJsonTests(fork = false)