diff options
Diffstat (limited to 'scalatexApi/src/test/scala/scalatex')
-rw-r--r-- | scalatexApi/src/test/scala/scalatex/BasicTests.scala | 51 | ||||
-rw-r--r-- | scalatexApi/src/test/scala/scalatex/ParserTests.scala | 48 |
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()) |