summaryrefslogtreecommitdiff
path: root/scalatexApi/src/test/scala/scalatex
diff options
context:
space:
mode:
Diffstat (limited to 'scalatexApi/src/test/scala/scalatex')
-rw-r--r--scalatexApi/src/test/scala/scalatex/BasicTests.scala51
-rw-r--r--scalatexApi/src/test/scala/scalatex/ParserTests.scala48
2 files changed, 73 insertions, 26 deletions
diff --git a/scalatexApi/src/test/scala/scalatex/BasicTests.scala b/scalatexApi/src/test/scala/scalatex/BasicTests.scala
index 8acb9b7..f0ee4f8 100644
--- a/scalatexApi/src/test/scala/scalatex/BasicTests.scala
+++ b/scalatexApi/src/test/scala/scalatex/BasicTests.scala
@@ -1,5 +1,6 @@
package scalatex
import utest._
+import scala.collection.mutable.ArrayBuffer
import scalatex.stages._
import scalatags.Text.all._
@@ -241,30 +242,31 @@ object BasicTests extends TestSuite{
)
}
}
-// 'mixed{
-// check(
-// tw("""
-// @div{
-// Hello
-// @div
-// @h1 WORLD @b{!!!}
-// lol
-// @p{
-// @h2{Header 2}
-// }
-// }
-// """),
-// """
-// <div>
-// Hello
-// <div>
-// <h1></h1>WORLD<b>!!!</b>lol
-// <p><h2>Header2</h2></p>
-// </div>
-// </div>
-// """
-// )
-// }
+ 'mixed{
+ check(
+ tw("""
+ @div{
+ Hello
+ @div
+ @h1
+ WORLD @b{!!!}
+ lol
+ @p{
+ @h2{Header 2}
+ }
+ }
+ """),
+ """
+ <div>
+ Hello
+ <div>
+ <h1>WORLD<b>!!!</b>lol</h1>
+ <p><h2>Header2</h2></p>
+ </div>
+ </div>
+ """
+ )
+ }
//
// 'args{
// val things = Seq(1, 2, 3)
@@ -468,4 +470,5 @@ object BasicTests extends TestSuite{
// }
}
}
+
}
diff --git a/scalatexApi/src/test/scala/scalatex/ParserTests.scala b/scalatexApi/src/test/scala/scalatex/ParserTests.scala
index 9301755..c2f35cc 100644
--- a/scalatexApi/src/test/scala/scalatex/ParserTests.scala
+++ b/scalatexApi/src/test/scala/scalatex/ParserTests.scala
@@ -5,7 +5,7 @@ import org.parboiled2._
import torimatomeru.ScalaSyntax
import scalatex.stages.{Parser, Ast}
-import Ast.Block.Text
+import scalatex.stages.Ast.Block.{IfElse, For, Text}
import Ast.Chain.Args
object ParserTests extends utest.TestSuite{
@@ -148,6 +148,29 @@ object ParserTests extends utest.TestSuite{
))
)
}
+ 'ControlFlow{
+ 'for - check(
+ "@for(x <- 0 until 3){lol}",
+ _.ForLoop.run(),
+ For("for(x <- 0 until 3)", Block(Seq(Text("lol"))))
+ )
+ 'forBlock - check(
+ """@for(x <- 0 until 3)
+ | lol""".stripMargin,
+ _.LoneForLoop.run(),
+ For("for(x <- 0 until 3)", Block(Seq(Text("\n "), Text("lol"))))
+ )
+ 'if - check(
+ "@if(true){lol}",
+ _.IfElse.run(),
+ IfElse("if(true)", Block(Seq(Text("lol"))), None)
+ )
+ 'ifElse - check(
+ "@if(true){lol}else{ omg }",
+ _.IfElse.run(),
+ IfElse("if(true)", Block(Seq(Text("lol"))), Some(Block(Seq(Text(" omg ")))))
+ )
+ }
'Body{
'indents - check(
"""
@@ -181,7 +204,28 @@ object ParserTests extends utest.TestSuite{
Chain("omg",Seq(Block(
Seq(
Text("\n "),
- Chain("wtf",Seq()))
+ Chain("wtf",Seq())
+ )
+ ))),
+ Text("\n"),
+ Chain("bbq", Seq())
+ ))
+ )
+ 'braces - check(
+ """
+ |@omg{
+ | @wtf
+ |}
+ |@bbq""".stripMargin,
+ _.Body.run(),
+ Block(Seq(
+ Text("\n"),
+ Chain("omg",Seq(Block(
+ Seq(
+ Text("\n "),
+ Chain("wtf",Seq()),
+ Text("\n")
+ )
))),
Text("\n"),
Chain("bbq", Seq())