DirectTest checks compiler options
Previously, a bad compiler option was ignored.
Add a common idiom to StreamCapture to set stdout;
the idiom may be suboptimal for testing.
Convert a partest to junit for regex, and eliminate
one check file.
(cherry picked from commit 580ed0706d
)
This commit is contained in:
parent
8cb1dd6cd3
commit
37d54cc58b
|
@ -1,47 +0,0 @@
|
|||
|
||||
|
||||
|
||||
import util.matching._
|
||||
|
||||
|
||||
|
||||
|
||||
object Test {
|
||||
|
||||
def main(args: Array[String]) {
|
||||
replacementMatching
|
||||
groupsMatching
|
||||
}
|
||||
|
||||
def replacementMatching {
|
||||
val regex = """\$\{(.+?)\}""".r
|
||||
val replaced = regex.replaceAllIn("Replacing: ${main}. And another method: ${foo}.",
|
||||
(m: util.matching.Regex.Match) => {
|
||||
val identifier = m.group(1)
|
||||
identifier
|
||||
})
|
||||
assert(replaced == "Replacing: main. And another method: foo.")
|
||||
|
||||
val regex3 = """\$\{(.+?)\}""".r
|
||||
val replaced3 = regex3.replaceSomeIn("Replacing: ${main}. And another: ${foo}.", (m: util.matching.Regex.Match) => {
|
||||
val id = m.group(1)
|
||||
if (id.startsWith("m")) Some(id) else None
|
||||
})
|
||||
assert(replaced3 == "Replacing: main. And another: ${foo}.")
|
||||
}
|
||||
|
||||
def groupsMatching {
|
||||
val Date = """(\d+)/(\d+)/(\d+)""".r
|
||||
for (Regex.Groups(a, b, c) <- Date findFirstMatchIn "1/1/2001 marks the start of the millennium. 31/12/2000 doesn't.") {
|
||||
assert(a == "1")
|
||||
assert(b == "1")
|
||||
assert(c == "2001")
|
||||
}
|
||||
for (Regex.Groups(a, b, c) <- (Date findAllIn "1/1/2001 marks the start of the millennium. 31/12/2000 doesn't.").matchData) {
|
||||
assert(a == "1" || a == "31")
|
||||
assert(b == "1" || b == "12")
|
||||
assert(c == "2001" || c == "2000")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
2
|
|
@ -2,6 +2,6 @@ import scala.reflect.runtime.universe._
|
|||
import scala.reflect.runtime.{currentMirror => cm}
|
||||
|
||||
object Test extends App {
|
||||
val plus = typeOf[java.lang.String].member(TermName("$plus")).asMethod
|
||||
println(cm.reflect("").reflectMethod(plus).apply("2"))
|
||||
}
|
||||
val plusMethod = typeOf[java.lang.String].member(TermName("$plus")).asMethod
|
||||
assert(cm.reflect("").reflectMethod(plusMethod).apply("2") == "2")
|
||||
}
|
||||
|
|
|
@ -176,4 +176,35 @@ class RegexTest {
|
|||
assertEquals("aaaaa", aes)
|
||||
}
|
||||
}
|
||||
|
||||
@Test def replacementMatching(): Unit = {
|
||||
val regex = """\$\{(.+?)\}""".r
|
||||
val replaced = regex.replaceAllIn("Replacing: ${main}. And another method: ${foo}.",
|
||||
(m: util.matching.Regex.Match) => {
|
||||
val identifier = m.group(1)
|
||||
identifier
|
||||
})
|
||||
assertEquals("Replacing: main. And another method: foo.", replaced)
|
||||
|
||||
val regex3 = """\$\{(.+?)\}""".r
|
||||
val replaced3 = regex3.replaceSomeIn("Replacing: ${main}. And another: ${foo}.", (m: util.matching.Regex.Match) => {
|
||||
val id = m.group(1)
|
||||
if (id.startsWith("m")) Some(id) else None
|
||||
})
|
||||
assertEquals("Replacing: main. And another: ${foo}.", replaced3)
|
||||
}
|
||||
|
||||
@Test def groupsMatching(): Unit = {
|
||||
val Date = """(\d+)/(\d+)/(\d+)""".r
|
||||
for (Regex.Groups(a, b, c) <- Date findFirstMatchIn "1/1/2001 marks the start of the millennium. 31/12/2000 doesn't.") {
|
||||
assertEquals("1", a)
|
||||
assertEquals("1", b)
|
||||
assertEquals("2001", c)
|
||||
}
|
||||
for (Regex.Groups(a, b, c) <- Date.findAllIn("1/1/2001 marks the start of the millennium. 31/12/2000 doesn't.").matchData) {
|
||||
assert(a == "1" || a == "31")
|
||||
assert(b == "1" || b == "12")
|
||||
assert(c == "2001" || c == "2000")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue