diff options
-rw-r--r-- | src/library/scala/util/Properties.scala | 2 | ||||
-rw-r--r-- | test/junit/scala/util/SpecVersionTest.scala | 25 |
2 files changed, 5 insertions, 22 deletions
diff --git a/src/library/scala/util/Properties.scala b/src/library/scala/util/Properties.scala index 6995f452fa..fb28132dfe 100644 --- a/src/library/scala/util/Properties.scala +++ b/src/library/scala/util/Properties.scala @@ -185,7 +185,7 @@ private[scala] trait PropertiesTrait { def isJavaAtLeast(version: String): Boolean = { def versionOf(s: String): Int = s.indexOf('.') match { case 1 if s.charAt(0) == '1' => - val v = versionOf(s.substring(2)) + val v = s.substring(2).toInt if (v < 9) v else -1 case -1 => s.toInt case _ => -1 diff --git a/test/junit/scala/util/SpecVersionTest.scala b/test/junit/scala/util/SpecVersionTest.scala index 2b69f288fa..4c16ff08fb 100644 --- a/test/junit/scala/util/SpecVersionTest.scala +++ b/test/junit/scala/util/SpecVersionTest.scala @@ -50,30 +50,13 @@ class SpecVersionTest { } @Test def variousBadVersionStrings(): Unit = { - assertThrows[NumberFormatException] { sut7 isJavaAtLeast "1.9" } + assertThrows[NumberFormatException](sut7.isJavaAtLeast("1.9"), _ == "Not a version: 1.9") assertThrows[NumberFormatException] { sut9 isJavaAtLeast "1.9" } assertThrows[NumberFormatException] { sut7 isJavaAtLeast "9.1" } assertThrows[NumberFormatException] { sut9 isJavaAtLeast "9.1" } - } - @Test(expected = classOf[NumberFormatException]) - def badVersion(): Unit = { - sut7 isJavaAtLeast "1.a" - } - @Test(expected = classOf[NumberFormatException]) - def noVersion(): Unit = { - sut7 isJavaAtLeast "" - } - @Test(expected = classOf[NumberFormatException]) - def dotOnly(): Unit = { - sut7 isJavaAtLeast "." - } - @Test(expected = classOf[NumberFormatException]) - def leadingDot(): Unit = { - sut7 isJavaAtLeast ".5" - } - @Test(expected = classOf[NumberFormatException]) - def notASpec(): Unit = { - sut7 isJavaAtLeast "1.7.1" + val badvs = List("1.1.8", "1.", "1.a", "", ".", ".5", "1.7.1") + + for (v <- badvs) assertThrows[NumberFormatException](sut7.isJavaAtLeast(v)) } } |