summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2016-07-15 21:47:53 -0700
committerSom Snytt <som.snytt@gmail.com>2016-07-15 21:47:53 -0700
commit656162bb48fbbd703790a2c94d4563e40ddfdfc2 (patch)
treeab0b3cb910da1f3e55e4a47c1026d4f67effc035
parent9ac26c4626f906f4b561ec1fe9c308a0cf905608 (diff)
downloadscala-656162bb48fbbd703790a2c94d4563e40ddfdfc2.tar.gz
scala-656162bb48fbbd703790a2c94d4563e40ddfdfc2.tar.bz2
scala-656162bb48fbbd703790a2c94d4563e40ddfdfc2.zip
SI-9750 isJavaAtLeast(Int)
A good opportunity to simplify the API. Versions are strings, but a spec version is just a number.
-rw-r--r--src/library/scala/util/Properties.scala2
-rw-r--r--test/junit/scala/util/SpecVersionTest.scala9
2 files changed, 9 insertions, 2 deletions
diff --git a/src/library/scala/util/Properties.scala b/src/library/scala/util/Properties.scala
index fb28132dfe..1bdf50bac2 100644
--- a/src/library/scala/util/Properties.scala
+++ b/src/library/scala/util/Properties.scala
@@ -195,6 +195,8 @@ private[scala] trait PropertiesTrait {
versionOf(javaSpecVersion) >= v
}
+ def isJavaAtLeast(version: Int): Boolean = isJavaAtLeast(version.toString)
+
// provide a main method so version info can be obtained by running this
def main(args: Array[String]) {
val writer = new PrintWriter(Console.err, true)
diff --git a/test/junit/scala/util/SpecVersionTest.scala b/test/junit/scala/util/SpecVersionTest.scala
index 4c16ff08fb..9232c4721b 100644
--- a/test/junit/scala/util/SpecVersionTest.scala
+++ b/test/junit/scala/util/SpecVersionTest.scala
@@ -23,33 +23,38 @@ class SpecVersionTest {
// override because of vals like releaseVersion
override lazy val scalaProps = new java.util.Properties
}
- val sut7 = new TestProperties("1.7")
- val sut9 = new TestProperties("9")
@Test
def comparesJDK9Correctly(): Unit = {
+ val sut9 = new TestProperties("9")
assert(sut9 isJavaAtLeast "1")
assert(sut9 isJavaAtLeast "1.5")
assert(sut9 isJavaAtLeast "5")
assert(sut9 isJavaAtLeast "1.8")
assert(sut9 isJavaAtLeast "8")
assert(sut9 isJavaAtLeast "9")
+ assert(sut9.isJavaAtLeast(9))
}
// SI-7265
@Test
def comparesCorrectly(): Unit = {
+ val sut7 = new TestProperties("1.7")
assert(sut7 isJavaAtLeast "1")
assert(sut7 isJavaAtLeast "1.5")
assert(sut7 isJavaAtLeast "5")
assert(sut7 isJavaAtLeast "1.6")
assert(sut7 isJavaAtLeast "1.7")
+ assert(sut7.isJavaAtLeast(7))
+ assertFalse(sut7.isJavaAtLeast(9))
assertFalse(sut7 isJavaAtLeast "1.8")
assertFalse(sut7 isJavaAtLeast "9")
assertFalse(sut7 isJavaAtLeast "10")
}
@Test def variousBadVersionStrings(): Unit = {
+ val sut7 = new TestProperties("1.7")
+ val sut9 = new TestProperties("9")
assertThrows[NumberFormatException](sut7.isJavaAtLeast("1.9"), _ == "Not a version: 1.9")
assertThrows[NumberFormatException] { sut9 isJavaAtLeast "1.9" }
assertThrows[NumberFormatException] { sut7 isJavaAtLeast "9.1" }