summaryrefslogblamecommitdiff
path: root/scalatexApi/src/test/scala/scalatex/BasicTests.scala
blob: fc4bff80aa780eb8d8cf4da066a83dfafee8c7a9 (plain) (tree)
1
2
3
4
5
6




                                             
  

















































                                                          

                  
























                               

                 



                     


               









                                             
  

















                                                            

                  








































                                                                  
                 














































                                                              
                  











                                
  






























                                          

                 






                                             


               










































                                     
  
  













































                                                                    

                    



                        
                








                         
                     
                      
                 






























                              



                    

                         
                     
                      
                 








                          

           





































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