From cd92aad821eb476f68ea85fb9b149ee185a08e97 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Wed, 6 Oct 2010 22:56:56 +0000 Subject: Unreverting r23174. No review. --- test/files/run/t3887.scala | 16 ++++++++++++++++ test/files/run/t3888.scala | 26 ++++++++++++++++++++++++++ test/files/run/tuple-match.check | 8 ++++++++ test/files/run/tuple-match.scala | 27 +++++++++++++++++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 test/files/run/t3887.scala create mode 100644 test/files/run/t3888.scala create mode 100644 test/files/run/tuple-match.check create mode 100644 test/files/run/tuple-match.scala (limited to 'test/files/run') diff --git a/test/files/run/t3887.scala b/test/files/run/t3887.scala new file mode 100644 index 0000000000..16ce983efc --- /dev/null +++ b/test/files/run/t3887.scala @@ -0,0 +1,16 @@ +object Test { + def main(args: Array[String]) { + assert( matchPair(1) ) + assert( !matchPair(2) ) + } + + def matchPair(i: Int) = { + (i, "abc") match { + case this.option1 => true + case _ => false + } + } + + val option1: (Int, String) = (1, "abc") + +} diff --git a/test/files/run/t3888.scala b/test/files/run/t3888.scala new file mode 100644 index 0000000000..ecdf87e925 --- /dev/null +++ b/test/files/run/t3888.scala @@ -0,0 +1,26 @@ +object Test { + + val T1 = new P + private[this] val T2 = T1 + + def m1 = + (1, 2) match { + case T1 => true + case _ => false + } + + def m2 = + (1, 2) match { + case T2 => true + case _ => false + } + + def main(args: Array[String]) = { + assert( m1 ) + assert( m2 ) + } +} + +class P extends Pair(1, 1) { + override def equals(x: Any) = true +} \ No newline at end of file diff --git a/test/files/run/tuple-match.check b/test/files/run/tuple-match.check new file mode 100644 index 0000000000..0c1ea0005b --- /dev/null +++ b/test/files/run/tuple-match.check @@ -0,0 +1,8 @@ +4, #3 +4, #2 +4, #4 +3, #2 +2, #2 +1, #1 +FOUR +THREE diff --git a/test/files/run/tuple-match.scala b/test/files/run/tuple-match.scala new file mode 100644 index 0000000000..fcaefbff5b --- /dev/null +++ b/test/files/run/tuple-match.scala @@ -0,0 +1,27 @@ +object Test { + val FOUR = (-1, -2, -3, "bingo donkey vegas") + val THREE = (-1, -2, -3) + + def f(x: Any) = x match { + case FOUR => "FOUR" + case (_, _, 3, _) => "4, #3" + case (_, 2, _, _) => "4, #2" + case (_, 2, _) => "3, #2" + case Tuple1(1) => "1, #1" + case (_, _, _, 4) => "4, #4" + case THREE => "THREE" + case (_, 2) => "2, #2" + case _ => "default" + } + + def main(args: Array[String]): Unit = { + println(f((1, 2, 3, 4))) + println(f((1, 2, 30, 4))) + println(f((1, 20, 30, 4))) + println(f((1, 2, 3))) + println(f((1, 2))) + println(f(Tuple1(1))) + println(f((-1, -2, -3, "bingo donkey vegas"))) + println(f((-1, -2, -3))) + } +} -- cgit v1.2.3