//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 //// //// """), //// """ //// //// """ //// ) //// } // } //// // '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

" //// ) //// } // } // } // //}