blob: 4c16ff08fbe0969e46cd840c6d5c04ad52484243 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
package scala.util
import org.junit.Assert._
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import scala.tools.testing.AssertUtil._
/** The java version property uses the spec version
* and must work for legacy "major.minor" and plain version_number,
* and fail otherwise.
*/
@RunWith(classOf[JUnit4])
class SpecVersionTest {
class TestProperties(versionAt: String) extends PropertiesTrait {
override def javaSpecVersion = versionAt
override protected def pickJarBasedOn: Class[_] = ???
override protected def propCategory: String = "test"
// 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 = {
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")
}
// SI-7265
@Test
def comparesCorrectly(): Unit = {
assert(sut7 isJavaAtLeast "1")
assert(sut7 isJavaAtLeast "1.5")
assert(sut7 isJavaAtLeast "5")
assert(sut7 isJavaAtLeast "1.6")
assert(sut7 isJavaAtLeast "1.7")
assertFalse(sut7 isJavaAtLeast "1.8")
assertFalse(sut7 isJavaAtLeast "9")
assertFalse(sut7 isJavaAtLeast "10")
}
@Test def variousBadVersionStrings(): Unit = {
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" }
val badvs = List("1.1.8", "1.", "1.a", "", ".", ".5", "1.7.1")
for (v <- badvs) assertThrows[NumberFormatException](sut7.isJavaAtLeast(v))
}
}
|