summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2014-08-19 22:12:39 +0200
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2014-08-19 22:12:39 +0200
commitd4b5c7b95de88d3890be654e06da812c6eb607f5 (patch)
tree9cb2c7ec36d787d80b7614cdaad916b240e31af7 /test
parent5e0880fe05fb65a8757721be7e5be6a3259c19a8 (diff)
parentf98c53cb03f800b3d790f3866ab90f827fd131f5 (diff)
downloadscala-d4b5c7b95de88d3890be654e06da812c6eb607f5.tar.gz
scala-d4b5c7b95de88d3890be654e06da812c6eb607f5.tar.bz2
scala-d4b5c7b95de88d3890be654e06da812c6eb607f5.zip
Merge pull request #3923 from som-snytt/issue/8787
SI-8787 Regextraction is null-proof
Diffstat (limited to 'test')
-rw-r--r--test/junit/scala/util/matching/RegexTest.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/junit/scala/util/matching/RegexTest.scala b/test/junit/scala/util/matching/RegexTest.scala
index d25842cc57..5b13397d6a 100644
--- a/test/junit/scala/util/matching/RegexTest.scala
+++ b/test/junit/scala/util/matching/RegexTest.scala
@@ -27,4 +27,21 @@ class RegexTest {
assertEquals("1", x)
assertEquals("1", y)
}
+
+ @Test def t8787nullMatch() = {
+ val r = """\d+""".r
+ val s: String = null
+ val x = s match { case r() => 1 ; case _ => 2 }
+ assertEquals(2, x)
+ }
+
+ @Test def t8787nullMatcher() = {
+ val r = """(\d+):(\d+)""".r
+ val s = "1:2 3:4 5:6"
+ val z = ((r findAllMatchIn s).toList :+ null) flatMap {
+ case r(x, y) => Some((x.toInt, y.toInt))
+ case _ => None
+ }
+ assertEquals(List((1,2),(3,4),(5,6)), z)
+ }
}