summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-10-04 16:23:58 -0700
committerPaul Phillips <paulp@improving.org>2012-10-04 16:23:58 -0700
commit535ad7abfc841abfdef5110b3ee7d66164a37468 (patch)
treef0ee970ab6fbc46d0c2e379e9e65ea5dd04917e6 /test/files/run
parent172080b6a487db6e2b3ec2d5de4b2ce7441e8557 (diff)
parentce1bbfe5c6a06e7de69210fbedd5e4cae270510a (diff)
downloadscala-535ad7abfc841abfdef5110b3ee7d66164a37468.tar.gz
scala-535ad7abfc841abfdef5110b3ee7d66164a37468.tar.bz2
scala-535ad7abfc841abfdef5110b3ee7d66164a37468.zip
Merge pull request #1369 from som-snytt/issue/6406-regextract
Regex.unapplySeq should not take Any (Fixes SI-6406)
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/t6406-regextract.check4
-rw-r--r--test/files/run/t6406-regextract.scala30
2 files changed, 34 insertions, 0 deletions
diff --git a/test/files/run/t6406-regextract.check b/test/files/run/t6406-regextract.check
new file mode 100644
index 0000000000..88c5a52eb3
--- /dev/null
+++ b/test/files/run/t6406-regextract.check
@@ -0,0 +1,4 @@
+List(1, 3)
+List(1, 3)
+List(1, 3)
+Some(2011) Some(2011)
diff --git a/test/files/run/t6406-regextract.scala b/test/files/run/t6406-regextract.scala
new file mode 100644
index 0000000000..83679a5167
--- /dev/null
+++ b/test/files/run/t6406-regextract.scala
@@ -0,0 +1,30 @@
+
+object Test extends App {
+ import util.matching._
+ import Regex._
+
+ val r = "(\\d+)".r
+ val q = """(\d)""".r
+ val ns = List("1,2","x","3,4")
+ val u = r.unanchored
+
+ val is = ns collect { case u(x) => x } map { case r(x) => x }
+ println(is)
+ // Match from same pattern
+ val js = (ns map { u findFirstMatchIn _ }).flatten map { case r(x) => x }
+ println(js)
+ // Match not from same pattern
+ val ks = (ns map { q findFirstMatchIn _ }).flatten map { case r(x) => x }
+ println(ks)
+
+ val t = "Last modified 2011-07-15"
+ val p1 = """(\d\d\d\d)-(\d\d)-(\d\d)""".r
+ val y1: Option[String] = for {
+ p1(year, month, day) <- p1 findFirstIn t
+ } yield year
+ val y2: Option[String] = for {
+ p1(year, month, day) <- p1 findFirstMatchIn t
+ } yield year
+ println(s"$y1 $y2")
+
+}