diff options
author | Miles Sabin <miles@milessabin.com> | 2009-02-03 17:34:15 +0000 |
---|---|---|
committer | Miles Sabin <miles@milessabin.com> | 2009-02-03 17:34:15 +0000 |
commit | b2e6ac77472114ee59598ce6c2ef6416db6130bd (patch) | |
tree | 8a203a9c5d956e61659da8024bf18510319f7a1b | |
parent | 3f70dea914b62447e5280d68cf83b1eb6dbbb22b (diff) | |
download | scala-b2e6ac77472114ee59598ce6c2ef6416db6130bd.tar.gz scala-b2e6ac77472114ee59598ce6c2ef6416db6130bd.tar.bz2 scala-b2e6ac77472114ee59598ce6c2ef6416db6130bd.zip |
Fix and test for #1689.
-rw-r--r-- | src/library/scala/util/parsing/combinator/JavaTokenParsers.scala | 2 | ||||
-rw-r--r-- | test/files/run/jtptest.check | 7 | ||||
-rw-r--r-- | test/files/run/jtptest.scala | 17 |
3 files changed, 25 insertions, 1 deletions
diff --git a/src/library/scala/util/parsing/combinator/JavaTokenParsers.scala b/src/library/scala/util/parsing/combinator/JavaTokenParsers.scala index 2774cc8cea..8070cb110e 100644 --- a/src/library/scala/util/parsing/combinator/JavaTokenParsers.scala +++ b/src/library/scala/util/parsing/combinator/JavaTokenParsers.scala @@ -16,7 +16,7 @@ trait JavaTokenParsers extends RegexParsers { def wholeNumber: Parser[String] = """-?\d+""".r def decimalNumber: Parser[String] = - """(\d+(\.\d*)?|\d*.\d+)""".r + """(\d+(\.\d*)?|\d*\.\d+)""".r def stringLiteral: Parser[String] = ("\""+"""([^"\p{Cntrl}\\]|\\[\\/bfnrt]|\\u[a-fA-F0-9]{4})*"""+"\"").r def floatingPointNumber: Parser[String] = diff --git a/test/files/run/jtptest.check b/test/files/run/jtptest.check new file mode 100644 index 0000000000..95dbd28437 --- /dev/null +++ b/test/files/run/jtptest.check @@ -0,0 +1,7 @@ +[1.4] parsed: 1.1 +[1.3] parsed: 1. +[1.3] parsed: .1 +[1.1] failure: string matching regex `(\d+(\.\d*)?|\d*\.\d+)' expected but `!' found + +!1 +^ diff --git a/test/files/run/jtptest.scala b/test/files/run/jtptest.scala new file mode 100644 index 0000000000..4d0eef9153 --- /dev/null +++ b/test/files/run/jtptest.scala @@ -0,0 +1,17 @@ + +import scala.util.parsing.combinator.JavaTokenParsers +import scala.util.parsing.input.CharArrayReader + +object TestJavaTokenParsers extends JavaTokenParsers { +} + +object Test { + import TestJavaTokenParsers._ + + def main(args : Array[String]) { + println(decimalNumber(new CharArrayReader("1.1".toCharArray))) + println(decimalNumber(new CharArrayReader("1.".toCharArray))) + println(decimalNumber(new CharArrayReader(".1".toCharArray))) + println(decimalNumber(new CharArrayReader("!1".toCharArray))) + } +} |