From 75a45f9163034ca9ba126cf07b3f87f3f24b1249 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Sat, 17 Feb 2018 13:11:36 -0800 Subject: Add unit test for main method discovery --- .../resources/hello-world-no-main/core/src-2.10/Shim.scala | 5 +++++ .../resources/hello-world-no-main/core/src-2.11/Shim.scala | 5 +++++ .../resources/hello-world-no-main/core/src-2.12/Shim.scala | 5 +++++ .../test/resources/hello-world-no-main/core/src/Main.scala | 11 +++++++++++ .../test/resources/hello-world-no-main/core/src/Result.scala | 7 +++++++ 5 files changed, 33 insertions(+) create mode 100644 scalalib/test/resources/hello-world-no-main/core/src-2.10/Shim.scala create mode 100644 scalalib/test/resources/hello-world-no-main/core/src-2.11/Shim.scala create mode 100644 scalalib/test/resources/hello-world-no-main/core/src-2.12/Shim.scala create mode 100644 scalalib/test/resources/hello-world-no-main/core/src/Main.scala create mode 100644 scalalib/test/resources/hello-world-no-main/core/src/Result.scala (limited to 'scalalib/test/resources') diff --git a/scalalib/test/resources/hello-world-no-main/core/src-2.10/Shim.scala b/scalalib/test/resources/hello-world-no-main/core/src-2.10/Shim.scala new file mode 100644 index 00000000..025cff5c --- /dev/null +++ b/scalalib/test/resources/hello-world-no-main/core/src-2.10/Shim.scala @@ -0,0 +1,5 @@ +object Shim{ + def main(args: Array[String]): Unit = { + Main0(args(0), scala.util.Properties.versionNumberString + " rox") + } +} \ No newline at end of file diff --git a/scalalib/test/resources/hello-world-no-main/core/src-2.11/Shim.scala b/scalalib/test/resources/hello-world-no-main/core/src-2.11/Shim.scala new file mode 100644 index 00000000..d98a6de1 --- /dev/null +++ b/scalalib/test/resources/hello-world-no-main/core/src-2.11/Shim.scala @@ -0,0 +1,5 @@ +object Shim{ + def main(args: Array[String]): Unit = { + Main0(args(0), scala.util.Properties.versionNumberString + " pwns") + } +} \ No newline at end of file diff --git a/scalalib/test/resources/hello-world-no-main/core/src-2.12/Shim.scala b/scalalib/test/resources/hello-world-no-main/core/src-2.12/Shim.scala new file mode 100644 index 00000000..1f3e1c0f --- /dev/null +++ b/scalalib/test/resources/hello-world-no-main/core/src-2.12/Shim.scala @@ -0,0 +1,5 @@ +object Shim{ + def main(args: Array[String]): Unit = { + Main0(args(0), scala.util.Properties.versionNumberString + " leet") + } +} \ No newline at end of file diff --git a/scalalib/test/resources/hello-world-no-main/core/src/Main.scala b/scalalib/test/resources/hello-world-no-main/core/src/Main.scala new file mode 100644 index 00000000..5f68fd3f --- /dev/null +++ b/scalalib/test/resources/hello-world-no-main/core/src/Main.scala @@ -0,0 +1,11 @@ +import scala.collection._ +import java.nio.file.{Files, Paths} + +import Main.{args, greeting} +object Main0{ + def apply(s: String, greeting: String) = { + val resultPath = Paths.get(s) + Files.createDirectories(resultPath.getParent) + Files.write(resultPath, greeting.getBytes) + } +} diff --git a/scalalib/test/resources/hello-world-no-main/core/src/Result.scala b/scalalib/test/resources/hello-world-no-main/core/src/Result.scala new file mode 100644 index 00000000..d7d29a51 --- /dev/null +++ b/scalalib/test/resources/hello-world-no-main/core/src/Result.scala @@ -0,0 +1,7 @@ +object Person { + def fromString(s: String): Person = { + val Array(name, age) = s.split(":") + Person(name, age.toInt) + } +} +case class Person(name: String, age: Int) -- cgit v1.2.3