summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorVladimirNik <vladimir.nikolaev9@gmail.com>2014-02-16 23:34:03 +0400
committerVladimirNik <vladimir.nikolaev9@gmail.com>2014-02-20 01:23:26 +0400
commitf7425c0e987aa092488b2d5405b64d77995bd712 (patch)
tree497d51c4a99b18e7a2d9009922b82221c153a585 /test
parent81e7caa3c930987a589ad070022444bc4b163de1 (diff)
downloadscala-f7425c0e987aa092488b2d5405b64d77995bd712.tar.gz
scala-f7425c0e987aa092488b2d5405b64d77995bd712.tar.bz2
scala-f7425c0e987aa092488b2d5405b64d77995bd712.zip
printOwners support added to Printers; whitespaces removed
Diffstat (limited to 'test')
-rw-r--r--test/junit/scala/reflect/internal/PrintersTest.scala310
1 files changed, 155 insertions, 155 deletions
diff --git a/test/junit/scala/reflect/internal/PrintersTest.scala b/test/junit/scala/reflect/internal/PrintersTest.scala
index 4c9dfaf038..73c58487a1 100644
--- a/test/junit/scala/reflect/internal/PrintersTest.scala
+++ b/test/junit/scala/reflect/internal/PrintersTest.scala
@@ -23,18 +23,18 @@ class PrintersTest extends BasePrintTests
object PrinterHelper {
val toolbox = cm.mkToolBox()
-
+
import scala.reflect.internal.Chars._
private def normalizeEOL(resultCode: String) =
resultCode.lines mkString s"$LF"
-
+
def assertResultCode(code: String)(parsedCode: String = "", typedCode: String = "", wrap: Boolean = false, printRoot: Boolean = false) = {
def toolboxTree(tree: => Tree) = try{
tree
} catch {
case e:scala.tools.reflect.ToolBoxError => throw new Exception(e.getMessage + ": " + code)
}
-
+
def wrapCode(source: String) = {
val context = sm"""
|trait PrintersContext {
@@ -46,7 +46,7 @@ object PrinterHelper {
| trait B1;
|${source.trim.lines map {" " + _} mkString s"$LF"}
|}"""
-
+
if (wrap) context.trim() else source.trim
}
@@ -58,17 +58,17 @@ object PrinterHelper {
assertEquals("using toolbox typechecker" + LF, wrapCode(typedCode), normalizeEOL(showCode(typedTree, printRootPkg = printRoot)))
}
}
-
+
def assertTreeCode(tree: Tree)(code: String) = {
assertEquals("using quasiquote or given tree"+LF, code.trim, normalizeEOL(showCode(tree)))
}
-
+
def assertPrintedCode(source: String, checkTypedTree: Boolean = true, wrapCode: Boolean = false) = {
if (checkTypedTree)
assertResultCode(source)(source, source, wrapCode)
else assertResultCode(source)(parsedCode = source, wrap = wrapCode)
}
-
+
implicit class StrContextStripMarginOps(val stringContext: StringContext) extends util.StripMarginInterpolator
}
@@ -76,57 +76,57 @@ import PrinterHelper._
trait BasePrintTests {
@Test def testIdent = assertTreeCode(Ident("*"))("*")
-
+
@Test def testConstant1 = assertTreeCode(Literal(Constant("*")))("\"*\"")
-
+
@Test def testConstant2 = assertTreeCode(Literal(Constant(42)))("42")
-
+
@Test def testConstantFloat = assertTreeCode(Literal(Constant(42f)))("42.0F")
-
+
@Test def testConstantDouble = assertTreeCode(Literal(Constant(42d)))("42.0")
-
+
@Test def testConstantLong = assertTreeCode(Literal(Constant(42l)))("42L")
-
+
@Test def testOpExpr = assertPrintedCode("(5).+(4)", checkTypedTree = false)
-
+
@Test def testName1 = assertPrintedCode("class test")
-
+
@Test def testName2 = assertPrintedCode("class *")
-
+
@Test def testName4 = assertPrintedCode("class `a*`")
-
+
@Test def testName5 = assertPrintedCode("val :::: = 1")
-
+
@Test def testName6 = assertPrintedCode("val `::::t` = 1")
-
+
@Test def testName7 = assertPrintedCode("""class \/""")
-
+
@Test def testName8 = assertPrintedCode("""class \\\\""")
-
+
@Test def testName9 = assertPrintedCode("""class test_\/""")
-
+
@Test def testName10 = assertPrintedCode("""class `*_*`""")
-
+
@Test def testName11 = assertPrintedCode("""class `a_*`""")
-
+
@Test def testName12 = assertPrintedCode("""class `*_a`""")
-
+
@Test def testName13 = assertPrintedCode("""class a_a""")
-
+
@Test def testName14 = assertPrintedCode("val x$11 = 5")
-
+
@Test def testName15 = assertPrintedCode("class `[]`")
-
+
@Test def testName16 = assertPrintedCode("class `()`")
-
+
@Test def testName17 = assertPrintedCode("class `{}`")
-
+
@Test def testName18 = assertPrintedCode("class <>")
-
+
@Test def testName19 = assertPrintedCode("""class `class`""")
-
+
@Test def testName20 = assertPrintedCode("""class `test name`""")
-
+
@Test def testIfExpr1 = assertResultCode(code = sm"""
|val a = 1
|if (a > 1)
@@ -147,7 +147,7 @@ trait BasePrintTests {
|else
| ((PrintersContext.this.a.toString()): scala.Predef.String)
""", wrap = true)
-
+
@Test def testIfExpr2 = assertPrintedCode(sm"""
|class A {
| (if (true)
@@ -161,7 +161,7 @@ trait BasePrintTests {
| ()
| }).toString()
|}""")
-
+
@Test def testIfExpr3 = assertPrintedCode(sm"""
|class A {
| (if (true)
@@ -175,13 +175,13 @@ trait BasePrintTests {
| ()
| }).toString().hashCode()
|}""")
-
+
//val x = true && true && false.!
@Test def testBooleanExpr1 = assertPrintedCode("val x = true.&&(true).&&(false.`unary_!`)", checkTypedTree = false)
-
+
//val x = true && !(true && false)
@Test def testBooleanExpr2 = assertPrintedCode("val x = true.&&(true.&&(false).`unary_!`)", checkTypedTree = false)
-
+
@Test def testNewExpr1 = assertResultCode(
code = sm"""
|class foo
@@ -195,7 +195,7 @@ trait BasePrintTests {
|new PrintersContext.this.foo()
|""",
wrap = true)
-
+
@Test def testNewExpr2 = assertResultCode(
code = sm"""
|class foo
@@ -218,27 +218,27 @@ trait BasePrintTests {
| new $$anon()
|}""",
wrap = true)
-
+
@Test def testNewExpr3 = assertPrintedCode(sm"""
|{
| class foo[t];
| new foo[scala.Int]()
|}""")
-
+
@Test def testNewExpr4 = assertPrintedCode(sm"""
|{
| class foo(x: scala.Int);
| val x = 5;
| new foo(x)
|}""")
-
+
@Test def testNewExpr5 = assertPrintedCode(sm"""
|{
| class foo[t](x: scala.Int);
| val x = 5;
| new foo[scala.Predef.String](x)
|}""")
-
+
//new foo[t](x) { () }
@Test def testNewExpr6 = assertResultCode(
code = sm"""
@@ -265,7 +265,7 @@ trait BasePrintTests {
| new $$anon()
| }
|}""")
-
+
//new foo with bar
@Test def testNewExpr7 = assertPrintedCode(sm"""
|{
@@ -276,7 +276,7 @@ trait BasePrintTests {
| new $$anon()
| }
|}""")
-
+
//new { anonymous }
@Test def testNewExpr8 = assertPrintedCode(sm"""
|{
@@ -285,7 +285,7 @@ trait BasePrintTests {
| };
| new $$anon()
|}""")
-
+
//new { val early = 1 } with Parent[Int] { body }
@Test def testNewExpr9 = assertPrintedCode(sm"""
|{
@@ -299,7 +299,7 @@ trait BasePrintTests {
| new $$anon()
| }
|}""")
-
+
//new Foo { self => }
@Test def testNewExpr10 = assertPrintedCode(sm"""
|{
@@ -311,9 +311,9 @@ trait BasePrintTests {
| new $$anon()
| }
|}""")
-
+
@Test def testReturn = assertPrintedCode("def test: scala.Int = return 42")
-
+
@Test def testFunc1 = assertResultCode(
code = "List(1, 2, 3).map((i: Int) => i - 1)")(
parsedCode = "List(1, 2, 3).map(((i: Int) => i.-(1)))",
@@ -323,44 +323,44 @@ trait BasePrintTests {
code = "val sum: Seq[Int] => Int = _ reduceLeft (_+_)")(
parsedCode = "val sum: _root_.scala.Function1[Seq[Int], Int] = ((x$1) => x$1.reduceLeft(((x$2, x$3) => x$2.+(x$3))))",
typedCode = "val sum: _root_.scala.Function1[scala.`package`.Seq[scala.Int], scala.Int] = ((x$1) => x$1.reduceLeft(((x$2, x$3) => x$2.+(x$3))))")
-
+
@Test def testFunc3 = assertResultCode(
code = "List(1, 2, 3) map (_ - 1)")(
parsedCode = "List(1, 2, 3).map(((x$1) => x$1.-(1))) ",
typedCode = "scala.collection.immutable.List.apply(1, 2, 3).map(((x$1) => x$1.-(1)))(scala.collection.immutable.List.canBuildFrom)")
-
+
@Test def testFunc4 = assertResultCode(
code = "val x: String => Int = ((str: String) => 1)")(
parsedCode = "val x: _root_.scala.Function1[String, Int] = ((str: String) => 1)",
typedCode = " val x: _root_.scala.Function1[_root_.scala.Predef.String, _root_.scala.Int] = ((str: _root_.scala.Predef.String) => 1)", printRoot = true)
-
+
@Test def testImport1 = assertPrintedCode("import scala.collection.mutable")
-
+
@Test def testImport2 = assertPrintedCode("import java.lang.{String=>Str}")
-
+
@Test def testImport3 = assertPrintedCode("import java.lang.{String=>Str, Object=>_, _}")
-
+
@Test def testImport4 = assertPrintedCode("import scala.collection._")
}
trait ClassPrintTests {
@Test def testClass = assertPrintedCode("class *")
-
+
@Test def testClassWithBody = assertPrintedCode(sm"""
|class X {
| def y = "test"
|}""")
@Test def testClassWithPublicParams = assertPrintedCode("class X(val x: scala.Int, val s: scala.Predef.String)")
-
+
@Test def testClassWithParams1 = assertPrintedCode("class X(x: scala.Int, s: scala.Predef.String)")
-
+
@Test def testClassWithParams2 = assertPrintedCode("class X(@test x: Int, s: String)", checkTypedTree = false)
-
+
@Test def testClassWithParams3 = assertPrintedCode("class X(implicit x: Int, s: String)", checkTypedTree = false)
-
+
@Test def testClassWithParams4 = assertPrintedCode("class X(implicit @unchecked x: Int, s: String)", checkTypedTree = false)
-
+
@Test def testClassWithParams5 = assertPrintedCode(sm"""
|{
| class Y {
@@ -369,25 +369,25 @@ trait ClassPrintTests {
| class X(override private[this] val x: scala.Int, s: scala.Predef.String) extends Y;
| ()
|}""")
-
+
@Test def testClassWithParams6 = assertPrintedCode("class X(@test1 override private[this] val x: Int, @test2(param1 = 7) s: String) extends Y", checkTypedTree = false)
-
+
@Test def testClassWithParams7 = assertPrintedCode("class X protected (val x: scala.Int, val s: scala.Predef.String)")
-
+
@Test def testClassWithParams8 = assertPrintedCode("class X(var x: scala.Int)")
-
+
@Test def testClassWithParams9 = assertPrintedCode("def test(x: scala.Int*) = 5")
-
+
@Test def testClassWithByNameParam = assertPrintedCode("class X(x: => scala.Int)")
-
+
@Test def testClassWithDefault = assertPrintedCode(sm"""
|{
| class X(var x: scala.Int = 5);
| ()
|}""")
-
+
@Test def testClassWithParams10 = assertPrintedCode("class X(protected[zzz] var x: Int)", checkTypedTree = false)
-
+
@Test def testClassWithParams11 = assertPrintedCode(sm"""
|{
| class F(x: scala.Int);
@@ -397,11 +397,11 @@ trait ClassPrintTests {
| class X(override var x: scala.Int = 5) extends F(x) with E;
| ()
|}""")
-
+
@Test def testClassWithParams12 = assertPrintedCode("class X(val y: scala.Int)()(var z: scala.Double)")
-
+
@Test def testClassWithImplicitParams = assertPrintedCode("class X(var i: scala.Int)(implicit val d: scala.Double, var f: scala.Float)")
-
+
@Test def testClassWithEarly = assertPrintedCode(sm"""
|class X(var i: scala.Int) extends {
| val a = i;
@@ -412,14 +412,14 @@ trait ClassPrintTests {
|class Throw1 {
| throw new scala.`package`.Exception("exception!")
|}""")
-
+
@Test def testClassWithThrow2 = assertPrintedCode(sm"""
|class Throw2 {
| var msg = " ";
| val e = new scala.`package`.Exception(Throw2.this.msg);
| throw Throw2.this.e
|}""")
-
+
/*
class Test {
val (a, b) = (1, 2)
@@ -433,7 +433,7 @@ trait ClassPrintTests {
| val a = Test.this.x$$1._1;
| val b = Test.this.x$$1._2
|}""")
-
+
@Test def testClassWithAssignmentWithTuple2 = assertResultCode(
code = sm"""
|class Test {
@@ -455,7 +455,7 @@ trait ClassPrintTests {
| val a = Test.this.x$$1._1;
| val b = Test.this.x$$1._2
|}""")
-
+
/*
class Test {
val List(one, three, five) = List(1,3,5)
@@ -476,12 +476,12 @@ trait ClassPrintTests {
|class Test(l: (scala.`package`.List[_$$1] forSome {
| type _$$1
|}))""")
-
+
@Test def testClassWithExistentialParameter2 = assertPrintedCode(sm"""
|class B(l: (scala.`package`.List[T] forSome {
| type T
|}))""")
-
+
@Test def testClassWithCompoundTypeTree = assertPrintedCode(sm"""
|{
| trait A;
@@ -493,7 +493,7 @@ trait ClassPrintTests {
| };
| ()
|}""")
-
+
@Test def testClassWithSelectFromTypeTree = assertPrintedCode(sm"""
|{
| trait A {
@@ -502,34 +502,34 @@ trait ClassPrintTests {
| class B(t: (A)#T);
| ()
|}""")
-
+
@Test def testImplicitClass = assertPrintedCode(sm"""
|{
| implicit class X(protected[this] var x: scala.Int);
| ()
|}""",
checkTypedTree = true)
-
+
@Test def testAbstractClass = assertPrintedCode("abstract class X(protected[this] var x: scala.Int)")
-
+
@Test def testCaseClassWithParams1 = assertPrintedCode(sm"""
|{
| case class X(x: scala.Int, s: scala.Predef.String);
| ()
|}""")
-
+
@Test def testCaseClassWithParams2 = assertPrintedCode(sm"""
|{
| case class X(protected val x: scala.Int, s: scala.Predef.String);
| ()
|}""")
-
+
@Test def testCaseClassWithParams3 = assertPrintedCode(sm"""
|{
| case class X(implicit x: scala.Int, s: scala.Predef.String);
| ()
|}""")
-
+
@Test def testCaseClassWithParams4 = assertPrintedCode(sm"""
|{
| trait V {
@@ -538,7 +538,7 @@ trait ClassPrintTests {
| case class X(override val x: scala.Int, s: scala.Predef.String) extends scala.Cloneable;
| ()
|}""")
-
+
@Test def testCaseClassWithBody = assertPrintedCode(sm"""
|{
| case class X() {
@@ -580,7 +580,7 @@ trait ClassPrintTests {
| };
| ()
|}""")
-
+
@Test def testThisInClass = assertPrintedCode(sm"""
|class Outer {
| class Inner {
@@ -588,7 +588,7 @@ trait ClassPrintTests {
| };
| val self = this
|}""")
-
+
@Test def testCaseClassWithParamsAndBody = assertPrintedCode(sm"""
|{
| case class X(var x: scala.Int, var s: scala.Predef.String) {
@@ -598,7 +598,7 @@ trait ClassPrintTests {
|}""")
@Test def testObject = assertPrintedCode("object *")
-
+
@Test def testObjectWithBody = assertPrintedCode(sm"""
|object X {
| def y = "test"
@@ -608,7 +608,7 @@ trait ClassPrintTests {
|object X extends {
| val early: scala.Int = 42
|} with scala.Serializable""")
-
+
@Test def testObjectWithEarly2 = assertPrintedCode(sm"""
|object X extends {
| val early: scala.Int = 42;
@@ -624,14 +624,14 @@ trait ClassPrintTests {
|trait Y {
| private[Y] object X extends scala.Serializable with scala.Cloneable
|}""")
-
+
@Test def testObjectWithPatternMatch1 = assertPrintedCode(sm"""
|object PM1 {
| scala.collection.immutable.List.apply(1, 2) match {
| case (i @ _) => i
| }
|}""")
-
+
@Test def testObjectWithPatternMatch2 = assertResultCode(
code = sm"""
|object PM2 {
@@ -652,9 +652,9 @@ trait ClassPrintTests {
| case (i @ _) if i.>(5) => i
| }))(scala.collection.immutable.List.canBuildFrom)
|}""")
- *
+ *
*/
-
+
@Test def testObjectWithPatternMatch3 = assertResultCode(
code = sm"""
|object PM3 {
@@ -675,9 +675,9 @@ trait ClassPrintTests {
| case (i @ ((_): scala.Int)) => i
| }))(scala.collection.immutable.List.canBuildFrom)
|}""")
- *
+ *
*/
-
+
@Test def testObjectWithPatternMatch4 = assertResultCode(
code = sm"""
|object PM4 {
@@ -698,9 +698,9 @@ trait ClassPrintTests {
| case _ => 42
| }))(scala.collection.immutable.List.canBuildFrom)
|}""")
- *
+ *
*/
-
+
@Test def testObjectWithPatternMatch5 = assertResultCode(
code = sm"""
|object PM5 {
@@ -720,7 +720,7 @@ trait ClassPrintTests {
| case scala.`package`.::((x @ _), (xs @ _)) => x
| }
|}""")
-
+
@Test def testObjectWithPatternMatch6 = assertResultCode(
code = sm"""
|object PM6 {
@@ -744,16 +744,16 @@ trait ClassPrintTests {
| case _ => false
| }))(scala.collection.immutable.List.canBuildFrom)
|}"""
- *
+ *
*/
-
+
@Test def testObjectWithPatternMatch7 = assertPrintedCode(sm"""
|object PM7 {
| scala.Predef.augmentString("abcde").toList match {
| case scala.collection.Seq((car @ _), _*) => car
| }
|}""")
-
+
@Test def testObjectWithPatternMatch8 = assertPrintedCode(sm"""
|{
| object Extractor {
@@ -766,7 +766,7 @@ trait ClassPrintTests {
| };
| ()
|}""")
-
+
@Test def testObjectWithPartialFunc = assertPrintedCode(sm"""
|object Test {
| def partFuncTest[A, B](e: scala.`package`.Either[A, B]): scala.Unit = e match {
@@ -815,7 +815,7 @@ trait ClassPrintTests {
trait TraitPrintTests {
@Test def testTrait = assertPrintedCode("trait *")
-
+
@Test def testTraitWithBody = assertPrintedCode(sm"""
|trait X {
| def y = "test"
@@ -830,7 +830,7 @@ trait TraitPrintTests {
|trait X { self =>
| def y = "test"
|}""")
-
+
@Test def testTraitWithSelf2 = assertPrintedCode(sm"""
|trait X { self: scala.Cloneable with scala.Serializable =>
| val x: scala.Int = 1
@@ -843,7 +843,7 @@ trait TraitPrintTests {
| def foo: scala.Unit;
| val bar: scala.Predef.String
|}""")
-
+
@Test def testTraitWithInh = assertPrintedCode("trait X extends scala.Cloneable with scala.Serializable")
@Test def testTraitWithEarly1 = assertPrintedCode(sm"""
@@ -856,7 +856,7 @@ trait TraitPrintTests {
| val x: scala.Int = 0;
| type Foo = scala.Unit
|} with scala.Cloneable""")
-
+
@Test def testTraitWithEarly3 = assertPrintedCode(sm"""
|trait X extends {
| val x: scala.Int = 5;
@@ -864,7 +864,7 @@ trait TraitPrintTests {
| type Foo;
| type XString = scala.Predef.String
|} with scala.Serializable""")
-
+
@Test def testTraitWithEarly4 = assertPrintedCode(sm"""
|trait X extends {
| val x: scala.Int = 5;
@@ -874,24 +874,24 @@ trait TraitPrintTests {
|} with scala.Serializable {
| val z = 7
|}""")
-
+
@Test def testTraitWithSingletonTypeTree = assertPrintedCode(sm"""
|trait Test {
| def testReturnSingleton(): Test.this.type
|}""")
-
+
@Test def testTraitWithThis = assertTreeCode(q"trait Test { this: X with Y => }")(sm"""
|trait Test { _ : X with Y =>
|
|}""")
-
+
@Test def testTraitWithWhile1 = assertPrintedCode(sm"""
|trait Test {
| while (false)
| scala.Predef.println("testing...")
|
|}""")
-
+
@Test def testTraitWithWhile2 = assertPrintedCode(sm"""
|trait Test {
| while (true)
@@ -901,14 +901,14 @@ trait TraitPrintTests {
| }
|
|}""")
-
+
@Test def testTraitWithDoWhile1 = assertPrintedCode(sm"""
|trait Test {
| do
| scala.Predef.println("testing...")
| while (true)
|}""")
-
+
@Test def testTraitWithTypes = assertResultCode(
code = sm"""
|trait Test {
@@ -935,23 +935,23 @@ trait TraitPrintTests {
trait ValAndDefPrintTests {
@Test def testVal1 = assertPrintedCode("val a: scala.Unit = ()")
-
+
@Test def testVal2 = assertPrintedCode("val * : scala.Unit = ()")
-
+
@Test def testVal3 = assertPrintedCode("val a_ : scala.Unit = ()")
-
+
@Test def testDef1 = assertPrintedCode("def a = ()")
-
+
@Test def testDef2 = assertPrintedCode("def * : scala.Unit = ()")
-
+
@Test def testDef3 = assertPrintedCode("def a_(x: scala.Int): scala.Unit = ()")
-
+
@Test def testDef4 = assertPrintedCode("def a_ : scala.Unit = ()")
-
+
@Test def testDef5 = assertPrintedCode("def a_(* : scala.Int): scala.Unit = ()")
-
+
@Test def testDef6 = assertPrintedCode("def a_(b_ : scala.Int) = ()")
-
+
@Test def testDef7 = assertTreeCode{
Block(
DefDef(NoMods, newTermName("test1"), Nil, Nil, EmptyTree, Literal(Constant(()))),
@@ -962,20 +962,20 @@ trait ValAndDefPrintTests {
| def test1 = ();
| def test2() = ()
|}""")
-
+
@Test def testDef8 = {
val arg = ValDef(Modifiers(Flag.IMPLICIT) , newTermName("a"),
AppliedTypeTree(Ident(newTypeName("R")), List(Ident(newTypeName("X")))), EmptyTree)
-
- //def m[X](implicit a: R[X]) = ()
+
+ //def m[X](implicit a: R[X]) = ()
val tree = DefDef(NoMods, newTermName("test"), TypeDef(NoMods, newTypeName("X"), Nil, EmptyTree) :: Nil,
List(List(arg)), EmptyTree, Literal(Constant(())))
assertTreeCode(tree)("def test[X](implicit a: R[X]) = ()")
}
-
+
@Test def testDef9 = assertPrintedCode("def a(x: scala.Int)(implicit z: scala.Double, y: scala.Float): scala.Unit = ()")
-
+
@Test def testDefWithLazyVal1 = assertResultCode(
code = "def a = { lazy val test: Int = 42 }")(
parsedCode = sm"""
@@ -989,7 +989,7 @@ trait ValAndDefPrintTests {
| lazy val test: scala.Int = 42;
| ()
|}""")
-
+
@Test def testDefWithLazyVal2 = assertPrintedCode(sm"""
|def a = {
| lazy val test = {
@@ -998,63 +998,63 @@ trait ValAndDefPrintTests {
| };
| ()
|}""")
-
+
@Test def testDefWithParams1 = assertPrintedCode("def foo(x: scala.Int*) = ()")
-
+
@Test def testDefWithParams2 = assertPrintedCode(sm"""
|{
| def foo(x: scala.Int)(y: scala.Int = 1) = ();
| ()
|}""")
-
+
@Test def testDefWithTypeParams1 = assertPrintedCode(sm"""
|{
| def foo[A, B, C](x: A)(y: scala.Int = 1): C = ().asInstanceOf[C];
| ()
|}""")
-
+
@Test def testDefWithTypeParams2 = assertPrintedCode("def foo[A, B <: scala.AnyVal] = ()")
@Test def testDefWithAnn1 = assertPrintedCode("@annot def foo = null", checkTypedTree = false)
-
+
@Test def testDefWithAnn2 = assertPrintedCode("@a(x) def foo = null", checkTypedTree = false)
@Test def testDefWithAnn3 = assertPrintedCode("@Foo[A, B] def foo = null", checkTypedTree = false)
-
+
@Test def testDefWithAnn4 = assertPrintedCode("@Foo(a)(b)(x, y) def foo = null", checkTypedTree = false)
-
+
@Test def testDefWithAnn5 = assertPrintedCode("@Foo[A, B](a)(b) @Bar def foo(x: Int) = null", checkTypedTree = false)
-
+
@Test def testDefWithAnn6 = assertPrintedCode("@test1(new test2()) def foo = 42", checkTypedTree = false)
-
+
@Test def testDefWithAnn7 = assertPrintedCode("@`t*` def foo = 42", checkTypedTree = false)
-
+
@Test def testDefWithAnn8 = assertPrintedCode("@throws(classOf[Exception]) def foo = throw new Exception()", checkTypedTree = false)
-
+
@Test def testAnnotated1 = assertResultCode(
code = "def foo = 42: @baz")(
parsedCode = "def foo = 42: @baz",
typedCode = "def foo = (42: @baz)",
wrap = true)
-
+
@Test def testAnnotated2 = assertResultCode(
code = "def foo = 42: @foo2[A1, B1](4)(2)")(
parsedCode = "def foo = 42: @foo2[A1, B1](4)(2)",
typedCode = "def foo = (42: @foo2[A1, B1](4)(2))",
wrap = true)
-
+
@Test def testAnnotated3 = assertResultCode(
code = "def foo = (42: @foo1[A1, B1]): @foo2[A1, B1](4)(2)")(
parsedCode = "def foo = (42: @foo1[A1, B1]): @foo2[A1, B1](4)(2)",
typedCode = "def foo = ((42: @foo1[A1, B1]): @foo2[A1, B1](4)(2))",
wrap = true)
-
+
@Test def testAnnotated4 = assertResultCode(
code = "def foo = 42: @foo3[A1, B1](4)(2.0F, new foo1[A1, B1]())")(
parsedCode = "def foo = 42: @foo3[A1, B1](4)(2.0F, new foo1[A1, B1]())",
typedCode = "def foo = (42: @foo3[A1, B1](4)(2.0F, new foo1[A1, B1]()))",
wrap = true)
-
+
@Test def testAnnotated5 = assertPrintedCode(sm"""
|{
| val x = 5;
@@ -1063,7 +1063,7 @@ trait ValAndDefPrintTests {
| case _ => false
| }
|}""")
-
+
@Test def testAnnotated8 = assertPrintedCode(sm"""
|{
| val x = 5;
@@ -1078,7 +1078,7 @@ trait PackagePrintTests {
|package foo.bar {
|
|}""", checkTypedTree = false)
-
+
@Test def testPackage2 = assertPrintedCode(sm"""
|package foo {
| class C
@@ -1111,23 +1111,23 @@ trait PackagePrintTests {
|}""", checkTypedTree = false)
}
-trait QuasiTreesPrintTests {
+trait QuasiTreesPrintTests {
@Test def testQuasiIdent = assertTreeCode(q"*")("*")
-
+
@Test def testQuasiVal = assertTreeCode(q"val * : Unit = null")("val * : Unit = null")
-
+
@Test def testQuasiDef = assertTreeCode(q"def * : Unit = null")("def * : Unit = null")
-
+
@Test def testQuasiTrait = assertTreeCode(q"trait *")("trait *")
-
+
@Test def testQuasiClass = assertTreeCode(q"class *")("class *")
-
+
@Test def testQuasiClassWithPublicParams = assertTreeCode(q"class X(val x: Int, val s:String)")("class X(val x: Int, val s: String)")
-
+
@Test def testQuasiClassWithParams = assertTreeCode(q"class X(x: Int, s:String)")("class X(x: Int, s: String)")
-
+
@Test def testQuasiObject = assertTreeCode(q"object *")("object *")
-
+
@Test def testQuasiObjectWithBody = assertTreeCode(q"""object X{ def y = "test" }""")(sm"""
|object X {
| def y = "test"