//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
// """),
// "|i<b>am</b>cowhearmemoo|"
// )
// }
// '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
// <p>
// 2
// 4
// </p>
// """
// )
// }
// '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
// """),
// """
// <divid="my-id">omg</div>
// <divid="my-id">omg</div>
// """
// )
// }
//// 'multiline{
////
//// check(
//// tw("""
//// @div(
//// h1("Hello World"),
//// p("I am a ", b{"cow"})
//// )
//// """),
//// """
//// <div>
//// <h1>Hello World</h1>
//// <p>I am a <b>cow</b></p>
//// </div>
//// """
//// )
//// }
// }
// '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
// """),
// """
// <h1>HelloWorld</h1>
// <h2>helloWorld2</h2>
// <h3>Cow</h3>
// """
// )
// }
// 'linearNested{
// check(
// tw("""
// @h1 @span @a Hello World
// @h2 @span @a hello
// @b world
// @h3 @i
// @div Cow
// """),
// """
// <h1></h1><span></span><a></a>HelloWorld
// <h2></h2><span></span><a></a>hello<b></b>world
// <h3></h3><i></i><div></div>Cow
// """
// )
// }
// 'crasher{
// tw("""
//@html
// @head
// @meta
// @div
// @a
// @span
// """)
// }
// }
// 'curlies{
// 'simple{
// val world = "World2"
//
// check(
// tw("""@div{Hello World}"""),
// """<div>HelloWorld</div>"""
// )
// }
// 'multiline{
// check(
// tw("""
// @div{
// Hello
// }
// """),
// """
// <div>Hello</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)
//// check(
//// tw("""
//// @ul
//// @things.map { x =>
//// @li
//// @x
//// }
//// """),
//// tw("""
//// @ul
//// @things.map x =>
//// @li
//// @x
////
//// """),
//// """
//// <ul>
//// <li>1</li>
//// <li>2</li>
//// <li>3</li>
//// </ul>
//// """
//// )
//// }
// }
////
// '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
// }
// """),
// "<p>lol00lol01lol10lol11</p>"
// )
// check(
// tw("""
// @p
// @for(x <- 0 until 2)
// @for(y <- 0 until 2)
// lol@x@y
// """),
// "<p>lol00lol01lol10lol11</p>"
// )
//
// * - check(
// tw(
// """
// @for(x <- 0 until 2; y <- 0 until 2)
// @div{@x@y}
//
// """),
// """<div>00</div><div>01</div><div>10</div><div>11</div>"""
// )
// }
//
// 'ifElse{
// 'basicExamples{
// * - check(
// tw("""
// @if(false)
// Hello
// @else
// lols
// @p
// """),
// "lols<p></p>"
// )
//
// * - check(
// tw("""
// @div
// @if(true)
// Hello
// @else
// lols
// """),
// "<div>Hello</div>"
// )
//
// * - check(
// tw("""
// @div
// @if(true)
// Hello
// @else
// lols
// """),
// "<div>Hello</div>"
// )
// * - check(
// tw("""
// @if(false)
// Hello
// @else
// lols
// """),
// "lols"
// )
// * - check(
// tw("""
// @if(false)
// Hello
// @else
// lols
// @img
// """),
// "lols<img/>"
// )
// * - check(
// tw("""
// @p
// @if(true)
// Hello
// @else
// lols
// """),
// tw("""
// @p
// @if(true){
// Hello
// }else{
// lols
// }
// """),
// "<p>Hello</p>"
// )
// }
//// '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
//// """),
//// "<p>Hello1</p>"
//// )
//// * - 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
//// """),
//// "<p>lols2</p>"
//// )
//// }
// }
// }
//
//}