summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
authorDaniel C. Sobral <dcsobral@gmail.com>2011-11-15 23:08:16 -0200
committerPaul Phillips <paulp@improving.org>2011-12-02 14:15:35 -0800
commit1b37a0b4f21834fb1d181f2b50da1728e49cf467 (patch)
treee63c4fae8d22e378f00b35259f1ae03eca7dc0c2 /test/files/run
parent8be1cfc777352a2e65344ebc1413dd9398379081 (diff)
downloadscala-1b37a0b4f21834fb1d181f2b50da1728e49cf467.tar.gz
scala-1b37a0b4f21834fb1d181f2b50da1728e49cf467.tar.bz2
scala-1b37a0b4f21834fb1d181f2b50da1728e49cf467.zip
Add withErrorMessage/withFailureMessage to Parser.
Can be used to reliably override the default no success messages.
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/parserNoSuccessMessage.check20
-rw-r--r--test/files/run/parserNoSuccessMessage.scala19
2 files changed, 39 insertions, 0 deletions
diff --git a/test/files/run/parserNoSuccessMessage.check b/test/files/run/parserNoSuccessMessage.check
new file mode 100644
index 0000000000..fe00d2fd3a
--- /dev/null
+++ b/test/files/run/parserNoSuccessMessage.check
@@ -0,0 +1,20 @@
+[1.2] failure: string matching regex `\d+' expected but `x' found
+
+-x
+ ^
+[1.1] failure: string matching regex `\d+' expected but `x' found
+
+x
+^
+[1.3] parsed: (Some(-)~5)
+[1.2] parsed: (None~5)
+[1.2] error: Number expected!
+
+-x
+ ^
+[1.1] error: Number expected!
+
+x
+^
+[1.3] parsed: (Some(-)~5)
+[1.2] parsed: (None~5)
diff --git a/test/files/run/parserNoSuccessMessage.scala b/test/files/run/parserNoSuccessMessage.scala
new file mode 100644
index 0000000000..93aa252db0
--- /dev/null
+++ b/test/files/run/parserNoSuccessMessage.scala
@@ -0,0 +1,19 @@
+object Test extends scala.util.parsing.combinator.RegexParsers {
+ def sign = "-"
+ def number = "\\d+".r
+ def p = sign.? ~ number withErrorMessage "Number expected!"
+ def q = sign.? ~! number withErrorMessage "Number expected!"
+
+ def main(args: Array[String]) {
+ println(parseAll(p, "-x"))
+ println(parseAll(p, "x"))
+ println(parseAll(p, "-5"))
+ println(parseAll(p, "5"))
+ println(parseAll(q, "-x"))
+ println(parseAll(q, "x"))
+ println(parseAll(q, "-5"))
+ println(parseAll(q, "5"))
+ }
+}
+
+