summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiles Sabin <miles@milessabin.com>2009-02-03 17:34:15 +0000
committerMiles Sabin <miles@milessabin.com>2009-02-03 17:34:15 +0000
commitb2e6ac77472114ee59598ce6c2ef6416db6130bd (patch)
tree8a203a9c5d956e61659da8024bf18510319f7a1b
parent3f70dea914b62447e5280d68cf83b1eb6dbbb22b (diff)
downloadscala-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.scala2
-rw-r--r--test/files/run/jtptest.check7
-rw-r--r--test/files/run/jtptest.scala17
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)))
+ }
+}