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.scala30
-rw-r--r--scalatexApi/src/test/scala/scalatex/ParserTests.scala119
2 files changed, 81 insertions, 68 deletions
diff --git a/scalatexApi/src/test/scala/scalatex/BasicTests.scala b/scalatexApi/src/test/scala/scalatex/BasicTests.scala
index f0ee4f8..2412456 100644
--- a/scalatexApi/src/test/scala/scalatex/BasicTests.scala
+++ b/scalatexApi/src/test/scala/scalatex/BasicTests.scala
@@ -298,24 +298,18 @@ object BasicTests extends TestSuite{
//
// 'loops {
//
-// * - check(
-// tw("""
-// @for(x <- 0 until 3)
-// lol
-// """),
-// tw("""
-// @for(x <- 0 until 3){
-// lol
-// }
-// """),
-// tw(
-// """
-// @for(x <- 0 until 3) {
-// lol
-// }
-// """),
-// "lollollol"
-// )
+ * - check(
+ tw("""
+ @for(x <- 0 until 3)
+ lol
+ """),
+ tw("""
+ @for(x <- 0 until 3){
+ lol
+ }
+ """),
+ "lollollol"
+ )
//
//
// * - check(
diff --git a/scalatexApi/src/test/scala/scalatex/ParserTests.scala b/scalatexApi/src/test/scala/scalatex/ParserTests.scala
index c012328..5cefa67 100644
--- a/scalatexApi/src/test/scala/scalatex/ParserTests.scala
+++ b/scalatexApi/src/test/scala/scalatex/ParserTests.scala
@@ -4,7 +4,7 @@ package scalatex
import org.parboiled2._
import torimatomeru.ScalaSyntax
-import scalatex.stages.{Parser, Ast}
+import scalatex.stages.{Trim, Parser, Ast}
import scalatex.stages.Ast.Block.{IfElse, For, Text}
import Ast.Chain.Args
@@ -149,57 +149,76 @@ 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 ")))))
- )
- 'ifBlock- check(
- """@if(true)
- | omg""".stripMargin,
- _.IfElse.run(),
- IfElse("if(true)", Block(Seq(Text("\n "), Text("omg"))), None)
- )
- 'ifBlockElseBlock - check(
- """@if(true)
- | omg
- |@else
- | wtf""".stripMargin,
- _.IfElse.run(),
- IfElse(
- "if(true)",
- Block(Seq(Text("\n "), Text("omg"))),
- Some(Block(Seq(Text("\n "), Text("wtf"))))
+ 'for {
+ 'for - check(
+ "@for(x <- 0 until 3){lol}",
+ _.ForLoop.run(),
+ For("for(x <- 0 until 3)", Block(Seq(Text("lol"))))
)
- )
- 'ifElseBlock - check(
- """@if(true){
- | omg
- |}else
- | wtf""".stripMargin,
- _.IfElse.run(),
- IfElse(
- "if(true)",
- Block(Seq(Text("\n "), Text("omg"), Text("\n"))),
- Some(Block(Seq(Text("\n "), Text("wtf"))))
+ 'forBlock - check(
+ """
+ |@for(x <- 0 until 3)
+ | lol""".stripMargin,
+ _.Body.run(),
+ Block(Seq(
+ Text("\n"),
+ For("for(x <- 0 until 3)", Block(Seq(Text("\n "), Text("lol"))))
+ ))
)
- )
+ 'forBlockBraces - check(
+ """
+ |@for(x <- 0 until 3){
+ | lol
+ |}""".stripMargin,
+ _.Body.run(),
+ Block(Seq(
+ Text("\n"),
+ For("for(x <- 0 until 3)", Block(Seq(Text("\n "), Text("lol"))))
+ ))
+ )
+ }
+ 'ifElse {
+ '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 ")))))
+ )
+ 'ifBlock - check(
+ """@if(true)
+ | omg""".stripMargin,
+ _.IfElse.run(),
+ IfElse("if(true)", Block(Seq(Text("\n "), Text("omg"))), None)
+ )
+ 'ifBlockElseBlock - check(
+ """@if(true)
+ | omg
+ |@else
+ | wtf""".stripMargin,
+ _.IfElse.run(),
+ IfElse(
+ "if(true)",
+ Block(Seq(Text("\n "), Text("omg"))),
+ Some(Block(Seq(Text("\n "), Text("wtf"))))
+ )
+ )
+ 'ifElseBlock - check(
+ """@if(true){
+ | omg
+ |}else
+ | wtf""".stripMargin,
+ _.IfElse.run(),
+ IfElse(
+ "if(true)",
+ Block(Seq(Text("\n "), Text("omg"), Text("\n"))),
+ Some(Block(Seq(Text("\n "), Text("wtf"))))
+ )
+ )
+ }
}
'Body{
'indents - check(