From eb32d8d4a1e2bd50e5416fcfefd72dfe6da1a7bb Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Mon, 13 Aug 2018 00:42:18 +0800 Subject: Add scalatags example --- example/scalatags/app/src/Scalatags.scala | 15 ++++++++++++ example/scalatags/app/test/src/ExampleTests.scala | 29 +++++++++++++++++++++++ example/scalatags/build.sc | 19 +++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 example/scalatags/app/src/Scalatags.scala create mode 100644 example/scalatags/app/test/src/ExampleTests.scala create mode 100644 example/scalatags/build.sc (limited to 'example/scalatags') diff --git a/example/scalatags/app/src/Scalatags.scala b/example/scalatags/app/src/Scalatags.scala new file mode 100644 index 0000000..600f022 --- /dev/null +++ b/example/scalatags/app/src/Scalatags.scala @@ -0,0 +1,15 @@ +package app +import scalatags.Text.all._ +object Scalatags extends cask.MainRoutes{ + @cask.get("/") + def hello() = { + "" + html( + body( + h1("Hello World"), + p("I am cow") + ) + ) + } + + initialize() +} diff --git a/example/scalatags/app/test/src/ExampleTests.scala b/example/scalatags/app/test/src/ExampleTests.scala new file mode 100644 index 0000000..8eccecf --- /dev/null +++ b/example/scalatags/app/test/src/ExampleTests.scala @@ -0,0 +1,29 @@ +package app +import io.undertow.Undertow + +import utest._ + +object ExampleTests extends TestSuite{ + def test[T](example: cask.main.BaseMain)(f: String => T): T = { + val server = Undertow.builder + .addHttpListener(8080, "localhost") + .setHandler(example.defaultHandler) + .build + server.start() + val res = + try f("http://localhost:8080") + finally server.stop() + res + } + + val tests = Tests { + 'Scalatags - test(Scalatags) { host => + val body = requests.get(host).text() + + assert( + body.contains("

Hello World

"), + body.contains("

I am cow

"), + ) + } + } +} diff --git a/example/scalatags/build.sc b/example/scalatags/build.sc new file mode 100644 index 0000000..ff39504 --- /dev/null +++ b/example/scalatags/build.sc @@ -0,0 +1,19 @@ +import mill._, scalalib._ + + +trait AppModule extends ScalaModule{ + def scalaVersion = "2.12.6" + def ivyDeps = Agg( + ivy"com.lihaoyi::cask:0.0.1", + ivy"com.lihaoyi::scalatags:0.6.7", + ) + + object test extends Tests{ + def testFrameworks = Seq("utest.runner.Framework") + + def ivyDeps = Agg( + ivy"com.lihaoyi::utest::0.6.3", + ivy"com.lihaoyi::requests::0.1.2", + ) + } +} \ No newline at end of file -- cgit v1.2.3