diff options
author | Daniel C. Sobral <dcsobral@gmail.com> | 2012-01-25 13:30:40 -0200 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-03-23 06:57:00 -0700 |
commit | e3dec9f006ac2631281fb936c4ca206daa8fda5d (patch) | |
tree | 4c2bb8efc68199fde4d51a58a20f5ded595efeb5 /test | |
parent | 8f42361d71d11e9522052dcb5d9be020df7e5cc5 (diff) | |
download | scala-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')
-rw-r--r-- | test/files/scalacheck/t2460.scala | 32 |
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)) + }*/ +} |