diff options
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.scala | 54 |
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 + } + +} |