diff options
Diffstat (limited to 'scalatexApi/src/test/scala/scalatex/ErrorTests.scala')
-rw-r--r-- | scalatexApi/src/test/scala/scalatex/ErrorTests.scala | 720 |
1 files changed, 360 insertions, 360 deletions
diff --git a/scalatexApi/src/test/scala/scalatex/ErrorTests.scala b/scalatexApi/src/test/scala/scalatex/ErrorTests.scala index d8cd4f5..a7e6155 100644 --- a/scalatexApi/src/test/scala/scalatex/ErrorTests.scala +++ b/scalatexApi/src/test/scala/scalatex/ErrorTests.scala @@ -1,373 +1,373 @@ -package scalatex - -import utest._ -import scalatex.stages._ -import scalatags.Text.all._ -import scalatex.Internals.{DebugFailure, twRuntimeErrors} - -/** -* Created by haoyi on 7/14/14. -*/ -object ErrorTests extends TestSuite{ - def check(x: => Unit, expectedMsg: String, expectedError: String) = { - val DebugFailure(msg, pos) = intercept[DebugFailure](x) - def format(str: String) = { - val whitespace = " \t\n".toSet - "\n" + str.dropWhile(_ == '\n') - .reverse - .dropWhile(whitespace.contains) - .reverse - } - // Format these guys nicely to normalize them and make them - // display nicely in the assert error message if it blows up - val formattedPos = format(pos) - val formattedExpectedPos = format(expectedError) - - assert(msg.contains(expectedMsg)) - assert(formattedPos == formattedExpectedPos) - - } - val tests = TestSuite{ - - - 'simple - check( - twRuntimeErrors("omg @notInScope lol"), - """not found: value notInScope""", - """ - twRuntimeErrors("omg @notInScope lol"), - ^ - """ - ) - - 'chained{ - 'properties { - * - check( - twRuntimeErrors("omg @math.lol lol"), - """object lol is not a member of package math""", - """ - twRuntimeErrors("omg @math.lol lol"), - ^ - """ - ) - - * - check( - twRuntimeErrors("omg @math.E.lol lol"), - """value lol is not a member of Double""", - """ - twRuntimeErrors("omg @math.E.lol lol"), - ^ - """ - ) - * - check( - twRuntimeErrors("omg @_root_.scala.math.lol lol"), - """object lol is not a member of package math""", - """ - twRuntimeErrors("omg @_root_.scala.math.lol lol"), - ^ - """ - ) - * - check( - twRuntimeErrors("omg @_root_.scala.gg.lol lol"), - """object gg is not a member of package scala""", - """ - twRuntimeErrors("omg @_root_.scala.gg.lol lol"), - ^ - """ - ) - * - check( - twRuntimeErrors("omg @_root_.ggnore.math.lol lol"), - """object ggnore is not a member of package <root>""", - """ - twRuntimeErrors("omg @_root_.ggnore.math.lol lol"), - ^ - """ - ) - } - 'calls{ - * - check( - twRuntimeErrors("@scala.QQ.abs(-10).tdo(10).sum.z"), - """object QQ is not a member of package scala""", - """ - twRuntimeErrors("@scala.QQ.abs(-10).tdo(10).sum.z"), - ^ - """ - ) - * - check( - twRuntimeErrors("@scala.math.abs(-10).tdo(10).sum.z"), - "value tdo is not a member of Int", - """ - twRuntimeErrors("@scala.math.abs(-10).tdo(10).sum.z"), - ^ - """ - ) - * - check( - twRuntimeErrors("@scala.math.abs(-10).to(10).sum.z"), - "value z is not a member of Int", - """ - twRuntimeErrors("@scala.math.abs(-10).to(10).sum.z"), - ^ - """ - ) - * - check( - twRuntimeErrors("@scala.math.abs(-10).to(10).sum.z()"), - "value z is not a member of Int", - """ - twRuntimeErrors("@scala.math.abs(-10).to(10).sum.z()"), - ^ - """ - ) - * - check( - twRuntimeErrors("@scala.math.abs(-10).cow.sum.z"), - "value cow is not a member of Int", - """ - twRuntimeErrors("@scala.math.abs(-10).cow.sum.z"), - ^ - """ - ) - * - check( - twRuntimeErrors("@scala.smath.abs.cow.sum.z"), - "object smath is not a member of package scala", - """ - twRuntimeErrors("@scala.smath.abs.cow.sum.z"), - ^ - """ - ) - * - check( - twRuntimeErrors("@scala.math.cos('omg)"), - "type mismatch", - """ - twRuntimeErrors("@scala.math.cos('omg)"), - ^ - """ - ) - * - check( - twRuntimeErrors("@scala.math.cos[omg]('omg)"), - "not found: type omg", - """ - twRuntimeErrors("@scala.math.cos[omg]('omg)"), - ^ - """ - ) - * - check( - twRuntimeErrors(""" - I am cow hear me moo - @scala.math.abs(-10).tdo(10).sum.z - I weigh twice as much as you - """), - "value tdo is not a member of Int", - """ - @scala.math.abs(-10).tdo(10).sum.z - ^ - """ - ) - } - 'curlies{ - * - check( - twRuntimeErrors("@p{@Seq(1, 2, 3).foldLeft(0)}"), - "missing arguments for method foldLeft", - """ - twRuntimeErrors("@p{@Seq(1, 2, 3).foldLeft(0)}"), - ^ - """ - ) - - * - check( - twRuntimeErrors("@Nil.foldLeft{XY}"), - "missing arguments for method foldLeft", - """ - twRuntimeErrors("@Nil.foldLeft{XY}"), - ^ - """ - ) - +//package scalatex +// +//import utest._ +//import scalatex.stages._ +//import scalatags.Text.all._ +//import scalatex.Internals.{DebugFailure, twRuntimeErrors} +// +///** +//* Created by haoyi on 7/14/14. +//*/ +//object ErrorTests extends TestSuite{ +// def check(x: => Unit, expectedMsg: String, expectedError: String) = { +// val DebugFailure(msg, pos) = intercept[DebugFailure](x) +// def format(str: String) = { +// val whitespace = " \t\n".toSet +// "\n" + str.dropWhile(_ == '\n') +// .reverse +// .dropWhile(whitespace.contains) +// .reverse +// } +// // Format these guys nicely to normalize them and make them +// // display nicely in the assert error message if it blows up +// val formattedPos = format(pos) +// val formattedExpectedPos = format(expectedError) +// +// assert(msg.contains(expectedMsg)) +// assert(formattedPos == formattedExpectedPos) +// +// } +// val tests = TestSuite{ +// +// +// 'simple - check( +// twRuntimeErrors("omg @notInScope lol"), +// """not found: value notInScope""", +// """ +// twRuntimeErrors("omg @notInScope lol"), +// ^ +// """ +// ) +// +// 'chained{ +// 'properties { // * - check( -// twRuntimeErrors("@Seq(1).map{(y: String) => omg}"), -// "type mismatch", -// """ -// twRuntimeErrors("@Seq(1).map{(y: String) => omg}"), -// ^ +// twRuntimeErrors("omg @math.lol lol"), +// """object lol is not a member of package math""", +// """ +// twRuntimeErrors("omg @math.lol lol"), +// ^ +// """ +// ) +// +// * - check( +// twRuntimeErrors("omg @math.E.lol lol"), +// """value lol is not a member of Double""", +// """ +// twRuntimeErrors("omg @math.E.lol lol"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("omg @_root_.scala.math.lol lol"), +// """object lol is not a member of package math""", +// """ +// twRuntimeErrors("omg @_root_.scala.math.lol lol"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("omg @_root_.scala.gg.lol lol"), +// """object gg is not a member of package scala""", +// """ +// twRuntimeErrors("omg @_root_.scala.gg.lol lol"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("omg @_root_.ggnore.math.lol lol"), +// """object ggnore is not a member of package <root>""", +// """ +// twRuntimeErrors("omg @_root_.ggnore.math.lol lol"), +// ^ +// """ +// ) +// } +// 'calls{ +// * - check( +// twRuntimeErrors("@scala.QQ.abs(-10).tdo(10).sum.z"), +// """object QQ is not a member of package scala""", +// """ +// twRuntimeErrors("@scala.QQ.abs(-10).tdo(10).sum.z"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("@scala.math.abs(-10).tdo(10).sum.z"), +// "value tdo is not a member of Int", +// """ +// twRuntimeErrors("@scala.math.abs(-10).tdo(10).sum.z"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("@scala.math.abs(-10).to(10).sum.z"), +// "value z is not a member of Int", +// """ +// twRuntimeErrors("@scala.math.abs(-10).to(10).sum.z"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("@scala.math.abs(-10).to(10).sum.z()"), +// "value z is not a member of Int", +// """ +// twRuntimeErrors("@scala.math.abs(-10).to(10).sum.z()"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("@scala.math.abs(-10).cow.sum.z"), +// "value cow is not a member of Int", +// """ +// twRuntimeErrors("@scala.math.abs(-10).cow.sum.z"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("@scala.smath.abs.cow.sum.z"), +// "object smath is not a member of package scala", +// """ +// twRuntimeErrors("@scala.smath.abs.cow.sum.z"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("@scala.math.cos('omg)"), +// "type mismatch", +// """ +// twRuntimeErrors("@scala.math.cos('omg)"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("@scala.math.cos[omg]('omg)"), +// "not found: type omg", +// """ +// twRuntimeErrors("@scala.math.cos[omg]('omg)"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors(""" +// I am cow hear me moo +// @scala.math.abs(-10).tdo(10).sum.z +// I weigh twice as much as you +// """), +// "value tdo is not a member of Int", +// """ +// @scala.math.abs(-10).tdo(10).sum.z +// ^ +// """ +// ) +// } +// 'curlies{ +// * - check( +// twRuntimeErrors("@p{@Seq(1, 2, 3).foldLeft(0)}"), +// "missing arguments for method foldLeft", +// """ +// twRuntimeErrors("@p{@Seq(1, 2, 3).foldLeft(0)}"), +// ^ +// """ +// ) +// +// * - check( +// twRuntimeErrors("@Nil.foldLeft{XY}"), +// "missing arguments for method foldLeft", +// """ +// twRuntimeErrors("@Nil.foldLeft{XY}"), +// ^ +// """ +// ) +// +//// * - check( +//// twRuntimeErrors("@Seq(1).map{(y: String) => omg}"), +//// "type mismatch", +//// """ +//// twRuntimeErrors("@Seq(1).map{(y: String) => omg}"), +//// ^ +//// """ +//// ) +//// * - check( +//// twRuntimeErrors("@Nil.map{ omg}"), +//// "too many arguments for method map", +//// """ +//// twRuntimeErrors("@Nil.map{ omg}"), +//// ^ +//// """ +//// ) +// } +// 'callContents{ +// * - check( +// twRuntimeErrors("@scala.math.abs((1, 2).wtf)"), +// "value wtf is not a member of (Int, Int)", +// """ +// twRuntimeErrors("@scala.math.abs((1, 2).wtf)"), +// ^ // """ // ) +// // * - check( -// twRuntimeErrors("@Nil.map{ omg}"), -// "too many arguments for method map", +// twRuntimeErrors("@scala.math.abs((1, 2).swap._1.toString().map(_.toString.wtf))"), +// "value wtf is not a member of String", +// """ +// twRuntimeErrors("@scala.math.abs((1, 2).swap._1.toString().map(_.toString.wtf))"), +// ^ // """ -// twRuntimeErrors("@Nil.map{ omg}"), +// ) +// } +// } +// 'ifElse{ +// 'oneLine { +// * - check( +// twRuntimeErrors("@if(math > 10){ 1 }else{ 2 }"), +// "object > is not a member of package math", +// """ +// twRuntimeErrors("@if(math > 10){ 1 }else{ 2 }"), // ^ // """ // ) - } - 'callContents{ - * - check( - twRuntimeErrors("@scala.math.abs((1, 2).wtf)"), - "value wtf is not a member of (Int, Int)", - """ - twRuntimeErrors("@scala.math.abs((1, 2).wtf)"), - ^ - """ - ) - - * - check( - twRuntimeErrors("@scala.math.abs((1, 2).swap._1.toString().map(_.toString.wtf))"), - "value wtf is not a member of String", - """ - twRuntimeErrors("@scala.math.abs((1, 2).swap._1.toString().map(_.toString.wtf))"), - ^ - """ - ) - } - } - 'ifElse{ - 'oneLine { - * - check( - twRuntimeErrors("@if(math > 10){ 1 }else{ 2 }"), - "object > is not a member of package math", - """ - twRuntimeErrors("@if(math > 10){ 1 }else{ 2 }"), - ^ - """ - ) - * - check( - twRuntimeErrors("@if(true){ (@math.pow(10)) * 10 }else{ 2 }"), - "Unspecified value parameter y", - """ - twRuntimeErrors("@if(true){ (@math.pow(10)) * 10 }else{ 2 }"), - ^ - """ - ) - * - check( - twRuntimeErrors("@if(true){ * 10 }else{ @math.sin(3, 4, 5) }"), - "too many arguments for method sin: (x: Double)Double", - """ - twRuntimeErrors("@if(true){ * 10 }else{ @math.sin(3, 4, 5) }"), - ^ - """ - ) - } - 'multiLine{ - * - check( - twRuntimeErrors(""" - Ho Ho Ho - - @if(math != 10) - I am a cow - @else - You are a cow - GG - """), - "object != is not a member of package math", - """ - @if(math != 10) - ^ - """ - ) - * - check( - twRuntimeErrors(""" - Ho Ho Ho - - @if(4 != 10) - I am a cow @math.lols - @else - You are a cow - GG - """), - "object lols is not a member of package math", - """ - I am a cow @math.lols - ^ - """ - ) - * - check( - twRuntimeErrors(""" - Ho Ho Ho - - @if(12 != 10) - I am a cow - @else - @math.E.toString.gog(1) - GG - """), - "value gog is not a member of String", - """ - @math.E.toString.gog(1) - ^ - """ - ) - } - } - 'forLoop{ - 'oneLine{ - 'header - check( - twRuntimeErrors("omg @for(x <- (0 + 1 + 2) omglolol (10 + 11 + 2)){ hello }"), - """value omglolol is not a member of Int""", - """ - twRuntimeErrors("omg @for(x <- (0 + 1 + 2) omglolol (10 + 11 + 2)){ hello }"), - ^ - """ - ) - - 'body - check( - twRuntimeErrors("omg @for(x <- 0 until 10){ @((x, 2) + (1, 2)) }"), - """too many arguments for method +""", - """ - twRuntimeErrors("omg @for(x <- 0 until 10){ @((x, 2) + (1, 2)) }"), - ^ - """ - ) - } - 'multiLine{ - 'body - check( - twRuntimeErrors(""" - omg - @for(x <- 0 until 10) - I am cow hear me moo - I weigh twice as much as @x.kkk - """), - """value kkk is not a member of Int""", - """ - I weigh twice as much as @x.kkk - ^ - """ - ) - } - } - 'multiLine{ - 'missingVar - check( - twRuntimeErrors(""" - omg @notInScope lol - """), - """not found: value notInScope""", - """ - omg @notInScope lol - ^ - """ - ) -// 'wrongType - check( +// * - check( +// twRuntimeErrors("@if(true){ (@math.pow(10)) * 10 }else{ 2 }"), +// "Unspecified value parameter y", +// """ +// twRuntimeErrors("@if(true){ (@math.pow(10)) * 10 }else{ 2 }"), +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors("@if(true){ * 10 }else{ @math.sin(3, 4, 5) }"), +// "too many arguments for method sin: (x: Double)Double", +// """ +// twRuntimeErrors("@if(true){ * 10 }else{ @math.sin(3, 4, 5) }"), +// ^ +// """ +// ) +// } +// 'multiLine{ +// * - check( +// twRuntimeErrors(""" +// Ho Ho Ho +// +// @if(math != 10) +// I am a cow +// @else +// You are a cow +// GG +// """), +// "object != is not a member of package math", +// """ +// @if(math != 10) +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors(""" +// Ho Ho Ho +// +// @if(4 != 10) +// I am a cow @math.lols +// @else +// You are a cow +// GG +// """), +// "object lols is not a member of package math", +// """ +// I am a cow @math.lols +// ^ +// """ +// ) +// * - check( +// twRuntimeErrors(""" +// Ho Ho Ho +// +// @if(12 != 10) +// I am a cow +// @else +// @math.E.toString.gog(1) +// GG +// """), +// "value gog is not a member of String", +// """ +// @math.E.toString.gog(1) +// ^ +// """ +// ) +// } +// } +// 'forLoop{ +// 'oneLine{ +// 'header - check( +// twRuntimeErrors("omg @for(x <- (0 + 1 + 2) omglolol (10 + 11 + 2)){ hello }"), +// """value omglolol is not a member of Int""", +// """ +// twRuntimeErrors("omg @for(x <- (0 + 1 + 2) omglolol (10 + 11 + 2)){ hello }"), +// ^ +// """ +// ) +// +// 'body - check( +// twRuntimeErrors("omg @for(x <- 0 until 10){ @((x, 2) + (1, 2)) }"), +// """too many arguments for method +""", +// """ +// twRuntimeErrors("omg @for(x <- 0 until 10){ @((x, 2) + (1, 2)) }"), +// ^ +// """ +// ) +// } +// 'multiLine{ +// 'body - check( +// twRuntimeErrors(""" +// omg +// @for(x <- 0 until 10) +// I am cow hear me moo +// I weigh twice as much as @x.kkk +// """), +// """value kkk is not a member of Int""", +// """ +// I weigh twice as much as @x.kkk +// ^ +// """ +// ) +// } +// } +// 'multiLine{ +// 'missingVar - check( +// twRuntimeErrors(""" +// omg @notInScope lol +// """), +// """not found: value notInScope""", +// """ +// omg @notInScope lol +// ^ +// """ +// ) +//// 'wrongType - check( +//// twRuntimeErrors(""" +//// omg @{() => ()} lol +//// """), +//// """type mismatch""", +//// """ +//// omg @{() => ()} lol +//// ^ +//// """ +//// ) +// +// 'bigExpression - check( // twRuntimeErrors(""" -// omg @{() => ()} lol +// @{ +// val x = 1 + 2 +// val y = new Object() +// val z = y * x +// x +// } // """), -// """type mismatch""", +// "value * is not a member of Object", // """ -// omg @{() => ()} lol -// ^ +// val z = y * x +// ^ // """ // ) - - 'bigExpression - check( - twRuntimeErrors(""" - @{ - val x = 1 + 2 - val y = new Object() - val z = y * x - x - } - """), - "value * is not a member of Object", - """ - val z = y * x - ^ - """ - ) - } - } -} +// } +// } +//} |