summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2016-07-15 19:52:57 -0700
committerSom Snytt <som.snytt@gmail.com>2016-07-15 19:56:33 -0700
commit9ac26c4626f906f4b561ec1fe9c308a0cf905608 (patch)
tree7d5ad0d4df86e3f92047d2c2d28babca4a395be7
parent72076e59257da72f962d4101d87ff5507da28e4f (diff)
downloadscala-9ac26c4626f906f4b561ec1fe9c308a0cf905608.tar.gz
scala-9ac26c4626f906f4b561ec1fe9c308a0cf905608.tar.bz2
scala-9ac26c4626f906f4b561ec1fe9c308a0cf905608.zip
SI-9750 Tweak tests for what is a number
Leaves the error string as is, but adds test to show how it looks. Java calls it a version number. `Not a version: 1.9`. Don't strip `1.` prefix recursively. (That was Snytt's fault.)
-rw-r--r--src/library/scala/util/Properties.scala2
-rw-r--r--test/junit/scala/util/SpecVersionTest.scala25
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))
}
}