From 1b37a0b4f21834fb1d181f2b50da1728e49cf467 Mon Sep 17 00:00:00 2001 From: "Daniel C. Sobral" Date: Tue, 15 Nov 2011 23:08:16 -0200 Subject: Add withErrorMessage/withFailureMessage to Parser. Can be used to reliably override the default no success messages. --- test/files/run/parserNoSuccessMessage.check | 20 ++++++++++++++++++++ test/files/run/parserNoSuccessMessage.scala | 19 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 test/files/run/parserNoSuccessMessage.check create mode 100644 test/files/run/parserNoSuccessMessage.scala (limited to 'test/files/run') 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")) + } +} + + -- cgit v1.2.3