You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by rw...@apache.org on 2017/12/12 17:09:36 UTC
svn commit: r1817937 - in /pivot/trunk/core:
src/org/apache/pivot/util/Version.java
test/org/apache/pivot/util/test/VersionTest.java
Author: rwhitcomb
Date: Tue Dec 12 17:09:36 2017
New Revision: 1817937
URL: http://svn.apache.org/viewvc?rev=1817937&view=rev
Log:
PIVOT-1016: Add more another likely to fail tests of Version parsing
taken from the JEP-223 full discussion to make sure we will safely
parse these variants.
So, had to make some parsing changes in "Version.decode()" for these
new variants to work (or at least to parse successfully).
Modified:
pivot/trunk/core/src/org/apache/pivot/util/Version.java
pivot/trunk/core/test/org/apache/pivot/util/test/VersionTest.java
Modified: pivot/trunk/core/src/org/apache/pivot/util/Version.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/util/Version.java?rev=1817937&r1=1817936&r2=1817937&view=diff
==============================================================================
--- pivot/trunk/core/src/org/apache/pivot/util/Version.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/util/Version.java Tue Dec 12 17:09:36 2017
@@ -116,18 +116,13 @@ public class Version implements Comparab
String revision;
// Some "version" strings separate fields with a space
// While Java 9 uses a new scheme where "build" uses a "+"
- int i = string.indexOf(" ");
- if (i == -1) {
- i = string.indexOf("-");
- }
- if (i == -1) {
- i = string.indexOf("+");
- }
- if (i == -1) {
+ String parts[] = string.split("[ +\\-]");
+ if (parts.length == 1) {
revision = string;
} else {
- revision = string.substring(0, i);
- build = string.substring(i + 1);
+ int len = parts[0].length();
+ revision = string.substring(0, len);
+ build = string.substring(len + 1);
}
String[] revisionNumbers = revision.split("\\.");
Modified: pivot/trunk/core/test/org/apache/pivot/util/test/VersionTest.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/test/org/apache/pivot/util/test/VersionTest.java?rev=1817937&r1=1817936&r2=1817937&view=diff
==============================================================================
--- pivot/trunk/core/test/org/apache/pivot/util/test/VersionTest.java (original)
+++ pivot/trunk/core/test/org/apache/pivot/util/test/VersionTest.java Tue Dec 12 17:09:36 2017
@@ -117,5 +117,18 @@ public class VersionTest {
String formattedJavaVersion = javaVersion.toString();
System.out.format("Java Runtime version (parsed and formatted): %1$s, raw: %2$s%n", formattedJavaVersion, sysJavaVersion);
assertEquals("Java Runtime version", sysJavaVersion, formattedJavaVersion);
+
+ String newJava9Version = "9-ea+19";
+ Version newJava9 = Version.decode(newJava9Version);
+ String newJava9Formatted = newJava9.toString();
+ System.out.format("Potential new Java version: %1$s, parsed and formatted: %2$s%n", newJava9Version, newJava9Formatted);
+ assertEquals(newJava9Formatted, "9.0.0_00-ea+19");
+
+ String newJava10Version = "10+-ea";
+ Version newJava10 = Version.decode(newJava10Version);
+ String newJava10Formatted = newJava10.toString();
+ System.out.format("Potential new Java 10 version: %1$s, parsed and formatted: %2$s%n", newJava10Version, newJava10Formatted);
+ assertEquals(newJava10Formatted, "10.0.0_00--ea");
+
}
}