summaryrefslogtreecommitdiff
path: root/scalatexApi/src/test/scala/scalatex/ErrorTests.scala
diff options
context:
space:
mode:
Diffstat (limited to 'scalatexApi/src/test/scala/scalatex/ErrorTests.scala')
-rw-r--r--scalatexApi/src/test/scala/scalatex/ErrorTests.scala650
1 files changed, 325 insertions, 325 deletions
diff --git a/scalatexApi/src/test/scala/scalatex/ErrorTests.scala b/scalatexApi/src/test/scala/scalatex/ErrorTests.scala
index 77afd8c..8535b72 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"),
-// ^
-// """
-// )
+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}"),
+ ^
+ """
+ )
+
// * - check(
-// twRuntimeErrors("omg @_root_.scala.gg.lol lol"),
-// """object gg is not a member of package scala""",
-// """
-// twRuntimeErrors("omg @_root_.scala.gg.lol lol"),
-// ^
+// twRuntimeErrors("@Seq(1).map{(y: String) => omg}"),
+// "type mismatch",
+// """
+// twRuntimeErrors("@Seq(1).map{(y: String) => omg}"),
+// ^
// """
// )
// * - check(
-// twRuntimeErrors("omg @_root_.ggnore.math.lol lol"),
-// """object ggnore is not a member of package <root>""",
+// twRuntimeErrors("@Nil.map{ omg}"),
+// "too many arguments for method map",
// """
-// twRuntimeErrors("omg @_root_.ggnore.math.lol lol"),
-// ^
+// twRuntimeErrors("@Nil.map{ omg}"),
+// ^
// """
// )
// }
-// '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"),
-// ^
-// """
-// )
+ '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("@scala.math.abs(-10).to(10).sum.z()"),
-// "value z is not a member of Int",
+// twRuntimeErrors("@if(math > 10){ 1 }else{ 2 }"),
+// "object > is not a member of package math",
// """
-// twRuntimeErrors("@scala.math.abs(-10).to(10).sum.z()"),
-// ^
+// twRuntimeErrors("@if(math > 10){ 1 }else{ 2 }"),
+// ^
// """
// )
// * - check(
-// twRuntimeErrors("@scala.math.abs(-10).cow.sum.z"),
-// "value cow is not a member of Int",
+// twRuntimeErrors("@if(true){ (@math.pow(10)) * 10 }else{ 2 }"),
+// "Unspecified value parameter y",
// """
-// twRuntimeErrors("@scala.math.abs(-10).cow.sum.z"),
+// twRuntimeErrors("@if(true){ (@math.pow(10)) * 10 }else{ 2 }"),
// ^
// """
// )
// * - check(
-// twRuntimeErrors("@scala.smath.abs.cow.sum.z"),
-// "object smath is not a member of package scala",
+// twRuntimeErrors("@if(true){ * 10 }else{ @math.sin(3, 4, 5) }"),
+// "too many arguments for method sin: (x: Double)Double",
// """
-// twRuntimeErrors("@scala.smath.abs.cow.sum.z"),
-// ^
+// twRuntimeErrors("@if(true){ * 10 }else{ @math.sin(3, 4, 5) }"),
+// ^
// """
// )
+// }
+// 'multiLine{
// * - check(
-// twRuntimeErrors("@scala.math.cos('omg)"),
-// "type mismatch",
+// 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",
// """
-// twRuntimeErrors("@scala.math.cos('omg)"),
-// ^
+// @if(math != 10)
+// ^
// """
// )
// * - check(
-// twRuntimeErrors("@scala.math.cos[omg]('omg)"),
-// "not found: type omg",
+// 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",
// """
-// twRuntimeErrors("@scala.math.cos[omg]('omg)"),
-// ^
+// I am a cow @math.lols
+// ^
// """
// )
// * - check(
// twRuntimeErrors("""
-// I am cow hear me moo
-// @scala.math.abs(-10).tdo(10).sum.z
-// I weigh twice as much as you
+// Ho Ho Ho
+//
+// @if(12 != 10)
+// I am a cow
+// @else
+// @math.E.toString.gog(1)
+// GG
// """),
-// "value tdo is not a member of Int",
+// "value gog is not a member of String",
// """
-// @scala.math.abs(-10).tdo(10).sum.z
-// ^
+// @math.E.toString.gog(1)
+// ^
// """
// )
// }
-// '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",
+// }
+// '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("@Nil.foldLeft{XY}"),
-// ^
+// twRuntimeErrors("omg @for(x <- (0 + 1 + 2) omglolol (10 + 11 + 2)){ hello }"),
+// ^
// """
// )
//
-//// * - 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)",
+// 'body - check(
+// twRuntimeErrors("omg @for(x <- 0 until 10){ @((x, 2) + (1, 2)) }"),
+// """too many arguments for method +""",
// """
-// twRuntimeErrors("@scala.math.abs((1, 2).wtf)"),
-// ^
+// twRuntimeErrors("omg @for(x <- 0 until 10){ @((x, 2) + (1, 2)) }"),
+// ^
// """
// )
-//
-// * - check(
-// twRuntimeErrors("@scala.math.abs((1, 2).swap._1.toString().map(_.toString.wtf))"),
-// "value wtf is not a member of String",
+// }
+// '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""",
// """
-// twRuntimeErrors("@scala.math.abs((1, 2).swap._1.toString().map(_.toString.wtf))"),
-// ^
+// I weigh twice as much as @x.kkk
+// ^
// """
// )
// }
-//// }
-//// '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(
-//// twRuntimeErrors("""
-//// omg @{() => ()} lol
-//// """),
-//// """type mismatch""",
-//// """
-//// omg @{() => ()} lol
-//// ^
-//// """
-//// )
-////
-//// '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
-//// ^
-//// """
-//// )
// }
-// }
-//}
+// '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("""
+// @{
+// val x = 1 + 2
+// val y = new Object()
+// val z = y * x
+// x
+// }
+// """),
+// "value * is not a member of Object",
+// """
+// val z = y * x
+// ^
+// """
+// )
+ }
+ }
+}