summaryrefslogtreecommitdiff
path: root/test/disabled
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-05-08 16:33:15 +0000
committerMartin Odersky <odersky@gmail.com>2009-05-08 16:33:15 +0000
commit14a631a5fec42d04d0723355a0b93e482b5e4662 (patch)
treef639c2a22e89e193b9abea391993ecfd4d5326ee /test/disabled
parent2379eb4ebbd28c8892b50a1d9fa8a687099eea4d (diff)
downloadscala-14a631a5fec42d04d0723355a0b93e482b5e4662.tar.gz
scala-14a631a5fec42d04d0723355a0b93e482b5e4662.tar.bz2
scala-14a631a5fec42d04d0723355a0b93e482b5e4662.zip
massive new collections checkin.
Diffstat (limited to 'test/disabled')
-rw-r--r--test/disabled/bitsets.check33
-rw-r--r--test/disabled/bitsets.scala78
-rw-r--r--test/disabled/caseClass/A.scala3
-rw-r--r--test/disabled/caseClass/result.test11
-rw-r--r--test/disabled/classWithExistential/A.scala3
-rw-r--r--test/disabled/classWithExistential/result.test4
-rw-r--r--test/disabled/collection-stacks.check14
-rw-r--r--test/disabled/collection-stacks.scala38
-rw-r--r--test/disabled/deeps.check83
-rw-r--r--test/disabled/deeps.scala112
-rw-r--r--test/disabled/fact.args1
-rwxr-xr-xtest/disabled/fact.bat17
-rw-r--r--test/disabled/fact.check1
-rw-r--r--test/disabled/fact.scala30
-rw-r--r--test/disabled/forvaleq.check5
-rw-r--r--test/disabled/forvaleq.scala92
-rw-r--r--test/disabled/iq.check12
-rw-r--r--test/disabled/iq.scala100
-rw-r--r--test/disabled/list.scala10
-rw-r--r--test/disabled/paramNames/A.scala3
-rw-r--r--test/disabled/paramNames/result.test4
-rw-r--r--test/disabled/plugin-after-terminal.check2
-rw-r--r--test/disabled/plugin-after-terminal.flags2
-rw-r--r--test/disabled/plugin-after-terminal/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/disabled/plugin-after-terminal/misc/build.sh14
-rw-r--r--test/disabled/plugin-after-terminal/misc/scalac-plugin.xml6
-rw-r--r--test/disabled/plugin-after-terminal/src/ThePlugin.scala31
-rw-r--r--test/disabled/plugin-after-terminal/testsource.scala4
-rw-r--r--test/disabled/plugin-before-parser.check2
-rw-r--r--test/disabled/plugin-before-parser.flags2
-rw-r--r--test/disabled/plugin-before-parser/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/disabled/plugin-before-parser/misc/build.sh14
-rw-r--r--test/disabled/plugin-before-parser/misc/scalac-plugin.xml6
-rw-r--r--test/disabled/plugin-before-parser/src/ThePlugin.scala32
-rw-r--r--test/disabled/plugin-before-parser/testsource.scala4
-rw-r--r--test/disabled/plugin-cyclic-dependency.check2
-rw-r--r--test/disabled/plugin-cyclic-dependency.flags2
-rw-r--r--test/disabled/plugin-cyclic-dependency/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/disabled/plugin-cyclic-dependency/misc/build.sh14
-rw-r--r--test/disabled/plugin-cyclic-dependency/misc/scalac-plugin.xml6
-rw-r--r--test/disabled/plugin-cyclic-dependency/src/ThePlugin.scala41
-rw-r--r--test/disabled/plugin-cyclic-dependency/testsource.scala4
-rw-r--r--test/disabled/plugin-multiple-rafter.check4
-rw-r--r--test/disabled/plugin-multiple-rafter.flags2
-rw-r--r--test/disabled/plugin-multiple-rafter/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/disabled/plugin-multiple-rafter/misc/build.sh14
-rw-r--r--test/disabled/plugin-multiple-rafter/misc/scalac-plugin.xml6
-rw-r--r--test/disabled/plugin-multiple-rafter/src/ThePlugin.scala31
-rw-r--r--test/disabled/plugin-multiple-rafter/testsource.scala4
-rw-r--r--test/disabled/plugin-rafter-before-1.check2
-rw-r--r--test/disabled/plugin-rafter-before-1.flags2
-rw-r--r--test/disabled/plugin-rafter-before-1/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/disabled/plugin-rafter-before-1/misc/build.sh14
-rw-r--r--test/disabled/plugin-rafter-before-1/misc/scalac-plugin.xml6
-rw-r--r--test/disabled/plugin-rafter-before-1/src/ThePlugin.scala31
-rw-r--r--test/disabled/plugin-rafter-before-1/testsource.scala4
-rw-r--r--test/disabled/plugin-rightafter-terminal.check2
-rw-r--r--test/disabled/plugin-rightafter-terminal.flags2
-rw-r--r--test/disabled/plugin-rightafter-terminal/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/disabled/plugin-rightafter-terminal/misc/build.sh14
-rw-r--r--test/disabled/plugin-rightafter-terminal/misc/scalac-plugin.xml6
-rw-r--r--test/disabled/plugin-rightafter-terminal/src/ThePlugin.scala32
-rw-r--r--test/disabled/plugin-rightafter-terminal/testsource.scala4
-rwxr-xr-xtest/disabled/serialization.check186
-rwxr-xr-xtest/disabled/serialization.scala402
-rw-r--r--test/disabled/t0485.check32
-rw-r--r--test/disabled/t0485.scala54
-rw-r--r--test/disabled/unittest_collection.scala103
-rw-r--r--test/disabled/xml01.check8
-rw-r--r--test/disabled/xml01.scala228
70 files changed, 2041 insertions, 0 deletions
diff --git a/test/disabled/bitsets.check b/test/disabled/bitsets.check
new file mode 100644
index 0000000000..01bd685eeb
--- /dev/null
+++ b/test/disabled/bitsets.check
@@ -0,0 +1,33 @@
+ms0 = Set(2)
+ms1 = Set(2)
+ms2 = Set(2)
+mb0 = false
+mb1 = true
+mb2 = false
+xs0 = List(2)
+xs1 = List(2)
+xs2 = List(2)
+ma0 = List(4)
+ma1 = List(4)
+ma2 = List(4)
+mi0 = Set(2)
+mi1 = Set(2)
+mi2 = Set(2)
+
+is0 = Set()
+is1 = Set()
+is2 = Set(2)
+is3 = Set()
+ib0 = false
+ib1 = false
+ib2 = true
+ib3 = false
+ys0 = List()
+ys1 = List()
+ys2 = List(2)
+ys3 = List()
+ia0 = List(0)
+ia1 = List(0)
+ia2 = List(4)
+ia3 = List()
+
diff --git a/test/disabled/bitsets.scala b/test/disabled/bitsets.scala
new file mode 100644
index 0000000000..469dac31ee
--- /dev/null
+++ b/test/disabled/bitsets.scala
@@ -0,0 +1,78 @@
+//############################################################################
+// Bitsets
+//############################################################################
+// $Id$
+
+//############################################################################
+
+object TestMutable {
+ import scala.collection.mutable.BitSet
+
+ val ms0 = new BitSet
+ val ms1 = new BitSet(8)
+ val ms2 = new BitSet(0)
+ ms0 += 2
+ ms1 ++= List(1, 2)
+ ms1 -= 1
+ ms1 --= List(1)
+ ms2(2) = true
+ ms2(3) = false
+
+ Console.println("ms0 = " + ms0)
+ Console.println("ms1 = " + ms1)
+ Console.println("ms2 = " + ms2)
+
+ Console.println("mb0 = " + ms0.contains(-1))
+ Console.println("mb1 = " + ms1.contains(2))
+ Console.println("mb2 = " + ms2.contains(3))
+
+ Console.println("xs0 = " + ms0.elements.toList)
+ Console.println("xs1 = " + ms1.elements.toList)
+ Console.println("xs2 = " + ms2.elements.toList)
+
+ Console.println("ma0 = " + ms0.underlying.toList)
+ Console.println("ma1 = " + ms1.underlying.toList)
+ Console.println("ma2 = " + ms2.underlying.toList)
+
+ Console.println("mi0 = " + ms0.toImmutable)
+ Console.println("mi1 = " + ms1.toImmutable)
+ Console.println("mi2 = " + ms2.toImmutable)
+ Console.println
+}
+
+object TestImmutable {
+ import scala.collection.immutable.BitSet
+
+ val is0 = new BitSet(8, 1, null, false)
+ val is1 = new BitSet(8, 1, Array(), false)
+ val is2 = new BitSet(8, 8, Array(4), false)
+ val is3 = new BitSet(0, 0, null, false)
+
+ Console.println("is0 = " + is0)
+ Console.println("is1 = " + is1)
+ Console.println("is2 = " + is2)
+ Console.println("is3 = " + is3)
+
+ Console.println("ib0 = " + is0.contains(-1))
+ Console.println("ib1 = " + is1.contains(0))
+ Console.println("ib2 = " + is2.contains(2))
+ Console.println("ib3 = " + is3.contains(2))
+
+ Console.println("ys0 = " + is0.elements.toList)
+ Console.println("ys1 = " + is1.elements.toList)
+ Console.println("ys2 = " + is2.elements.toList)
+ Console.println("ys3 = " + is3.elements.toList)
+
+ Console.println("ia0 = " + is0.underlying.toList)
+ Console.println("ia1 = " + is1.underlying.toList)
+ Console.println("ia2 = " + is2.underlying.toList)
+ Console.println("ia3 = " + is3.underlying.toList)
+ Console.println
+}
+
+object Test extends Application {
+ TestMutable
+ TestImmutable
+}
+
+//############################################################################
diff --git a/test/disabled/caseClass/A.scala b/test/disabled/caseClass/A.scala
new file mode 100644
index 0000000000..3addfbdaaa
--- /dev/null
+++ b/test/disabled/caseClass/A.scala
@@ -0,0 +1,3 @@
+case class CaseClass[A <: Seq[Int]](i: A, s: String) {
+ def foo = 239
+} \ No newline at end of file
diff --git a/test/disabled/caseClass/result.test b/test/disabled/caseClass/result.test
new file mode 100644
index 0000000000..5057f87a3f
--- /dev/null
+++ b/test/disabled/caseClass/result.test
@@ -0,0 +1,11 @@
+case class CaseClass[A >: scala.Nothing <: scala.Seq[scala.Int]](a : A, s : scala.Predef.String) extends java.lang.Object with scala.ScalaObject with scala.Product {
+ val i : A = { /* compiled code */ }
+ val s : scala.Predef.String = { /* compiled code */ }
+ def foo : scala.Int = { /* compiled code */ }
+ override def hashCode() : scala.Int = { /* compiled code */ }
+ override def toString() : scala.Predef.String = { /* compiled code */ }
+ override def equals(a : scala.Any) : scala.Boolean = { /* compiled code */ }
+ override def productPrefix : java.lang.String = { /* compiled code */ }
+ override def productArity : scala.Int = { /* compiled code */ }
+ override def productElement(i : scala.Int) : scala.Any = { /* compiled code */ }
+} \ No newline at end of file
diff --git a/test/disabled/classWithExistential/A.scala b/test/disabled/classWithExistential/A.scala
new file mode 100644
index 0000000000..2a77a842c9
--- /dev/null
+++ b/test/disabled/classWithExistential/A.scala
@@ -0,0 +1,3 @@
+class ClassWithExistential {
+ def foo[A, B] : A=> B forSome {type A <: Seq[Int]; type B >: String} = null
+} \ No newline at end of file
diff --git a/test/disabled/classWithExistential/result.test b/test/disabled/classWithExistential/result.test
new file mode 100644
index 0000000000..377edff7ef
--- /dev/null
+++ b/test/disabled/classWithExistential/result.test
@@ -0,0 +1,4 @@
+class ClassWithExistential extends java.lang.Object with scala.ScalaObject {
+ def this() = { /* compiled code */ }
+ def foo[A >: scala.Nothing <: scala.Any, B >: scala.Nothing <: scala.Any] : scala.Function1[A, B forSome {type A >: scala.Nothing <: scala.Seq[scala.Int]; type B >: scala.Predef.String <: scala.Any}] = { /* compiled code */ }
+} \ No newline at end of file
diff --git a/test/disabled/collection-stacks.check b/test/disabled/collection-stacks.check
new file mode 100644
index 0000000000..fcb39c460c
--- /dev/null
+++ b/test/disabled/collection-stacks.check
@@ -0,0 +1,14 @@
+1-2-3: true
+1-2-3: true
+apply
+1: true
+1: true
+3: true
+3: true
+top
+3: true
+3: true
+pop
+1-2: true
+3: true
+1-2: true
diff --git a/test/disabled/collection-stacks.scala b/test/disabled/collection-stacks.scala
new file mode 100644
index 0000000000..665fb91e13
--- /dev/null
+++ b/test/disabled/collection-stacks.scala
@@ -0,0 +1,38 @@
+import scala.collection._
+
+object Test extends Application {
+ def mutableStack[T](xs: T*): mutable.Stack[T] = {
+ val s = new mutable.Stack[T]
+ s.pushAll(xs)
+ s
+ }
+
+ def immutableStack[T](xs: T*): immutable.Stack[T] = {
+ immutable.Stack.Empty pushAll xs
+ }
+
+ def check[T](expected: T, got: T) {
+ println(got + ": " + (expected == got))
+ }
+
+ // check #957
+ check("1-2-3", immutableStack(1, 2, 3).elements.mkString("-"))
+ check("1-2-3", mutableStack(1, 2, 3).elements.mkString("-"))
+
+ println("apply")
+ check(1, immutableStack(1, 2, 3).apply(0))
+ check(1, mutableStack(1, 2, 3).apply(0))
+ check(3, immutableStack(1, 2, 3).apply(2))
+ check(3, mutableStack(1, 2, 3).apply(2))
+
+ println("top")
+ check(3, immutableStack(1, 2, 3).top)
+ check(3, mutableStack(1, 2, 3).top)
+
+ println("pop")
+ check("1-2", immutableStack(1, 2, 3).pop.mkString("-"))
+ check(3, mutableStack(1, 2, 3).pop())
+ check("1-2", { val s = mutableStack(1, 2, 3); s.pop(); s.toList.mkString("-") })
+}
+
+// vim: set ts=2 sw=2 et:
diff --git a/test/disabled/deeps.check b/test/disabled/deeps.check
new file mode 100644
index 0000000000..f1925fcbc1
--- /dev/null
+++ b/test/disabled/deeps.check
@@ -0,0 +1,83 @@
+false
+false
+true
+
+false
+false
+true
+
+x=Array(1)
+y=Array(1)
+false
+false
+true
+
+x=Array(Array(1), Array(1))
+y=Array(Array(1), Array(1))
+false
+false
+true
+
+x=Array(Array(Array(1), Array(1)), Array(Array(1), Array(1)))
+y=Array(Array(Array(1), Array(1)), Array(Array(1), Array(1)))
+false
+false
+true
+
+false
+false
+true
+false
+false
+true
+Array(true, false)
+Array(true, false)
+[true;false]
+true;false
+
+Array([Z@0000000, [Z@0000000)
+Array(Array(true, false), Array(true, false))
+[[true;false];[true;false]]
+true;false;true;false
+
+Array([[Z@0000000, [[Z@0000000)
+Array(Array(Array(true, false), Array(true, false)), Array(Array(true, false), Array(true, false)))
+[[[true;false];[true;false]];[[true;false];[true;false]]]
+true;false;true;false;true;false;true;false
+
+Array(1.0, 0.0)
+Array(1.0, 0.0)
+[1.0;0.0]
+1.0;0.0
+
+Array([D@0000000, [D@0000000)
+Array(Array(1.0, 0.0), Array(1.0, 0.0))
+[[1.0;0.0];[1.0;0.0]]
+1.0;0.0;1.0;0.0
+
+Array([[D@0000000, [[D@0000000)
+Array(Array(Array(1.0, 0.0), Array(1.0, 0.0)), Array(Array(1.0, 0.0), Array(1.0, 0.0)))
+[[[1.0;0.0];[1.0;0.0]];[[1.0;0.0];[1.0;0.0]]]
+1.0;0.0;1.0;0.0;1.0;0.0;1.0;0.0
+
+Array(a, b)
+Array(a, b)
+[a;b]
+a;b
+
+Array([Ljava.lang.String;@0000000, [Ljava.lang.String;@0000000)
+Array(Array(a, b), Array(a, b))
+[[a;b];[a;b]]
+a;b;a;b
+
+Array([[Ljava.lang.String;@0000000, [[Ljava.lang.String;@0000000)
+Array(Array(Array(a, b), Array(a, b)), Array(Array(a, b), Array(a, b)))
+[[[a;b];[a;b]];[[a;b];[a;b]]]
+a;b;a;b;a;b;a;b
+
+[[true; false]; [false]]
+[[1; 2]; [3]]
+[[1; 2]; [3]]
+
+Array(boo, and, foo)
+Array(a)
diff --git a/test/disabled/deeps.scala b/test/disabled/deeps.scala
new file mode 100644
index 0000000000..662008f3f3
--- /dev/null
+++ b/test/disabled/deeps.scala
@@ -0,0 +1,112 @@
+//############################################################################
+// deepEquals / deepToString
+//############################################################################
+// $Id: $
+
+//############################################################################
+// need to revisit array equqality
+object Test extends Application {
+
+ def testEquals1 {
+ println(Array(1) == Array(1))
+ println(Array(1) equals Array(1))
+ println(Array(1) deepEquals Array(1))
+ println
+ }
+
+ def testEquals2 {
+ println(Array(Array(1), Array(2)) == Array(Array(1), Array(2)))
+ println(Array(Array(1), Array(2)) equals Array(Array(1), Array(2)))
+ println(Array(Array(1), Array(2)) deepEquals Array(Array(1), Array(2)))
+ println
+ }
+
+ def testEquals3 {
+ val a1 = Array(1)
+ val b1 = Array(1)
+ val a2 = Array(a1, b1)
+ val b2 = Array(a1, b1)
+ val a3 = Array(a2, b2)
+ val b3 = Array(a2, b2)
+ def test[T](x: Array[T], y: Array[T]) {
+ println("x=" + x.deepToString)
+ println("y=" + y.deepToString)
+ println(x == y)
+ println(x equals y)
+ println(x deepEquals y)
+ println
+ }
+ test(a1, b1)
+ test(a2, b2)
+ test(a3, b3)
+ }
+
+ def testEquals4 {
+ println("boo:and:foo".split(':') == "boo:and:foo".split(':'))
+ println("boo:and:foo".split(':') equals "boo:and:foo".split(':'))
+ println("boo:and:foo".split(':') deepEquals "boo:and:foo".split(':'))
+
+ val xs = new java.util.ArrayList[String](); xs.add("a")
+ val ys = new java.util.ArrayList[String](); ys.add("a")
+ println(xs.toArray == ys.toArray)
+ println(xs.toArray equals ys.toArray)
+ println(xs.toArray deepEquals ys.toArray)
+ }
+
+ def testToString1 {
+ def sweep(s: String) =
+ s.replaceAll("D@[0-9a-fA-F]+", "D@0000000")
+ .replaceAll("Z@[0-9a-fA-F]+", "Z@0000000")
+ .replaceAll(";@[0-9a-fA-F]+", ";@0000000")
+ def test[T](a: Array[T]) {
+ println(sweep(a.toString))
+ println(a.deepToString)
+ println(a.deepMkString("[", ";", "]"))
+ println(a.deepMkString(";"))
+ println
+ }
+
+ val ba1 = Array(true, false)
+ val ba2 = Array(ba1, ba1)
+ val ba3 = Array(ba2, ba2)
+ test(ba1)
+ test(ba2)
+ test(ba3)
+
+ val da1 = Array(1.0d, 0.0d)
+ val da2 = Array(da1, da1)
+ val da3 = Array(da2, da2)
+ test(da1)
+ test(da2)
+ test(da3)
+
+ val sa1 = Array("a", "b")
+ val sa2 = Array(sa1, sa1)
+ val sa3 = Array(sa2, sa2)
+ test(sa1)
+ test(sa2)
+ test(sa3)
+ }
+
+ def testToString2 {
+ println(Array(Array(true, false), Array(false)).deepMkString("[", "; ", "]"))
+ println(Array(Array('1', '2'), Array('3')).deepMkString("[", "; ", "]"))
+ println(Array(Array(1, 2), Array(3)).deepMkString("[", "; ", "]"))
+ println
+ }
+
+ def testToString3 {
+ println("boo:and:foo".split(':').deepToString)
+
+ val xs = new java.util.ArrayList[String](); xs.add("a")
+ println(xs.toArray.deepToString)
+ }
+
+ testEquals1
+ testEquals2
+ testEquals3
+ testEquals4
+ testToString1
+ testToString2
+ testToString3
+}
diff --git a/test/disabled/fact.args b/test/disabled/fact.args
new file mode 100644
index 0000000000..7813681f5b
--- /dev/null
+++ b/test/disabled/fact.args
@@ -0,0 +1 @@
+5 \ No newline at end of file
diff --git a/test/disabled/fact.bat b/test/disabled/fact.bat
new file mode 100755
index 0000000000..bee0ba25c6
--- /dev/null
+++ b/test/disabled/fact.bat
@@ -0,0 +1,17 @@
+::#!
+:: fact - A simple Scala batch file that prints out the factorial
+:: of the argument specified on the command line.
+
+@echo off
+call scala -nocompdaemon %0 %*
+goto :eof
+::!#
+
+
+val x = argv(0).toInt
+
+def fact(x: Int):Int =
+ if(x==0) 1
+ else x*fact(x-1)
+
+Console.println("fact(" + x + ") = " + fact(x))
diff --git a/test/disabled/fact.check b/test/disabled/fact.check
new file mode 100644
index 0000000000..22aa60821e
--- /dev/null
+++ b/test/disabled/fact.check
@@ -0,0 +1 @@
+fact(5) = 120
diff --git a/test/disabled/fact.scala b/test/disabled/fact.scala
new file mode 100644
index 0000000000..d48dac6f0f
--- /dev/null
+++ b/test/disabled/fact.scala
@@ -0,0 +1,30 @@
+#!/bin/sh
+# fact - A simple Scala script that prints out the factorial of
+# the argument specified on the command line.
+
+cygwin=false;
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+esac
+
+SOURCE="$0";
+if $cygwin; then
+ if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
+ format=mixed
+ else
+ format=windows
+ fi
+ SOURCE=`cygpath --$format "$SOURCE"`;
+fi
+
+exec scala -nocompdaemon "$SOURCE" "$@"
+!#
+
+
+val x = argv(0).toInt
+
+def fact(x: Int):Int =
+ if(x==0) 1
+ else x*fact(x-1)
+
+Console.println("fact(" + x + ") = " + fact(x))
diff --git a/test/disabled/forvaleq.check b/test/disabled/forvaleq.check
new file mode 100644
index 0000000000..ec57719cb4
--- /dev/null
+++ b/test/disabled/forvaleq.check
@@ -0,0 +1,5 @@
+List(2, 6, 10, 14, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38)
+List(2, 6, 10, 14, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
+List(2, 6, 10, 14, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38)
+List(2, 6, 10, 14, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
+called 20 times
diff --git a/test/disabled/forvaleq.scala b/test/disabled/forvaleq.scala
new file mode 100644
index 0000000000..1e4fd33dbc
--- /dev/null
+++ b/test/disabled/forvaleq.scala
@@ -0,0 +1,92 @@
+// test "foo = expr" clauses in for comprehensions
+// $Id$
+
+import scala.collection.immutable.Queue
+import scala.{List=>L}
+
+object Test {
+ // redefine some symbols to make it extra hard
+ class List
+ class Tuple2
+ def List[A](as: A*) = 5
+
+ def firstDigit(x: Int): Int =
+ x match {
+ case 0 => 0
+ case _ if (x<0) => firstDigit(-x)
+ case _ if (x<10) => x
+ case _ => firstDigit(x / 10)
+ }
+
+
+ {
+ // a basic test case
+
+ val input = L.range(0,20)
+ val oddFirstTimesTwo =
+ for {x <- input
+ xf = firstDigit(x)
+ if xf % 2 == 1}
+ yield x*2
+ println(oddFirstTimesTwo)
+ }
+
+ {
+ // a test case with patterns
+
+ val input = L.range(0, 20)
+ val oddFirstTimesTwo =
+ for {x <- input
+ xf = firstDigit(x)
+ yf = x - firstDigit(x) / 10
+ (a, b) = (xf - yf, xf + yf)
+ if xf % 2 == 1}
+ yield a + b
+ println(oddFirstTimesTwo)
+ }
+
+ {
+ // make sure it works on non-Ls
+
+ // val input: Queue = Queue.Empty[int].incl(L.range(0,20))
+ val input = L.range(0, 20).elements
+ val oddFirstTimesTwo =
+ for {x <- input
+ xf = firstDigit(x)
+ if xf % 2 == 1}
+ yield x*2
+ println(oddFirstTimesTwo.toList)
+ }
+
+ {
+ // yield the computed value
+
+ val input = L.range(0,20)
+ val oddFirstTimesTwo =
+ for {x <- input
+ xf = firstDigit(x)
+ if xf % 2 == 1}
+ yield xf*2
+ println(oddFirstTimesTwo)
+ }
+
+ {
+ // make sure the function is only called once
+ var count: Int = 0
+
+ def fdct(x: Int) = {
+ count += 1
+ firstDigit(x)
+ }
+
+ val input = L.range(0,20)
+ for {x <- input
+ xf = fdct(x)
+ if xf % 2 == 1}
+ yield xf
+
+ println("called " + count + " times")
+ }
+
+ def main(args: Array[String]) {}
+}
diff --git a/test/disabled/iq.check b/test/disabled/iq.check
new file mode 100644
index 0000000000..81114ea181
--- /dev/null
+++ b/test/disabled/iq.check
@@ -0,0 +1,12 @@
+Empty
+Head: 42
+q5: Queue(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
+q5[5]: 5
+q5 == q5c: true
+q5c == q5: true
+q8: Queue(2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
+q8 == q9: true
+Elements: 1 2 3 4 5 6 7 8 9
+String: <1-2-3-4-5-6-7-8-9>
+Length: 9
+Front: 1
diff --git a/test/disabled/iq.scala b/test/disabled/iq.scala
new file mode 100644
index 0000000000..8ae3dbb080
--- /dev/null
+++ b/test/disabled/iq.scala
@@ -0,0 +1,100 @@
+/* $Id$
+ * Test file for immutable queues.
+ */
+
+import scala.collection.immutable.Queue
+
+object iq {
+ def main {
+ /* Create an empty queue. */
+ val q: Queue[Int] = Queue.Empty
+
+ /* Test isEmpty.
+ * Expected: Empty
+ */
+ if (q.isEmpty) {
+ Console.println("Empty")
+ }
+
+ /* Test infix enqueing. */
+ //val q2 = q + 42 + 0 // deprecated
+ val q2 = q.enqueue(42).enqueue(0)
+
+ /* Test is empty and dequeue.
+ * Expected: Head: 42
+ */
+ val q4 =
+ if (q2.isEmpty) {
+ Console.println("Empty")
+ q2
+ }
+ else {
+ val (head, q3) = q2.dequeue
+ Console.println("Head: " + head)
+ q3
+ }
+
+ /* Test sequence enqueing. */
+ val q5: Queue[Any] = q4.enqueue(List(1,2,3,4,5,6,7,8,9))
+ /* Test toString.
+ * Expected: Head: q5: Queue(0,1,2,3,4,5,6,7,8,9)
+ */
+ Console.println("q5: " + q5)
+ /* Test apply
+ * Expected: q5[5]: 5
+ */
+ Console.println("q5[5]: " + q5(5))
+
+ val q5c: Queue[Int] = Queue.Empty.enqueue(List(0, 1, 2, 3, 4, 5, 6, 7, 8, 9))
+
+ /* Testing ==
+ * Expected: q5 == q9: true
+ * q9 == q5: true
+ */
+ Console.println("q5 == q5c: " + (q5 == q5c))
+ Console.println("q5c == q5: " + (q5c == q5))
+
+ val (_, q6) = q5.dequeue
+ val (_, q7) = q6.dequeue
+ //val q8 = q7 + 10 + 11 //deprecated
+ val q8 = q7.enqueue(10).enqueue(11)
+ /* Test dequeu
+ * Expected: q8: Queue(2,3,4,5,6,7,8,9,10,11)
+ */
+ Console.println("q8: " + q8)
+ val q9 = new Queue(2,3,4,5,6,7,8,9,10,11)
+
+ /* Testing ==
+ * Expected: q8 == q9: true
+ */
+ Console.println("q8 == q9: " + (q8 == q9))
+
+ /* Testing elements
+ * Expected: Elements: 1 2 3 4 5 6 7 8 9
+ */
+ Console.print("Elements: ");
+ q6.elements.foreach(e => Console.print(" "+ e + " "))
+ Console.println;
+
+ /* Testing mkString
+ * Expected: String: <1-2-3-4-5-6-7-8-9>
+ */
+ Console.println("String: " + q6.mkString("<","-",">"))
+
+ /* Testing length
+ * Expected: Length: 9
+ */
+ Console.println("Length: " + q6.length)
+
+ /* Testing front
+ * Expected: Front: 1
+ */
+ Console.println("Front: " + q6.front);
+ }
+}
+
+object Test {
+ def main(args: Array[String]) {
+ iq.main
+ }
+}
diff --git a/test/disabled/list.scala b/test/disabled/list.scala
new file mode 100644
index 0000000000..93d3a59458
--- /dev/null
+++ b/test/disabled/list.scala
@@ -0,0 +1,10 @@
+import org.scalacheck._
+import Prop._
+
+object Test {
+ val prop_ConcatLists =
+ property((l1: List[Int], l2: List[Int]) => (l1.size + l2.size) == (l1 ::: l2).size)
+
+ val tests = List(("ConcatLists", prop_ConcatLists))
+}
+
diff --git a/test/disabled/paramNames/A.scala b/test/disabled/paramNames/A.scala
new file mode 100644
index 0000000000..7ba9ff0feb
--- /dev/null
+++ b/test/disabled/paramNames/A.scala
@@ -0,0 +1,3 @@
+class ParamNames {
+ def foo (s: => Seq[Int], s2: => Seq[Any]) {}
+}
diff --git a/test/disabled/paramNames/result.test b/test/disabled/paramNames/result.test
new file mode 100644
index 0000000000..2d59f72ec1
--- /dev/null
+++ b/test/disabled/paramNames/result.test
@@ -0,0 +1,4 @@
+class ParamNames extends java.lang.Object with scala.ScalaObject {
+ def this() = { /* compiled code */ }
+ def foo(s : => scala.Seq[scala.Int], s : => scala.Seq[scala.Any]) : scala.Unit = { /* compiled code */ }
+} \ No newline at end of file
diff --git a/test/disabled/plugin-after-terminal.check b/test/disabled/plugin-after-terminal.check
new file mode 100644
index 0000000000..b846dc0ab5
--- /dev/null
+++ b/test/disabled/plugin-after-terminal.check
@@ -0,0 +1,2 @@
+error: [phase assembly, after dependency on terminal phase not allowed: afterterminal => terminal]
+one error found \ No newline at end of file
diff --git a/test/disabled/plugin-after-terminal.flags b/test/disabled/plugin-after-terminal.flags
new file mode 100644
index 0000000000..6a44376213
--- /dev/null
+++ b/test/disabled/plugin-after-terminal.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-after-terminal/lib/plugins.jar
+
diff --git a/test/disabled/plugin-after-terminal/lib/plugins.jar.desired.sha1 b/test/disabled/plugin-after-terminal/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..b2c43b9c63
--- /dev/null
+++ b/test/disabled/plugin-after-terminal/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+1d555230c8bbe55d958de8dc78a07553fa473903 ?plugins.jar
diff --git a/test/disabled/plugin-after-terminal/misc/build.sh b/test/disabled/plugin-after-terminal/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/disabled/plugin-after-terminal/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/disabled/plugin-after-terminal/misc/scalac-plugin.xml b/test/disabled/plugin-after-terminal/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..58fff40950
--- /dev/null
+++ b/test/disabled/plugin-after-terminal/misc/scalac-plugin.xml
@@ -0,0 +1,6 @@
+<!-- $Id$ -->
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/disabled/plugin-after-terminal/src/ThePlugin.scala b/test/disabled/plugin-after-terminal/src/ThePlugin.scala
new file mode 100644
index 0000000000..f3c913086e
--- /dev/null
+++ b/test/disabled/plugin-after-terminal/src/ThePlugin.scala
@@ -0,0 +1,31 @@
+package scala.test.plugins
+
+import scala.tools.nsc
+import nsc.Global
+import nsc.Phase
+import nsc.plugins.Plugin
+import nsc.plugins.PluginComponent
+
+class ThePlugin(val global: Global) extends Plugin {
+ import global._
+
+ val name = "afterterminal"
+ val description = "Declares one plugin that wants to be after the terminal phase"
+ val components = List[PluginComponent](thePhase)
+
+ private object thePhase extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]("terminal")
+
+ val phaseName = ThePlugin.this.name
+
+ def newPhase(prev: Phase) = new ThePhase(prev)
+ }
+
+ private class ThePhase(prev: Phase) extends Phase(prev) {
+ def name = ThePlugin.this.name
+ def run {}
+ }
+}
+
diff --git a/test/disabled/plugin-after-terminal/testsource.scala b/test/disabled/plugin-after-terminal/testsource.scala
new file mode 100644
index 0000000000..519d162fdf
--- /dev/null
+++ b/test/disabled/plugin-after-terminal/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("afterterminal")
+}
+
diff --git a/test/disabled/plugin-before-parser.check b/test/disabled/plugin-before-parser.check
new file mode 100644
index 0000000000..253659eedb
--- /dev/null
+++ b/test/disabled/plugin-before-parser.check
@@ -0,0 +1,2 @@
+error: [phase assembly, before dependency on parser phase not allowed: parser => beforeparser]
+one error found \ No newline at end of file
diff --git a/test/disabled/plugin-before-parser.flags b/test/disabled/plugin-before-parser.flags
new file mode 100644
index 0000000000..632530922c
--- /dev/null
+++ b/test/disabled/plugin-before-parser.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-before-parser/lib/plugins.jar
+
diff --git a/test/disabled/plugin-before-parser/lib/plugins.jar.desired.sha1 b/test/disabled/plugin-before-parser/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..b9320adb9c
--- /dev/null
+++ b/test/disabled/plugin-before-parser/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+9cca2242701f71f4369067e0fed8c7da2fd72f62 ?plugins.jar
diff --git a/test/disabled/plugin-before-parser/misc/build.sh b/test/disabled/plugin-before-parser/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/disabled/plugin-before-parser/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/disabled/plugin-before-parser/misc/scalac-plugin.xml b/test/disabled/plugin-before-parser/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..58fff40950
--- /dev/null
+++ b/test/disabled/plugin-before-parser/misc/scalac-plugin.xml
@@ -0,0 +1,6 @@
+<!-- $Id$ -->
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/disabled/plugin-before-parser/src/ThePlugin.scala b/test/disabled/plugin-before-parser/src/ThePlugin.scala
new file mode 100644
index 0000000000..8714a55dc4
--- /dev/null
+++ b/test/disabled/plugin-before-parser/src/ThePlugin.scala
@@ -0,0 +1,32 @@
+package scala.test.plugins
+
+import scala.tools.nsc
+import nsc.Global
+import nsc.Phase
+import nsc.plugins.Plugin
+import nsc.plugins.PluginComponent
+
+class ThePlugin(val global: Global) extends Plugin {
+ import global._
+
+ val name = "beforeparser"
+ val description = "Declares one plugin that wants to be before the parser phase"
+ val components = List[PluginComponent](thePhase)
+
+ private object thePhase extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]()
+ override val runsBefore = List[String]("parser")
+
+ val phaseName = ThePlugin.this.name
+
+ def newPhase(prev: Phase) = new ThePhase(prev)
+ }
+
+ private class ThePhase(prev: Phase) extends Phase(prev) {
+ def name = ThePlugin.this.name
+ def run {}
+ }
+}
+
diff --git a/test/disabled/plugin-before-parser/testsource.scala b/test/disabled/plugin-before-parser/testsource.scala
new file mode 100644
index 0000000000..9928aaa83c
--- /dev/null
+++ b/test/disabled/plugin-before-parser/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("beforeparser")
+}
+
diff --git a/test/disabled/plugin-cyclic-dependency.check b/test/disabled/plugin-cyclic-dependency.check
new file mode 100644
index 0000000000..7c1aeebfa0
--- /dev/null
+++ b/test/disabled/plugin-cyclic-dependency.check
@@ -0,0 +1,2 @@
+error: fatal error: Cycle in compiler phase dependencies detected, phase cyclicdependency1 reacted twice!
+one error found \ No newline at end of file
diff --git a/test/disabled/plugin-cyclic-dependency.flags b/test/disabled/plugin-cyclic-dependency.flags
new file mode 100644
index 0000000000..8716aaa65f
--- /dev/null
+++ b/test/disabled/plugin-cyclic-dependency.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-cyclic-dependency/lib/plugins.jar
+
diff --git a/test/disabled/plugin-cyclic-dependency/lib/plugins.jar.desired.sha1 b/test/disabled/plugin-cyclic-dependency/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..7d62792253
--- /dev/null
+++ b/test/disabled/plugin-cyclic-dependency/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+adfc1223549e592354b56821ee9ed808d391a859 ?plugins.jar
diff --git a/test/disabled/plugin-cyclic-dependency/misc/build.sh b/test/disabled/plugin-cyclic-dependency/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/disabled/plugin-cyclic-dependency/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/disabled/plugin-cyclic-dependency/misc/scalac-plugin.xml b/test/disabled/plugin-cyclic-dependency/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..58fff40950
--- /dev/null
+++ b/test/disabled/plugin-cyclic-dependency/misc/scalac-plugin.xml
@@ -0,0 +1,6 @@
+<!-- $Id$ -->
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/disabled/plugin-cyclic-dependency/src/ThePlugin.scala b/test/disabled/plugin-cyclic-dependency/src/ThePlugin.scala
new file mode 100644
index 0000000000..1dfc15cb28
--- /dev/null
+++ b/test/disabled/plugin-cyclic-dependency/src/ThePlugin.scala
@@ -0,0 +1,41 @@
+package scala.test.plugins
+
+import scala.tools.nsc
+import nsc.Global
+import nsc.Phase
+import nsc.plugins.Plugin
+import nsc.plugins.PluginComponent
+
+class ThePlugin(val global: Global) extends Plugin {
+ import global._
+
+ val name = "cyclicdependency"
+ val description = "Declares two phases that have a cyclic dependency"
+ val components = List[PluginComponent](thePhase1,thePhase2)
+
+ private object thePhase1 extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]("tailcalls","cyclicdependency2")
+
+ val phaseName = ThePlugin.this.name + "1"
+
+ def newPhase(prev: Phase) = new ThePhase(prev)
+ }
+
+ private object thePhase2 extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]("dce","cyclicdependency1")
+
+ val phaseName = ThePlugin.this.name + "2"
+
+ def newPhase(prev: Phase) = new ThePhase(prev)
+ }
+
+ private class ThePhase(prev: Phase) extends Phase(prev) {
+ def name = ThePlugin.this.name
+ def run {}
+ }
+}
+
diff --git a/test/disabled/plugin-cyclic-dependency/testsource.scala b/test/disabled/plugin-cyclic-dependency/testsource.scala
new file mode 100644
index 0000000000..f1513ec9a0
--- /dev/null
+++ b/test/disabled/plugin-cyclic-dependency/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("cyclicdependency")
+}
+
diff --git a/test/disabled/plugin-multiple-rafter.check b/test/disabled/plugin-multiple-rafter.check
new file mode 100644
index 0000000000..5ba932413f
--- /dev/null
+++ b/test/disabled/plugin-multiple-rafter.check
@@ -0,0 +1,4 @@
+error: fatal error: Multiple phases want to run right after the phase explicitouter
+Phases: erasure, multi-rafter,
+Re-run with -Xgenerate-phase-graph <filename> to better see the problem.
+one error found \ No newline at end of file
diff --git a/test/disabled/plugin-multiple-rafter.flags b/test/disabled/plugin-multiple-rafter.flags
new file mode 100644
index 0000000000..dcae7f2f96
--- /dev/null
+++ b/test/disabled/plugin-multiple-rafter.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-multiple-rafter/lib/plugins.jar
+
diff --git a/test/disabled/plugin-multiple-rafter/lib/plugins.jar.desired.sha1 b/test/disabled/plugin-multiple-rafter/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..243acf76d7
--- /dev/null
+++ b/test/disabled/plugin-multiple-rafter/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+3f1b1571728dc322666ad8a78cdbb943eee0c013 ?plugins.jar
diff --git a/test/disabled/plugin-multiple-rafter/misc/build.sh b/test/disabled/plugin-multiple-rafter/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/disabled/plugin-multiple-rafter/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/disabled/plugin-multiple-rafter/misc/scalac-plugin.xml b/test/disabled/plugin-multiple-rafter/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..58fff40950
--- /dev/null
+++ b/test/disabled/plugin-multiple-rafter/misc/scalac-plugin.xml
@@ -0,0 +1,6 @@
+<!-- $Id$ -->
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/disabled/plugin-multiple-rafter/src/ThePlugin.scala b/test/disabled/plugin-multiple-rafter/src/ThePlugin.scala
new file mode 100644
index 0000000000..4c761517c1
--- /dev/null
+++ b/test/disabled/plugin-multiple-rafter/src/ThePlugin.scala
@@ -0,0 +1,31 @@
+package scala.test.plugins
+
+import scala.tools.nsc
+import nsc.Global
+import nsc.Phase
+import nsc.plugins.Plugin
+import nsc.plugins.PluginComponent
+
+class ThePlugin(val global: Global) extends Plugin {
+ import global._
+
+ val name = "multi-rafter"
+ val description = ""
+ val components = List[PluginComponent](thePhase)
+
+ private object thePhase extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]()
+ override val runsRightAfter = Some("explicitouter")
+ val phaseName = ThePlugin.this.name
+
+ def newPhase(prev: Phase) = new ThePhase(prev)
+ }
+
+ private class ThePhase(prev: Phase) extends Phase(prev) {
+ def name = ThePlugin.this.name
+ def run {}
+ }
+}
+
diff --git a/test/disabled/plugin-multiple-rafter/testsource.scala b/test/disabled/plugin-multiple-rafter/testsource.scala
new file mode 100644
index 0000000000..f73db1eb60
--- /dev/null
+++ b/test/disabled/plugin-multiple-rafter/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("multi-rafter")
+}
+
diff --git a/test/disabled/plugin-rafter-before-1.check b/test/disabled/plugin-rafter-before-1.check
new file mode 100644
index 0000000000..7afe3be031
--- /dev/null
+++ b/test/disabled/plugin-rafter-before-1.check
@@ -0,0 +1,2 @@
+error: fatal error: phase erasure want to run right after explicitouter, but some phase has declared to run before erasure. Re-run with -Xgenerate-phase-graph <filename> to better see the problem.
+one error found \ No newline at end of file
diff --git a/test/disabled/plugin-rafter-before-1.flags b/test/disabled/plugin-rafter-before-1.flags
new file mode 100644
index 0000000000..8bf03145b9
--- /dev/null
+++ b/test/disabled/plugin-rafter-before-1.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-rafter-before-1/lib/plugins.jar
+
diff --git a/test/disabled/plugin-rafter-before-1/lib/plugins.jar.desired.sha1 b/test/disabled/plugin-rafter-before-1/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..1aa5a0aaf1
--- /dev/null
+++ b/test/disabled/plugin-rafter-before-1/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+4583290684b78581ce2e6affaa37b38d06e8dc45 ?plugins.jar
diff --git a/test/disabled/plugin-rafter-before-1/misc/build.sh b/test/disabled/plugin-rafter-before-1/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/disabled/plugin-rafter-before-1/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/disabled/plugin-rafter-before-1/misc/scalac-plugin.xml b/test/disabled/plugin-rafter-before-1/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..58fff40950
--- /dev/null
+++ b/test/disabled/plugin-rafter-before-1/misc/scalac-plugin.xml
@@ -0,0 +1,6 @@
+<!-- $Id$ -->
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/disabled/plugin-rafter-before-1/src/ThePlugin.scala b/test/disabled/plugin-rafter-before-1/src/ThePlugin.scala
new file mode 100644
index 0000000000..c42a914066
--- /dev/null
+++ b/test/disabled/plugin-rafter-before-1/src/ThePlugin.scala
@@ -0,0 +1,31 @@
+package scala.test.plugins
+
+import scala.tools.nsc
+import nsc.Global
+import nsc.Phase
+import nsc.plugins.Plugin
+import nsc.plugins.PluginComponent
+
+class ThePlugin(val global: Global) extends Plugin {
+ import global._
+
+ val name = "rafter-before-1"
+ val description = ""
+ val components = List[PluginComponent](thePhase1)
+
+ private object thePhase1 extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]("refchecks")
+ override val runsBefore = List[String]("erasure")
+ val phaseName = ThePlugin.this.name
+
+ def newPhase(prev: Phase) = new ThePhase(prev)
+ }
+
+ private class ThePhase(prev: Phase) extends Phase(prev) {
+ def name = ThePlugin.this.name
+ def run {}
+ }
+}
+
diff --git a/test/disabled/plugin-rafter-before-1/testsource.scala b/test/disabled/plugin-rafter-before-1/testsource.scala
new file mode 100644
index 0000000000..836459db22
--- /dev/null
+++ b/test/disabled/plugin-rafter-before-1/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("rafter-before-1")
+}
+
diff --git a/test/disabled/plugin-rightafter-terminal.check b/test/disabled/plugin-rightafter-terminal.check
new file mode 100644
index 0000000000..8107c373e0
--- /dev/null
+++ b/test/disabled/plugin-rightafter-terminal.check
@@ -0,0 +1,2 @@
+error: [phase assembly, right after dependency on terminal phase not allowed: rightafterterminal => terminal]
+one error found \ No newline at end of file
diff --git a/test/disabled/plugin-rightafter-terminal.flags b/test/disabled/plugin-rightafter-terminal.flags
new file mode 100644
index 0000000000..948a318668
--- /dev/null
+++ b/test/disabled/plugin-rightafter-terminal.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-rightafter-terminal/lib/plugins.jar
+
diff --git a/test/disabled/plugin-rightafter-terminal/lib/plugins.jar.desired.sha1 b/test/disabled/plugin-rightafter-terminal/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..be3c84d6dd
--- /dev/null
+++ b/test/disabled/plugin-rightafter-terminal/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+2220a89d53daa59e0daedbfd432bb5e8810e20d3 ?plugins.jar
diff --git a/test/disabled/plugin-rightafter-terminal/misc/build.sh b/test/disabled/plugin-rightafter-terminal/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/disabled/plugin-rightafter-terminal/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/disabled/plugin-rightafter-terminal/misc/scalac-plugin.xml b/test/disabled/plugin-rightafter-terminal/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..58fff40950
--- /dev/null
+++ b/test/disabled/plugin-rightafter-terminal/misc/scalac-plugin.xml
@@ -0,0 +1,6 @@
+<!-- $Id$ -->
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/disabled/plugin-rightafter-terminal/src/ThePlugin.scala b/test/disabled/plugin-rightafter-terminal/src/ThePlugin.scala
new file mode 100644
index 0000000000..47dd06ec8a
--- /dev/null
+++ b/test/disabled/plugin-rightafter-terminal/src/ThePlugin.scala
@@ -0,0 +1,32 @@
+package scala.test.plugins
+
+import scala.tools.nsc
+import nsc.Global
+import nsc.Phase
+import nsc.plugins.Plugin
+import nsc.plugins.PluginComponent
+
+class ThePlugin(val global: Global) extends Plugin {
+ import global._
+
+ val name = "rightafterterminal"
+ val description = "Declares one plugin that wants to be right after the terminal phase"
+ val components = List[PluginComponent](thePhase)
+
+ private object thePhase extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]()
+ override val runsRightAfter = Some("terminal")
+
+ val phaseName = ThePlugin.this.name
+
+ def newPhase(prev: Phase) = new ThePhase(prev)
+ }
+
+ private class ThePhase(prev: Phase) extends Phase(prev) {
+ def name = ThePlugin.this.name
+ def run {}
+ }
+}
+
diff --git a/test/disabled/plugin-rightafter-terminal/testsource.scala b/test/disabled/plugin-rightafter-terminal/testsource.scala
new file mode 100644
index 0000000000..7af767b638
--- /dev/null
+++ b/test/disabled/plugin-rightafter-terminal/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("rightafterterminal")
+}
+
diff --git a/test/disabled/serialization.check b/test/disabled/serialization.check
new file mode 100755
index 0000000000..7125d4bfab
--- /dev/null
+++ b/test/disabled/serialization.check
@@ -0,0 +1,186 @@
+x0 = List(1, 2, 3)
+y0 = List(1, 2, 3)
+x0 eq y0: false - y0 eq x0: false
+x0 equals y0: true - y0 equals x0: true
+
+x1 = List()
+y1 = List()
+x1 eq y1: true - y1 eq x1: true
+
+x2 = None
+y2 = None
+x2 eq y2: true - y2 eq x2: true
+
+x3 = Array[1,2,3]
+y3 = Array[1,2,3]
+arrayEquals(x3, y3): true
+
+x4 = <na>
+y4 = <na>
+x4(2): 4 - y4(2): 4
+
+x5 = 'hello
+y5 = 'hello
+x5 eq y5: true - y5 eq x5: true
+x5 equals y5: true - y5 equals x5: true
+
+x6 = (BannerLimit,12345)
+y6 = (BannerLimit,12345)
+x6 eq y6: false - y6 eq x6: false
+x6 equals y6: true - y6 equals x6: true
+
+x7 = {scala.BigDecimal$RoundingMode(0), scala.BigDecimal$RoundingMode(1), scala.BigDecimal$RoundingMode(2), scala.BigDecimal$RoundingMode(3), scala.BigDecimal$RoundingMode(4), scala.BigDecimal$RoundingMode(5), scala.BigDecimal$RoundingMode(6), scala.BigDecimal$RoundingMode(7)}
+y7 = {scala.BigDecimal$RoundingMode(0), scala.BigDecimal$RoundingMode(1), scala.BigDecimal$RoundingMode(2), scala.BigDecimal$RoundingMode(3), scala.BigDecimal$RoundingMode(4), scala.BigDecimal$RoundingMode(5), scala.BigDecimal$RoundingMode(6), scala.BigDecimal$RoundingMode(7)}
+x7 eq y7: true - y7 eq x7: true
+x7 equals y7: true - y7 equals x7: true
+
+x8 = {Test1_scala$WeekDay(0), Test1_scala$WeekDay(1), Test1_scala$WeekDay(2), Test1_scala$WeekDay(3), Test1_scala$WeekDay(4), Test1_scala$WeekDay(5), Test1_scala$WeekDay(6)}
+y8 = {Test1_scala$WeekDay(0), Test1_scala$WeekDay(1), Test1_scala$WeekDay(2), Test1_scala$WeekDay(3), Test1_scala$WeekDay(4), Test1_scala$WeekDay(5), Test1_scala$WeekDay(6)}
+x8 eq y8: true - y8 eq x8: true
+x8 equals y8: true - y8 equals x8: true
+
+x9 = scala.BigDecimal$RoundingMode(0)
+y9 = scala.BigDecimal$RoundingMode(0)
+x9 eq y9: true - y9 eq x9: true
+x9 equals y9: true - y9 equals x9: true
+
+x10 = Test1_scala$WeekDay(0)
+y10 = Test1_scala$WeekDay(0)
+x10 eq y10: true - y10 eq x10: true
+x10 equals y10: true - y10 equals x10: true
+
+x9 eq x10: false - x10 eq x9: false
+x9 equals x10: false - x10 equals x9: false
+x9 eq y10: false - y10 eq x9: false
+x9 equals y10: false - y10 equals x9: false
+
+x = List((buffers,20), (layers,2), (title,3))
+y = List((buffers,20), (layers,2), (title,3))
+x equals y: true - y equals x: true
+
+x = Map(buffers -> 20, layers -> 2, title -> 3)
+y = Map(buffers -> 20, layers -> 2, title -> 3)
+x equals y: true - y equals x: true
+
+x = Set(2, 3)
+y = Set(2, 3)
+x equals y: true - y equals x: true
+
+x = Set(5, 3)
+y = Set(5, 3)
+x equals y: true - y equals x: true
+
+x = Queue(a, b, c)
+y = Queue(a, b, c)
+x equals y: true - y equals x: true
+
+x = Stack(a, b, c)
+y = Stack(a, b, c)
+x equals y: true - y equals x: true
+
+x = Map(42 -> FortyTwo)
+y = Map(42 -> FortyTwo)
+x equals y: true - y equals x: true
+
+x = Set(0, 2)
+y = Set(0, 2)
+x equals y: true - y equals x: true
+
+x = ArrayBuffer(one, two)
+y = ArrayBuffer(one, two)
+x equals y: true - y equals x: true
+
+x = Map(title -> 3, buffers -> 20, layers -> 2)
+y = Map(title -> 3, buffers -> 20, layers -> 2)
+x equals y: true - y equals x: true
+
+x = Set(0, 8, 9)
+y = Set(0, 8, 9)
+x equals y: true - y equals x: true
+
+x = Set(layers, buffers, title)
+y = Set(layers, buffers, title)
+x equals y: true - y equals x: true
+
+x = LinkedList(2, 3)
+y = LinkedList(2, 3)
+x equals y: true - y equals x: true
+
+x = Queue(20, 2, 3)
+y = Queue(20, 2, 3)
+x equals y: true - y equals x: true
+
+x = Stack(20, 2, 3)
+y = Stack(20, 2, 3)
+x equals y: true - y equals x: true
+
+x = ListBuffer(white, black)
+y = ListBuffer(white, black)
+x equals y: true - y equals x: true
+
+x = <html><title>title</title><body></body></html>
+y = <html><title>title</title><body></body></html>
+x equals y: true - y equals x: true
+
+x = <html>
+ <body>
+ <table cellpadding="2" cellspacing="0">
+ <tr>
+ <th>Last Name</th>
+ <th>First Name</th>
+ </tr>
+ <tr>
+ <td> Tom </td>
+ <td> 20 </td>
+ </tr><tr>
+ <td> Bob </td>
+ <td> 22 </td>
+ </tr><tr>
+ <td> James </td>
+ <td> 19 </td>
+ </tr>
+ </table>
+ </body>
+ </html>
+y = <html>
+ <body>
+ <table cellpadding="2" cellspacing="0">
+ <tr>
+ <th>Last Name</th>
+ <th>First Name</th>
+ </tr>
+ <tr>
+ <td> Tom </td>
+ <td> 20 </td>
+ </tr><tr>
+ <td> Bob </td>
+ <td> 22 </td>
+ </tr><tr>
+ <td> James </td>
+ <td> 19 </td>
+ </tr>
+ </table>
+ </body>
+ </html>
+x equals y: true - y equals x: true
+
+x = Tim
+y = Tim
+x equals y: true - y equals x: true
+
+x = Bob
+y = Bob
+x equals y: true - y equals x: true
+
+x = John
+y = John
+x equals y: true - y equals x: true
+
+x = Bill
+y = Bill
+x equals y: true - y equals x: true
+
+x = Paul
+y = Paul
+x equals y: true - y equals x: true
+
diff --git a/test/disabled/serialization.scala b/test/disabled/serialization.scala
new file mode 100755
index 0000000000..609210e64a
--- /dev/null
+++ b/test/disabled/serialization.scala
@@ -0,0 +1,402 @@
+//############################################################################
+// Serialization
+//############################################################################
+// $Id: serialization.scala 15934 2008-08-26 12:10:05Z michelou $
+
+import java.lang.System
+
+object EqualityTest {
+ def check[A, B](x: A, y: B) {
+ println("x = " + x)
+ println("y = " + y)
+ println("x equals y: " + (x equals y) + " - y equals x: " + (y equals x))
+ println()
+ }
+}
+
+object Serialize {
+ @throws(classOf[java.io.IOException])
+ def write[A](o: A): Array[Byte] = {
+ val ba = new java.io.ByteArrayOutputStream(512)
+ val out = new java.io.ObjectOutputStream(ba)
+ out.writeObject(o)
+ out.close()
+ ba.toByteArray()
+ }
+ @throws(classOf[java.io.IOException])
+ @throws(classOf[ClassNotFoundException])
+ def read[A](buffer: Array[Byte]): A = {
+ val in =
+ new java.io.ObjectInputStream(new java.io.ByteArrayInputStream(buffer))
+ in.readObject().asInstanceOf[A]
+ }
+}
+
+//############################################################################
+// Test classes in package "scala"
+
+object Test1_scala {
+
+ private def arrayToString[A](arr: Array[A]): String =
+ List.fromArray(arr).mkString("Array[",",","]")
+
+ private def arrayEquals[A, B](a1: Array[A], a2: Array[B]): Boolean =
+ (a1.length == a2.length) &&
+ (Iterator.range(0, a1.length) forall { i => a1(i) == a2(i) })
+
+ @serializable
+ object WeekDay extends Enumeration {
+ type WeekDay = Value
+ val Monday, Tuesday, Wednesday, Thusday, Friday, Saturday, Sunday = Value
+ }
+ import WeekDay._, BigDecimal._, RoundingMode._
+
+ val x0 = List(1, 2, 3)
+ val x1 = Nil
+ val x2 = None
+ val x3 = Array(1, 2, 3)
+ val x4 = { x: Int => 2 * x }
+ val x5 = 'hello
+ val x6 = ("BannerLimit", 12345)
+ val x7 = BigDecimal.RoundingMode
+ val x8 = WeekDay
+ val x9 = ROUND_UP
+ val x10 = Monday
+
+ try {
+ val y0: List[Int] = Serialize.read(Serialize.write(x0))
+ val y1: List[Nothing] = Serialize.read(Serialize.write(x1))
+ val y2: Option[Nothing] = Serialize.read(Serialize.write(x2))
+ val y3: Array[Int] = Serialize.read(Serialize.write(x3))
+ val y4: Function[Int, Int] = Serialize.read(Serialize.write(x4))
+ val y5: Symbol = Serialize.read(Serialize.write(x5))
+ val y6: (String, Int) = Serialize.read(Serialize.write(x6))
+ val y7: RoundingMode.type = Serialize.read(Serialize.write(x7))
+ val y8: WeekDay.type = Serialize.read(Serialize.write(x8))
+ val y9: RoundingMode = Serialize.read(Serialize.write(x9))
+ val y10: WeekDay = Serialize.read(Serialize.write(x10))
+
+ println("x0 = " + x0)
+ println("y0 = " + y0)
+ println("x0 eq y0: " + (x0 eq y0) + " - y0 eq x0: " + (y0 eq x0))
+ println("x0 equals y0: " + (x0 equals y0) + " - y0 equals x0: " + (y0 equals x0))
+ println()
+ println("x1 = " + x1)
+ println("y1 = " + y1)
+ println("x1 eq y1: " + (x1 eq y1) + " - y1 eq x1: " + (y1 eq x1))
+ println()
+ println("x2 = " + x2)
+ println("y2 = " + y2)
+ println("x2 eq y2: " + (x2 eq y2) + " - y2 eq x2: " + (y2 eq x2))
+ println()
+ println("x3 = " + arrayToString(x3))
+ println("y3 = " + arrayToString(y3))
+ println("arrayEquals(x3, y3): " + arrayEquals(x3, y3))
+ println()
+ println("x4 = <na>")
+ println("y4 = <na>")
+ println("x4(2): " + x4(2) + " - y4(2): " + y4(2))
+ println()
+ println("x5 = " + x5)
+ println("y5 = " + y5)
+ println("x5 eq y5: " + (x5 eq y5) + " - y5 eq x5: " + (y5 eq x5))
+ println("x5 equals y5: " + (x5 equals y5) + " - y5 equals x5: " + (y5 equals x5))
+ println()
+ println("x6 = " + x6)
+ println("y6 = " + y6)
+ println("x6 eq y6: " + (x6 eq y6) + " - y6 eq x6: " + (y6 eq x6))
+ println("x6 equals y6: " + (x6 equals y6) + " - y6 equals x6: " + (y6 equals x6))
+ println()
+ println("x7 = " + x7)
+ println("y7 = " + y7)
+ println("x7 eq y7: " + (x7 eq y7) + " - y7 eq x7: " + (y7 eq x7))
+ println("x7 equals y7: " + (x7 equals y7) + " - y7 equals x7: " + (y7 equals x7))
+ println()
+ println("x8 = " + x8)
+ println("y8 = " + y8)
+ println("x8 eq y8: " + (x8 eq y8) + " - y8 eq x8: " + (y8 eq x8))
+ println("x8 equals y8: " + (x8 equals y8) + " - y8 equals x8: " + (y8 equals x8))
+ println()
+ println("x9 = " + x9)
+ println("y9 = " + y9)
+ println("x9 eq y9: " + (x9 eq y9) + " - y9 eq x9: " + (y9 eq x9))
+ println("x9 equals y9: " + (x9 equals y9) + " - y9 equals x9: " + (y9 equals x9))
+ println()
+ println("x10 = " + x10)
+ println("y10 = " + y10)
+ println("x10 eq y10: " + (x10 eq y10) + " - y10 eq x10: " + (y10 eq x10))
+ println("x10 equals y10: " + (x10 equals y10) + " - y10 equals x10: " + (y10 equals x10))
+ println()
+ println("x9 eq x10: " + (x9 eq x10) + " - x10 eq x9: " + (x10 eq x9))
+ println("x9 equals x10: " + (x9 equals x10) + " - x10 equals x9: " + (x10 equals x9))
+ println("x9 eq y10: " + (x9 eq y10) + " - y10 eq x9: " + (y10 eq x9))
+ println("x9 equals y10: " + (x9 equals y10) + " - y10 equals x9: " + (y10 equals x9))
+ println()
+ }
+ catch {
+ case e: Exception =>
+ e.printStackTrace()
+ println("Error in Test1_scala: " + e)
+ }
+}
+
+//############################################################################
+// Test classes in package "scala.collection.immutable"
+
+@serializable
+object Test2_immutable {
+ import scala.collection.immutable.{
+ BitSet, ListMap, ListSet, Queue, Stack, TreeSet, TreeMap}
+
+ val x1 = List(
+ Pair("buffers", 20),
+ Pair("layers", 2),
+ Pair("title", 3)
+ )
+
+ val x2 = new ListMap[String, Int] + ("buffers" -> 20, "layers" -> 2, "title" -> 3)
+
+ val x3 = {
+ val bs = new collection.mutable.BitSet()
+ bs += 2; bs += 3
+ bs.toImmutable
+ }
+
+ val x4 = new ListSet[Int]() + 3 + 5
+
+ val x5 = new Queue("a", "b", "c")
+
+ val x6 = new Stack().push("a", "b", "c")
+
+ val x7 = new TreeMap[Int, String] + (42 -> "FortyTwo")
+
+ val x8 = new TreeSet[Int]() + 2 + 0
+
+ try {
+ val y1: List[Pair[String, Int]] = Serialize.read(Serialize.write(x1))
+ val y2: ListMap[String, Int] = Serialize.read(Serialize.write(x2))
+ val y3: BitSet = Serialize.read(Serialize.write(x3))
+ val y4: ListSet[Int] = Serialize.read(Serialize.write(x4))
+ val y5: Queue[String] = Serialize.read(Serialize.write(x5))
+ val y6: Stack[String] = Serialize.read(Serialize.write(x6))
+ val y7: TreeMap[Int, String] = Serialize.read(Serialize.write(x7))
+ val y8: TreeSet[Int] = Serialize.read(Serialize.write(x8))
+
+ EqualityTest.check(x1, y1)
+ EqualityTest.check(x2, y2)
+ EqualityTest.check(x3, y3)
+ EqualityTest.check(x4, y4)
+ EqualityTest.check(x5, y5)
+ EqualityTest.check(x6, y6)
+ EqualityTest.check(x7, y7)
+ EqualityTest.check(x8, y8)
+ }
+ catch {
+ case e: Exception =>
+ println("Error in Test2_immutable: " + e)
+ throw e
+ }
+}
+
+//############################################################################
+// Test classes in package "scala.collection.mutable"
+
+object Test3_mutable {
+ import scala.collection.mutable.{
+ ArrayBuffer, BitSet, HashMap, HashSet, History, LinkedList, ListBuffer,
+ Publisher, Queue, RevertableHistory, Stack}
+
+ val x0 = new ArrayBuffer[String]
+ x0 ++= List("one", "two")
+
+ val x2 = new BitSet()
+ x2 += 0
+ x2 += 8
+ x2 += 9
+
+ val x1 = new HashMap[String, Int]
+ x1 ++= Test2_immutable.x1
+
+ val x3 = new HashSet[String]
+ x3 ++= Test2_immutable.x1.map(p => p._1)
+
+ @serializable
+ class Feed extends Publisher[String, Feed]
+
+ val x8 = new History[String, Feed]
+
+ val x4 = new LinkedList[Int](2, null)
+ x4.append(new LinkedList(3, null))
+
+ val x7 = new ListBuffer[String]
+ x7 ++= List("white", "black")
+
+ val x5 = new Queue[Int]
+ x5 ++= Test2_immutable.x1.map(p => p._2)
+
+ val x6 = new Stack[Int]
+ x6 ++= x5
+
+ try {
+ val y0: ArrayBuffer[String] = Serialize.read(Serialize.write(x0))
+ val y1: HashMap[String, Int] = Serialize.read(Serialize.write(x1))
+ val y2: BitSet = Serialize.read(Serialize.write(x2))
+ val y3: HashSet[String] = Serialize.read(Serialize.write(x3))
+ val y4: LinkedList[Int] = Serialize.read(Serialize.write(x4))
+ val y5: Queue[Int] = Serialize.read(Serialize.write(x5))
+ val y6: Stack[Int] = Serialize.read(Serialize.write(x6))
+ val y7: ListBuffer[String] = Serialize.read(Serialize.write(x7))
+ val y8: History[String, Feed] = Serialize.read(Serialize.write(x8))
+
+ EqualityTest.check(x0, y0)
+ EqualityTest.check(x1, y1)
+ EqualityTest.check(x2, y2)
+ EqualityTest.check(x3, y3)
+ EqualityTest.check(x4, y4)
+ EqualityTest.check(x5, y5)
+ EqualityTest.check(x6, y6)
+ EqualityTest.check(x7, y7)
+ //EqualityTest.check(x8, y8) //todo
+ }
+ catch {
+ case e: Exception =>
+ println("Error in Test3_mutable: " + e)
+ }
+}
+
+//############################################################################
+// Test classes in package "scala.xml"
+
+object Test4_xml {
+ import scala.xml.Elem
+
+ val x1 = <html><title>title</title><body></body></html>;
+
+ case class Person(name: String, age: Int)
+
+ class AddressBook(a: Person*) {
+ private val people: List[Person] = a.toList
+ def toXHTML =
+ <table cellpadding="2" cellspacing="0">
+ <tr>
+ <th>Last Name</th>
+ <th>First Name</th>
+ </tr>
+ { for (val p <- people) yield
+ <tr>
+ <td> { p.name } </td>
+ <td> { p.age.toString() } </td>
+ </tr> }
+ </table>;
+ }
+
+ val people = new AddressBook(
+ Person("Tom", 20),
+ Person("Bob", 22),
+ Person("James", 19))
+
+ val x2 =
+ <html>
+ <body>
+ { people.toXHTML }
+ </body>
+ </html>;
+
+ try {
+ val y1: scala.xml.Elem = Serialize.read(Serialize.write(x1))
+ val y2: scala.xml.Elem = Serialize.read(Serialize.write(x2))
+
+ EqualityTest.check(x1, y1)
+ EqualityTest.check(x2, y2)
+ }
+ catch {
+ case e: Exception =>
+ println("Error in Test4_xml: " + e)
+ }
+}
+
+//############################################################################
+// Test user-defined classes WITHOUT nesting
+
+@serializable
+class Person(_name: String) {
+ private var name = _name
+ override def toString() = name
+ override def equals(that: Any): Boolean =
+ that.isInstanceOf[Person] &&
+ (name == that.asInstanceOf[Person].name)
+}
+
+@serializable
+class Employee(_name: String) {
+ private var name = _name
+ override def toString() = name
+}
+@serializable
+object bob extends Employee("Bob")
+
+object Test5 {
+ val x1 = new Person("Tim")
+ val x2 = bob
+
+ try {
+ val y1: Person = Serialize.read(Serialize.write(x1))
+ val y2: Employee = Serialize.read(Serialize.write(x2))
+
+ EqualityTest.check(x1, y1)
+ EqualityTest.check(x2, y2)
+ }
+ catch {
+ case e: Exception =>
+ println("Error in Test5: " + e)
+ }
+}
+
+//############################################################################
+// Test user-defined classes WITH nesting
+
+@serializable
+object Test6 {
+ @serializable
+ object bill extends Employee("Bill") {
+ val x = paul
+ }
+ @serializable
+ object paul extends Person("Paul") {
+ val x = 4 // bill; => StackOverflowException !!!
+ }
+ val x1 = new Person("John")
+ val x2 = bill
+ val x3 = paul
+
+ try {
+ val y1: Person = Serialize.read(Serialize.write(x1))
+ val y2: Employee = Serialize.read(Serialize.write(x2))
+ val y3: Person = Serialize.read(Serialize.write(x3))
+
+ EqualityTest.check(x1, y1)
+ EqualityTest.check(x2, y2)
+ EqualityTest.check(x3, y3)
+ }
+ catch {
+ case e: Exception =>
+ println("Error in Test6: " + e)
+ }
+}
+
+//############################################################################
+// Test code
+
+object Test {
+ def main(args: Array[String]) {
+ Test1_scala
+ Test2_immutable
+ Test3_mutable
+ Test4_xml
+ Test5
+ Test6
+ }
+}
+
+//############################################################################
+
diff --git a/test/disabled/t0485.check b/test/disabled/t0485.check
new file mode 100644
index 0000000000..3a462cfdc1
--- /dev/null
+++ b/test/disabled/t0485.check
@@ -0,0 +1,32 @@
+m1={(10,20), (20,30)}
+m2={(10,20)}
+m1.size > m2.size is true
+m1 equals m2 is true
+
+m1={(10,20), (20,30)}
+m2={(10,20)}
+m1.size > m2.size is true
+m1 equals m2 is true
+
+m1={(10,20), (20,30)}
+m2={(10,20)}
+m1.size > m2.size is true
+m1 equals m2 is true
+
+java.lang.CloneNotSupportedException: The underlying map doesn't implement the Cloneable interface
+
+s1=[10, 20]
+s2=[10]
+s1.size > s2 is true
+s1 equals s2 is true
+
+s1=[10, 20]
+s2=[10]
+s1.size > s2 is true
+s1 equals s2 is true
+
+s1=[10, 20]
+s2=[10]
+s1.size > s2 is true
+s1 equals s2 is true
+
diff --git a/test/disabled/t0485.scala b/test/disabled/t0485.scala
new file mode 100644
index 0000000000..9e2017aacc
--- /dev/null
+++ b/test/disabled/t0485.scala
@@ -0,0 +1,54 @@
+import scala.collection.jcl
+
+object Test extends Application {
+ testMap
+ testSet
+}
+
+object testMap {
+ def toString(m1: collection.Map[Int, Int]): String =
+ m1.toList.sort((x, y) => x < y).mkString("{", ", ", "}")
+ def test(m1: jcl.Map[Int, Int]) {
+ try {
+ m1.put(10, 20)
+ val m2 = m1.clone()
+ m1.put(20, 30)
+ println("m1="+toString(m1))
+ println("m2="+toString(m2))
+ println("m1.size > m2.size is "+ (m1.size > m2.size))
+ m1.remove((20, 30))
+ println("m1 equals m2 is "+ (m1 equals m2))
+ println()
+ }
+ catch {
+ case e: Exception =>
+ println(e); println()
+ }
+ }
+ test(new jcl.HashMap[Int, Int])
+ // Clone on IdentityHashMap of java-ibm-1.6 behaves differently than all others
+ // Therefore, for now we will not perform this test on it.
+ // test(new jcl.IdentityHashMap[Int, Int])
+ test(new jcl.LinkedHashMap[Int, Int])
+ test(new jcl.TreeMap[Int, Int])
+ test(new jcl.WeakHashMap[Int, Int])
+}
+
+object testSet {
+ def toString(s1: collection.Set[Int]): String =
+ s1.toList.sort((x, y) => x < y).mkString("[", ", ", "]")
+ def test(s1: jcl.Set[Int]) {
+ s1.add(10)
+ val s2 = s1.clone()
+ s1.add(20)
+ println("s1="+toString(s1))
+ println("s2="+toString(s2))
+ println("s1.size > s2 is "+ (s1.size > s2.size))
+ s1.remove(20)
+ println("s1 equals s2 is "+ (s1 equals s2))
+ println()
+ }
+ test(new jcl.HashSet[Int])
+ test(new jcl.LinkedHashSet[Int])
+ test(new jcl.TreeSet[Int])
+}
diff --git a/test/disabled/unittest_collection.scala b/test/disabled/unittest_collection.scala
new file mode 100644
index 0000000000..5d7ab97425
--- /dev/null
+++ b/test/disabled/unittest_collection.scala
@@ -0,0 +1,103 @@
+
+object Test {
+
+ import scala.testing.SUnit._
+ import scala.collection.mutable.{ArrayBuffer, Buffer, BufferProxy, ListBuffer}
+
+ trait BufferTest extends Assert {
+ def doTest(x:Buffer[String]) = {
+ // testing method +=
+ x += "one"
+ assertEquals("retrieving 'one'", x(0), "one")
+ assertEquals("length A ", x.length, 1)
+ x += "two"
+ assertEquals("retrieving 'two'", x(1), "two")
+ assertEquals("length B ", x.length, 2)
+
+ // testing method -= (removing last element)
+ x -= "two"
+
+ assertEquals("length C ", x.length, 1)
+
+ try { x(1); fail("no exception for removed element") }
+ catch { case i:IndexOutOfBoundsException => }
+
+ try { x.remove(1); fail("no exception for removed element") }
+ catch { case i:IndexOutOfBoundsException => }
+
+ x += "two2"
+ assertEquals("length D ", x.length, 2)
+
+ // removing first element
+ x.remove(0)
+ assertEquals("length E ", x.length, 1)
+
+ // toList
+ assertEquals("toList ", x.toList, List("two2"))
+
+ // clear
+ x.clear
+ assertEquals("length F ", x.length, 0)
+
+ // copyToBuffer
+ x += "a"
+ x += "b"
+ val dest = new ArrayBuffer[String]
+ x copyToBuffer dest
+ assertEquals("dest", List("a", "b"), dest.toList)
+ assertEquals("source", List("a", "b"), x.toList)
+ }
+ }
+
+ class TArrayBuffer extends TestCase("collection.mutable.ArrayBuffer") with Assert with BufferTest {
+
+ var x: ArrayBuffer[String] = _
+
+ override def runTest = { setUp; doTest(x); tearDown }
+
+ override def setUp = { x = new scala.collection.mutable.ArrayBuffer }
+
+ override def tearDown = { x.clear; x = null }
+ }
+
+ class TListBuffer extends TestCase("collection.mutable.ListBuffer") with Assert with BufferTest {
+
+ var x: ListBuffer[String] = _
+
+ override def runTest = { setUp; doTest(x); tearDown }
+
+ override def setUp = { x = new scala.collection.mutable.ListBuffer }
+
+ override def tearDown = { x.clear; x = null }
+
+ }
+
+ class TBufferProxy extends TestCase("collection.mutable.BufferProxy") with Assert with BufferTest {
+
+ class BBuf(z:ListBuffer[String]) extends BufferProxy[String] {
+ def self = z
+ }
+
+ var x: BufferProxy[String] = _
+
+ override def runTest = { setUp; doTest(x); tearDown }
+
+ override def setUp = { x = new BBuf(new scala.collection.mutable.ListBuffer) }
+
+ override def tearDown = { x.clear; x = null }
+
+ }
+
+ def main(args:Array[String]) = {
+ val ts = new TestSuite(
+ //new TArrayBuffer,
+ new TListBuffer//,
+ //new TBufferProxy
+ )
+ val tr = new TestResult()
+ ts.run(tr)
+ for(val failure <- tr.failures) {
+ Console.println(failure)
+ }
+ }
+}
diff --git a/test/disabled/xml01.check b/test/disabled/xml01.check
new file mode 100644
index 0000000000..5e82e9a729
--- /dev/null
+++ b/test/disabled/xml01.check
@@ -0,0 +1,8 @@
+equality
+xpath \
+xpath \\ DESCENDANTS
+<book><author>Peter Buneman</author><author>Dan Suciu</author><title>Data on ze web</title></book>
+-- group nodes
+<f><a></a><b></b><c></c></f>
+<a></a><f><a></a><b></b><c></c></f><a></a><b></b><c></c>
+attribute value normalization
diff --git a/test/disabled/xml01.scala b/test/disabled/xml01.scala
new file mode 100644
index 0000000000..7246c94c5b
--- /dev/null
+++ b/test/disabled/xml01.scala
@@ -0,0 +1,228 @@
+import java.io.StringReader
+import org.xml.sax.InputSource
+
+import scala.testing.SUnit._
+import scala.util.logging._
+import scala.xml._
+
+
+object Test extends Application with Assert {
+ val e: scala.xml.MetaData = Null //Node.NoAttributes
+ val sc: scala.xml.NamespaceBinding = TopScope
+
+ val xmlFile1 = "<hello><world/></hello>";
+ val isrc1 = new InputSource(new StringReader(xmlFile1))
+ val parsedxml1 = XML.load(isrc1)
+ val isrc11 = new InputSource(new StringReader(xmlFile1))
+ val parsedxml11 = XML.load(isrc11)
+
+ val c = new Node {
+ def label = "hello"
+ override def hashCode() =
+ Utility.hashCode(prefix, label, attributes.hashCode(), scope.hashCode(), child);
+ def child = Elem(null, "world", e, sc);
+ //def attributes = e;
+ override def text = ""
+ }
+
+ assertSameElements(List(3), List(3))
+
+ println("equality")
+ assertEquals(c, parsedxml11)
+ assertEquals(parsedxml1, parsedxml11)
+ assertSameElements(List(parsedxml1), List(parsedxml11))
+ assertSameElements(Array(parsedxml1).toList, List(parsedxml11))
+
+ val x2 = "<book><author>Peter Buneman</author><author>Dan Suciu</author><title>Data on ze web</title></book>";
+
+ val i = new InputSource(new StringReader(x2))
+ val x2p = XML.load(i)
+
+ assertEquals(x2p, Elem(null, "book" , e, sc,
+ Elem(null, "author", e, sc,Text("Peter Buneman")),
+ Elem(null, "author", e, sc,Text("Dan Suciu")),
+ Elem(null, "title" , e, sc,Text("Data on ze web"))));
+
+ val xmlFile2 = "<bib><book><author>Peter Buneman</author><author>Dan Suciu</author><title>Data on ze web</title></book><book><author>John Mitchell</author><title>Foundations of Programming Languages</title></book></bib>";
+ val isrc2 = new InputSource(new StringReader(xmlFile2))
+ val parsedxml2 = XML.load(isrc2)
+
+ // xmlFile2/book -> book,book
+ println("xpath \\")
+
+
+ assertSameElements(parsedxml1 \ "_" , List(Elem(null,"world", e, sc)))
+
+ assertSameElements(parsedxml1 \ "world", List(Elem(null,"world", e, sc)))
+
+/*
+ Console.println( parsedxml2 \ "_" );
+ Console.println( (parsedxml2 \ "_" ).elements);
+ for( val i <- (parsedxml2 \ "_" ).elements) {
+ Console.println( i );
+ };
+ */
+
+ assertSameElements(
+ parsedxml2 \ "_" ,
+
+ List(
+ Elem(null,"book", e, sc,
+ Elem(null,"author", e, sc, Text("Peter Buneman")),
+ Elem(null,"author", e, sc, Text("Dan Suciu")),
+ Elem(null,"title" , e, sc, Text("Data on ze web"))),
+ Elem(null,"book",e,sc,
+ Elem(null,"author",e,sc,Text("John Mitchell")),
+ Elem(null,"title",e,sc,Text("Foundations of Programming Languages"))))
+ );
+ assertEquals( (parsedxml2 \ "author").length, 0 );
+
+ assertSameElements(
+ parsedxml2 \ "book",
+
+ List(
+ Elem(null,"book",e,sc,
+ Elem(null,"author", e, sc, Text("Peter Buneman")),
+ Elem(null,"author", e, sc, Text("Dan Suciu")),
+ Elem(null,"title" , e, sc, Text("Data on ze web"))),
+ Elem(null,"book",e,sc,
+ Elem(null,"author", e, sc, Text("John Mitchell")),
+ Elem(null,"title" , e, sc, Text("Foundations of Programming Languages")))
+ )
+ );
+
+ assertSameElements(
+
+ parsedxml2 \ "_" \ "_",
+
+ List(
+ Elem(null,"author", e, sc, Text("Peter Buneman")),
+ Elem(null,"author", e, sc, Text("Dan Suciu")),
+ Elem(null,"title" , e, sc, Text("Data on ze web")),
+ Elem(null,"author", e, sc, Text("John Mitchell")),
+ Elem(null,"title" , e, sc, Text("Foundations of Programming Languages"))
+ )
+ );
+
+ assertSameElements(
+
+ parsedxml2 \ "_" \ "author",
+
+ List(
+ Elem(null,"author", e, sc, Text("Peter Buneman")),
+ Elem(null,"author", e, sc, Text("Dan Suciu")),
+ Elem(null,"author", e, sc, Text("John Mitchell"))
+ )
+
+ );
+
+ assertSameElements( (parsedxml2 \ "_" \ "_" \ "author"), List() );
+
+ Console.println("xpath \\\\ DESCENDANTS");
+
+ assertSameElements(
+
+ parsedxml2 \\ "author",
+
+ List(
+ Elem(null,"author", e, sc, Text("Peter Buneman")),
+ Elem(null,"author", e, sc, Text("Dan Suciu")),
+ Elem(null,"author", e, sc, Text("John Mitchell"))
+ )
+
+ );
+
+
+ assertSameElements(
+
+ parsedxml2 \\ "title",
+
+ List(
+ Elem(null,"title", e, sc, Text("Data on ze web")),
+ Elem(null,"title", e, sc, Text("Foundations of Programming Languages")))
+ );
+
+
+ println(
+ (parsedxml2 \\ "book" ){ n:Node => n \ "title" == "Data on ze web" }
+ );
+
+ assertEquals(
+
+ (new NodeSeq { val theSeq = List( parsedxml2 ) }) \\ "_",
+
+ List(
+ Elem(null,"bib",e,sc,
+ Elem(null,"book",e,sc,
+ Elem(null, "author", e, sc, Text("Peter Buneman")),
+ Elem(null, "author", e, sc, Text("Dan Suciu")),
+ Elem(null, "title" , e, sc, Text("Data on ze web"))),
+ Elem(null,"book",e,sc,
+ Elem(null,"author",e,sc,Text("John Mitchell")),
+ Elem(null,"title",e,sc,Text("Foundations of Programming Languages")))),
+ Elem(null,"book",e,sc,
+ Elem(null,"author",e,sc,Text("Peter Buneman")),
+ Elem(null,"author",e,sc,Text("Dan Suciu")),
+ Elem(null,"title",e,sc,Text("Data on ze web"))),
+ Elem(null,"author",e,sc,Text("Peter Buneman")),
+ //Text("Peter Buneman"),
+ Elem(null,"author",e,sc,Text("Dan Suciu")),
+ //Text("Dan Suciu"),
+ Elem(null,"title",e,sc,Text("Data on ze web")),
+ //Text("Data on ze web"),
+ Elem(null,"book",e,sc,
+ Elem(null,"author",e,sc,Text("John Mitchell")),
+ Elem(null,"title",e,sc,Text("Foundations of Programming Languages"))),
+ Elem(null,"author",e,sc,Text("John Mitchell")),
+ //Text("John Mitchell"),
+ Elem(null,"title",e,sc,Text("Foundations of Programming Languages"))
+ //Text("Foundations of Programming Languages")
+ )
+ );
+
+ // test group node
+ Console println "-- group nodes"
+ val zx1: Node = Group { <a/><b/><c/> }
+ val zy1 = <f>{zx1}</f>
+ Console println zy1.toString()
+
+ val zx2: Node = Group { List(<a/>,zy1,zx1) }
+ Console println zx2.toString()
+
+ val zz1 = <xml:group><a/><b/><c/></xml:group>
+
+ assertTrue(zx1 == zz1)
+ assertTrue(zz1.length == 3)
+
+ // unparsed
+
+ val uup = <xml:unparsed>&<<>""^%@$!#</xml:unparsed>
+ assertTrue(uup == "&<<>\"\"^%@$!#")
+ // test unicode escapes backslash u
+
+ println("attribute value normalization")
+ val xmlAttrValueNorm = "<personne id='p0003' nom='&#x015e;ahingöz' />";
+ {
+ val isrcA = new InputSource( new StringReader(xmlAttrValueNorm) );
+ val parsedxmlA = XML.load(isrcA);
+ val c = (parsedxmlA \ "@nom").text.charAt(0);
+ //Console.println("char '"+c+"' \u015e");
+ assertTrue(c == '\u015e');
+ }
+ // buraq: if the following test fails with 'character x not allowed', it is
+ // related to the mutable variable in a closures in MarkupParser.parsecharref
+ {
+ val isr = scala.io.Source.fromString(xmlAttrValueNorm);
+ val pxmlB = scala.xml.parsing.ConstructingParser.fromSource(isr,false);
+ val parsedxmlB = pxmlB.element(TopScope);
+ val c = (parsedxmlB \ "@nom").text.charAt(0);
+ //Console.println("char '"+c+"' \u015e");
+ assertTrue(c == '\u015e');
+ }
+
+ // #60 test by round trip
+
+ val p = scala.xml.parsing.ConstructingParser.fromSource(scala.io.Source.fromString("<foo bar:attr='&amp;'/>"),true)
+ val n = p.element(new scala.xml.NamespaceBinding("bar","BAR",scala.xml.TopScope))(0)
+ assertFalse( n.attributes.get("BAR", n, "attr").isEmpty)
+}