summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorJean Helou <jhe@codamens.fr>2019-02-11 22:27:27 +0100
committerTobias Roeser <le.petit.fou@web.de>2019-02-14 17:45:16 +0100
commit529a5de7c5dae1ba97bf75ab488ac12be7c19ea6 (patch)
tree78966581925ae6adc5da024283e9adf716b2cbde /contrib
parentdfff4e0e7f4ac136dd509fa0c8085970e738cf1f (diff)
downloadmill-529a5de7c5dae1ba97bf75ab488ac12be7c19ea6.tar.gz
mill-529a5de7c5dae1ba97bf75ab488ac12be7c19ea6.tar.bz2
mill-529a5de7c5dae1ba97bf75ab488ac12be7c19ea6.zip
Updates the test of the play lib module
The tests have been updated to check the returned error if the route file cannot be parsed properly.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/playlib/test/resources/invalid/core/conf/routes3
-rw-r--r--contrib/playlib/test/src/mill/playlib/HelloWorldTests.scala25
2 files changed, 25 insertions, 3 deletions
diff --git a/contrib/playlib/test/resources/invalid/core/conf/routes b/contrib/playlib/test/resources/invalid/core/conf/routes
new file mode 100644
index 00000000..1b31139f
--- /dev/null
+++ b/contrib/playlib/test/resources/invalid/core/conf/routes
@@ -0,0 +1,3 @@
+GET / controllers.HomeController.index
+BOB =error controllers.HomeController.error(foo)
+GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
diff --git a/contrib/playlib/test/src/mill/playlib/HelloWorldTests.scala b/contrib/playlib/test/src/mill/playlib/HelloWorldTests.scala
index e4dc7399..71ee6c4d 100644
--- a/contrib/playlib/test/src/mill/playlib/HelloWorldTests.scala
+++ b/contrib/playlib/test/src/mill/playlib/HelloWorldTests.scala
@@ -1,6 +1,8 @@
package mill.playlib
import ammonite.ops.{Path, cp, ls, mkdir, pwd, rm, _}
+import mill.T
+import mill.api.Result.Failure
import mill.util.{TestEvaluator, TestUtil}
import utest.framework.TestPath
import utest.{TestSuite, Tests, assert, _}
@@ -19,13 +21,20 @@ object HelloWorldTests extends TestSuite {
object core extends HelloWorldModule {
override def playVersion = "2.6.14"
+
+ /**
+ * What version of Scala to use
+ */
+ override def scalaVersion: T[String] = "2.12.8"
}
+
}
val resourcePath: Path = pwd / 'contrib / 'playlib / 'test / 'resources / "hello-world"
+ val invalidResourcePath: Path = pwd / 'contrib / 'playlib / 'test / 'resources / "invalid"
def workspaceTest[T, M <: TestUtil.BaseModule](m: M, resourcePath: Path = resourcePath)
- (t: TestEvaluator[M] => T)
+ (t: TestEvaluator => T)
(implicit tp: TestPath): T = {
val eval = new TestEvaluator(m)
rm(m.millSourcePath)
@@ -48,8 +57,8 @@ object HelloWorldTests extends TestSuite {
}
}
'compileRouter - workspaceTest(HelloWorld) { eval =>
- val Right((result, evalCount)) = eval.apply(HelloWorld.core.compileRouter)
-
+ val eitherResult = eval.apply(HelloWorld.core.compileRouter)
+ val Right((result, evalCount)) = eitherResult
val outputFiles = ls.rec(result.classes.path).filter(_.isFile)
val expectedClassfiles = Seq[RelPath](
RelPath("controllers/ReverseRoutes.scala"),
@@ -73,5 +82,15 @@ object HelloWorldTests extends TestSuite {
assert(unchangedEvalCount == 0)
}
+ 'compileRouter - workspaceTest(HelloWorld, resourcePath = invalidResourcePath) { eval =>
+ val eitherResult = eval.apply(HelloWorld.core.compileRouter)
+ val Left(Failure(message, x)) = eitherResult
+ val expectedMessage = "Unable to compile play routes, compilation error in " +
+ HelloWorld.millSourcePath.toIO.getAbsolutePath + "/core/conf/routes at line 2, column 1: " +
+ "HTTP Verb (GET, POST, ...), include (->), comment (#), or modifier line (+) expected"
+ assert(
+ message == expectedMessage
+ )
+ }
}
}