summaryrefslogtreecommitdiff
path: root/examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/NodeJSTest.scala
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/NodeJSTest.scala')
-rw-r--r--examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/NodeJSTest.scala54
1 files changed, 54 insertions, 0 deletions
diff --git a/examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/NodeJSTest.scala b/examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/NodeJSTest.scala
new file mode 100644
index 0000000..9a58b5c
--- /dev/null
+++ b/examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/NodeJSTest.scala
@@ -0,0 +1,54 @@
+package scala.scalajs.sbtplugin.test.env
+
+import scala.scalajs.sbtplugin.env.nodejs.NodeJSEnv
+
+import org.junit.Test
+
+class NodeJSTest extends JSEnvTest with ComTests {
+
+ protected def newJSEnv = new NodeJSEnv
+
+ /** Node.js strips double percentage signs - #500 */
+ @Test
+ def percentageTest = {
+ val counts = 1 to 15
+ val argcs = 1 to 3
+ val strings = counts.map("%" * _)
+
+ val strlists = for {
+ count <- argcs
+ string <- strings
+ } yield List.fill(count)(string)
+
+ val codes = for {
+ strlist <- strlists
+ } yield {
+ val args = strlist.map(s => s""""$s"""").mkString(", ")
+ s"console.log($args);\n"
+ }
+
+ val result = strlists.map(_.mkString(" ") + "\n").mkString("")
+
+ codes.mkString("").hasOutput(result)
+ }
+
+ /** Node.js console.log hack didn't allow to log non-Strings - #561 */
+ @Test
+ def nonStringTest = {
+
+ """
+ console.log(1);
+ console.log(undefined);
+ console.log(null);
+ console.log({});
+ console.log([1,2]);
+ """ hasOutput
+ """|1
+ |undefined
+ |null
+ |[object Object]
+ |1,2
+ |""".stripMargin
+ }
+
+}