Revision: 3546
Author: [email protected]
Date: Fri May 21 08:31:49 2010
Log: Changing the Architect preview release number to 1.0.0-preview-02. The 02 at the end is padded because currently, the ArchitectVersion class does not parse the version suffix properly when there are numbers. For example, 1.0.0-preview-9 should come before, not after, 1.0.0-preview-10. The regular expression it uses to match the suffix needs to be changed to fix this bug.

A new assertion to ArchitectVersionTest has been added to check for this case (and will fail until we fix this issue).
http://code.google.com/p/power-architect/source/detail?r=3546

Modified:
 /trunk/regress/ca/sqlpower/architect/ArchitectVersionTest.java
 /trunk/src/main/java/ca/sqlpower/architect/ArchitectVersion.java

=======================================
--- /trunk/regress/ca/sqlpower/architect/ArchitectVersionTest.java Fri Jul 4 09:17:19 2008 +++ /trunk/regress/ca/sqlpower/architect/ArchitectVersionTest.java Fri May 21 08:31:49 2010
@@ -26,7 +26,7 @@
     private ArchitectVersion version;

     public void testParseWithSuffix() {
-        version = new ArchitectVersion("1.2.3.4-alpha");
+        version = new ArchitectVersion("1.2.3.4-alpha-2");

         assertEquals(5, version.getParts().length);

@@ -34,7 +34,7 @@
         assertEquals(2, version.getParts()[1]);
         assertEquals(3, version.getParts()[2]);
         assertEquals(4, version.getParts()[3]);
-        assertEquals("-alpha", version.getParts()[4]);
+        assertEquals("-alpha-2", version.getParts()[4]);
     }

     public void testParseWithoutSuffix() {
@@ -62,11 +62,15 @@
         ArchitectVersion older = new ArchitectVersion("1.2.3-cow");
         ArchitectVersion olderToo = new ArchitectVersion("1.2.3-cow");
         ArchitectVersion newer = new ArchitectVersion("1.2.3-moo");
+ ArchitectVersion singleDigitSuffix = new ArchitectVersion("1.2.3-cow-2"); + ArchitectVersion doubleDigitSuffix = new ArchitectVersion("1.2.3-cow-12");

         assertTrue(older.compareTo(olderToo) == 0);
         assertTrue(older.compareTo(newer) < 0);
         assertTrue(newer.compareTo(older) > 0);
         assertTrue(ancient.compareTo(older) < 0);
+        assertTrue(singleDigitSuffix.compareTo(doubleDigitSuffix) < 0);
+        assertTrue(doubleDigitSuffix.compareTo(singleDigitSuffix) > 0);
     }

     public void testCompareFullNoSuffixes() {
=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/ArchitectVersion.java Mon May 10 14:16:05 2010 +++ /trunk/src/main/java/ca/sqlpower/architect/ArchitectVersion.java Fri May 21 08:31:49 2010
@@ -66,7 +66,7 @@
* Full releases do not have a suffix. In that case, the suffix is the empty
      * string (not null).
      */
-    public static final String APP_VERSION_SUFFIX = "preview";
+    public static final String APP_VERSION_SUFFIX = "preview-02";

     /**
      * The normal readable version number, formatted as Major.Minor.Tiny.

Reply via email to