From 395758806d71f2ca4072b36d287dea3a7347761c Mon Sep 17 00:00:00 2001 From: Jan Chyb Date: Thu, 24 Mar 2022 10:36:24 +0100 Subject: [PATCH] Add integration test for nativeResources --- .../cli/integration/RunTestDefinitions.scala | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/modules/integration/src/test/scala/scala/cli/integration/RunTestDefinitions.scala b/modules/integration/src/test/scala/scala/cli/integration/RunTestDefinitions.scala index 8796ba10f2..9c281b3df6 100644 --- a/modules/integration/src/test/scala/scala/cli/integration/RunTestDefinitions.scala +++ b/modules/integration/src/test/scala/scala/cli/integration/RunTestDefinitions.scala @@ -157,6 +157,44 @@ abstract class RunTestDefinitions(val scalaVersionOpt: Option[String]) } } + test("Resource embedding in Scala Native") { + val projectDir = "nativeres" + val resourceContent = "resource contents" + val resourceFileName = "embeddedfile.txt" + val inputs = TestInputs( + Seq( + os.rel / projectDir / "main.scala" -> + s"""|//> using platform "scala-native" + |//> using nativeResources "true" + |//> using resourceDir "resources" + | + |import java.nio.charset.StandardCharsets + |import java.io.{BufferedReader, InputStreamReader} + |import java.io.FileInputStream + | + |object Main { + | def main(args: Array[String]): Unit = { + | val inputStream = getClass().getResourceAsStream("/$resourceFileName") + | val nativeResourceText = new BufferedReader( + | new InputStreamReader(inputStream, StandardCharsets.UTF_8) + | ).readLine() + | println(nativeResourceText) + | } + |} + |""".stripMargin, + os.rel / projectDir / "resources" / resourceFileName -> resourceContent + ) + ) + inputs.fromRoot { root => + val output = + os.proc(TestUtil.cli, extraOptions, projectDir, "-q") + .call(cwd = root) + .out.text().trim + println(output) + expect(output == resourceContent) + } + } + if (actualScalaVersion.startsWith("3.1")) test("Scala 3 in Scala Native") { val message = "using Scala 3 Native"