//package scalatex
//import utest._
//import scala.collection.mutable.ArrayBuffer
//import scalatex.stages._
//import scalatags.Text.all._
//
//
///**
//* Created by haoyi on 7/14/14.
//*/
//object BasicTests extends TestSuite{
// import TestUtil._
//
// val tests = TestSuite{
//
// 'helloWorld{
// object omg {
// def wtf(s: Frag*): Frag = Seq[Frag]("|", s, "|")
// }
// def str = "hear me moo"
// check(
// tw("""
// @omg.wtf
// i @b{am} cow @str
// """),
// "|iamcowhearmemoo|"
// )
// }
// 'interpolation{
// 'chained-check(
// tw("omg @scala.math.pow(0.5, 3) wtf"),
// "omg 0.125 wtf"
// )
// 'parens-check(
// tw("omg @(1 + 2 + 3 + 4) wtf"),
// "omg 10 wtf"
// )
// 'block-check(
// tw("""
// @{"lol" * 3}
// @{
// val omg = "omg"
// omg * 2
// }
// """),
// """
// lollollol
// omgomg
// """
// )
// }
// 'definitions{
// 'imports{
// object Whee{
// def func(x: Int) = x * 2
// }
// check(
// tw("""
// @import math._
// @import Whee.func
// @abs(-10)
// @p
// @max(1, 2)
// @func(2)
// """),
// """
// 10
//
// 2
// 4
//
// """
// )
// }
// 'valDefVar{
// check(
// tw("""
// Hello
// @val x = 1
// World @x
// @def y = "omg"
// mooo
// @y
// """),
// """
// Hello
// World 1
// mooo
// omg
// """
// )
// }
// 'classObjectTrait{
// check(
// tw("""
// @trait Trait{
// def tt = 2
// }
// Hello
// @case object moo extends Trait{
// val omg = "wtf"
// }
//
// @moo.toString
// @moo.omg
// @case class Foo(i: Int, s: String, b: Boolean)
// TT is @moo.tt
// @Foo(10, "10", true).toString
// """),
// """
// Hello
// moo
// wtf
// TT is 2
// Foo(10, 10, true)
// """
// )
// }
// }
// 'parenArgumentLists{
// 'attributes{
// check(
// tw("""
// @div(id:="my-id"){ omg }
// @div(id:="my-id")
// omg
// """),
// """
// omg
// omg
// """
// )
// }
//// 'multiline{
////
//// check(
//// tw("""
//// @div(
//// h1("Hello World"),
//// p("I am a ", b{"cow"})
//// )
//// """),
//// """
////
////
Hello World
////
I am a cow
////
//// """
//// )
//// }
// }
// 'grouping{
// 'negative{
// // The indentation for "normal" text is ignored; we only
// // create blocks from the indentation following a scala
// // @xxx expression
// check(
// tw("""
// I am cow hear me moo
// I weigh twice as much as you
// And I look good on the barbecue
// Yoghurt curds cream cheese and butter
// Comes from liquids from my udder
// I am cow I am cow hear me moooooo
// """),
// """
// I am cow hear me moo
// I weigh twice as much as you
// And I look good on the barbecue
// Yoghurt curds cream cheese and butter
// Comes from liquids from my udder
// I am cow I am cow hear me moooooo
// """
// )
// }
// 'indentation{
// 'simple{
// val world = "World2"
//
// check(
// tw("""
// @h1
// Hello World
// @h2
// hello @world
// @h3
// Cow
// """),
// """
// HelloWorld
// helloWorld2
// Cow
// """
// )
// }
// 'linearNested{
// check(
// tw("""
// @h1 @span @a Hello World
// @h2 @span @a hello
// @b world
// @h3 @i
// @div Cow
// """),
// """
// HelloWorld
// helloworld
// Cow
// """
// )
// }
// 'crasher{
// tw("""
//@html
// @head
// @meta
// @div
// @a
// @span
// """)
// }
// }
// 'curlies{
// 'simple{
// val world = "World2"
//
// check(
// tw("""@div{Hello World}"""),
// """HelloWorld
"""
// )
// }
// 'multiline{
// check(
// tw("""
// @div{
// Hello
// }
// """),
// """
// Hello
// """
// )
// }
// }
// 'mixed{
// check(
// tw("""
// @div{
// Hello
// @div
// @h1
// WORLD @b{!!!}
// lol
// @p{
// @h2{Header 2}
// }
// }
// """),
// """
//
// Hello
//
//
WORLD!!!lol
//
Header2
//
//
// """
// )
// }
////
//// 'args{
//// val things = Seq(1, 2, 3)
//// check(
//// tw("""
//// @ul
//// @things.map { x =>
//// @li
//// @x
//// }
//// """),
//// tw("""
//// @ul
//// @things.map x =>
//// @li
//// @x
////
//// """),
//// """
////
//// - 1
//// - 2
//// - 3
////
//// """
//// )
//// }
// }
////
// 'loops {
////
// * - check(
// tw("""
// @for(x <- 0 until 3)
// lol
// """),
// tw("""
// @for(x <- 0 until 3){
// lol
// }
// """),
// "lollollol"
// )
//
//
// * - check(
// tw("""
// @p
// @for(x <- 0 until 2)
// @for(y <- 0 until 2)
// lol@x@y
// """),
// tw( """
// @p
// @for(x <- 0 until 2){
// @for(y <- 0 until 2)
// lol@x@y
// }
// """),
// tw("""
// @p
// @for(x <- 0 until 2)
// @for(y <- 0 until 2){
// lol@x@y
// }
// """),
// "lol00lol01lol10lol11
"
// )
// check(
// tw("""
// @p
// @for(x <- 0 until 2)
// @for(y <- 0 until 2)
// lol@x@y
// """),
// "lol00lol01lol10lol11
"
// )
//
// * - check(
// tw(
// """
// @for(x <- 0 until 2; y <- 0 until 2)
// @div{@x@y}
//
// """),
// """00
01
10
11
"""
// )
// }
//
// 'ifElse{
// 'basicExamples{
// * - check(
// tw("""
// @if(false)
// Hello
// @else
// lols
// @p
// """),
// "lols"
// )
//
// * - check(
// tw("""
// @div
// @if(true)
// Hello
// @else
// lols
// """),
// "Hello
"
// )
//
// * - check(
// tw("""
// @div
// @if(true)
// Hello
// @else
// lols
// """),
// "Hello
"
// )
// * - check(
// tw("""
// @if(false)
// Hello
// @else
// lols
// """),
// "lols"
// )
// * - check(
// tw("""
// @if(false)
// Hello
// @else
// lols
// @img
// """),
// "lols
"
// )
// * - check(
// tw("""
// @p
// @if(true)
// Hello
// @else
// lols
// """),
// tw("""
// @p
// @if(true){
// Hello
// }else{
// lols
// }
// """),
// "Hello
"
// )
// }
//// 'funkyExpressions{
//// * - check(
//// tw("""
//// @p
//// @if(true == false == (true.==(false)))
//// @if(true == false == (true.==(false)))
//// Hello1
//// @else
//// lols1
//// @else
//// @if(true == false == (true.==(false)))
//// Hello2
//// @else
//// lols2
//// """),
//// "Hello1
"
//// )
//// * - check(
//// tw("""
//// @p
//// @if(true == false != (true.==(false)))
//// @if(true == false != (true.==(false)))
//// Hello1
//// @else
//// lols1
//// @else
//// @if(true == false != (true.==(false)))
//// Hello2
//// @else
//// lols2
//// """),
//// "lols2
"
//// )
//// }
// }
// }
//
//}