summaryrefslogtreecommitdiff
path: root/test/files/scalacheck/t2460.scala
diff options
context:
space:
mode:
authorDaniel C. Sobral <dcsobral@gmail.com>2012-01-25 13:30:40 -0200
committerPaul Phillips <paulp@improving.org>2012-03-23 06:57:00 -0700
commite3dec9f006ac2631281fb936c4ca206daa8fda5d (patch)
tree4c2bb8efc68199fde4d51a58a20f5ded595efeb5 /test/files/scalacheck/t2460.scala
parent8f42361d71d11e9522052dcb5d9be020df7e5cc5 (diff)
downloadscala-e3dec9f006ac2631281fb936c4ca206daa8fda5d.tar.gz
scala-e3dec9f006ac2631281fb936c4ca206daa8fda5d.tar.bz2
scala-e3dec9f006ac2631281fb936c4ca206daa8fda5d.zip
Regex improvements
This adds findAllMatchIn to Regex to mirror other similar methods. It also overloads StringLike's "r", adding a version that accepts group names. It includes test cases for both methods. Closes SI-2460.
Diffstat (limited to 'test/files/scalacheck/t2460.scala')
-rw-r--r--test/files/scalacheck/t2460.scala32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/files/scalacheck/t2460.scala b/test/files/scalacheck/t2460.scala
new file mode 100644
index 0000000000..196b43789f
--- /dev/null
+++ b/test/files/scalacheck/t2460.scala
@@ -0,0 +1,32 @@
+import org.scalacheck.Prop.forAll
+import org.scalacheck.Properties
+import org.scalacheck.ConsoleReporter.testStatsEx
+import org.scalacheck.{Test => SCTest}
+import org.scalacheck.Gen
+
+object Test extends Properties("Regex : Ticket 2460") {
+
+ val vowel = Gen.oneOf("a", "z")
+
+ val numberOfMatch = forAll(vowel) {
+ (s: String) => "\\s*([a-z])\\s*".r("data").findAllMatchIn((1 to 20).map(_ => s).mkString).size == 20
+ }
+
+ val numberOfGroup = forAll(vowel) {
+ (s: String) => "\\s*([a-z])\\s*([a-z])\\s*".r("data").findAllMatchIn((1 to 20).map(_ => s).mkString).next.groupCount == 2
+ }
+
+ val nameOfGroup = forAll(vowel) {
+ (s: String) => "([a-z])".r("data").findAllMatchIn(s).next.group("data") == s
+ }
+
+ val tests = List(
+ ("numberOfMatch", numberOfMatch),
+ ("numberOfGroup", numberOfGroup),
+ ("nameOfGroup", nameOfGroup)
+ )
+
+ /*tests foreach {
+ case (name, p) => testStatsEx(name, SCTest.check(p))
+ }*/
+}