summaryrefslogtreecommitdiff
path: root/integration/test/src/mill/integration/PlayJsonTests.scala
blob: c78a256e4948fa11fb930608f93ff80a29d795be (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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
    }
  }
}