diff options
author | Jean Helou <jhe@codamens.fr> | 2019-02-11 22:27:27 +0100 |
---|---|---|
committer | Tobias Roeser <le.petit.fou@web.de> | 2019-02-14 17:45:16 +0100 |
commit | 529a5de7c5dae1ba97bf75ab488ac12be7c19ea6 (patch) | |
tree | 78966581925ae6adc5da024283e9adf716b2cbde /contrib/playlib/test | |
parent | dfff4e0e7f4ac136dd509fa0c8085970e738cf1f (diff) | |
download | mill-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/playlib/test')
-rw-r--r-- | contrib/playlib/test/resources/invalid/core/conf/routes | 3 | ||||
-rw-r--r-- | contrib/playlib/test/src/mill/playlib/HelloWorldTests.scala | 25 |
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 + ) + } } } |