You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by an...@apache.org on 2013/01/23 05:08:36 UTC

svn commit: r1437268 - in /ant/core/trunk: CONTRIBUTORS WHATSNEW contributors.xml src/main/org/apache/tools/ant/util/Base64Converter.java src/tests/junit/org/apache/tools/ant/util/Base64ConverterTest.java

Author: antoine
Date: Wed Jan 23 04:08:36 2013
New Revision: 1437268

URL: http://svn.apache.org/viewvc?rev=1437268&view=rev
Log:
Base64Converter not properly handling bytes with MSB set (not masking byte to int conversion). PR 54460

Added:
    ant/core/trunk/src/tests/junit/org/apache/tools/ant/util/Base64ConverterTest.java
      - copied, changed from r1436599, ant/core/trunk/src/tests/junit/org/apache/tools/ant/util/DateUtilsTest.java
Modified:
    ant/core/trunk/CONTRIBUTORS
    ant/core/trunk/WHATSNEW
    ant/core/trunk/contributors.xml
    ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java

Modified: ant/core/trunk/CONTRIBUTORS
URL: http://svn.apache.org/viewvc/ant/core/trunk/CONTRIBUTORS?rev=1437268&r1=1437267&r2=1437268&view=diff
==============================================================================
--- ant/core/trunk/CONTRIBUTORS (original)
+++ ant/core/trunk/CONTRIBUTORS Wed Jan 23 04:08:36 2013
@@ -57,6 +57,7 @@ Christopher Charlier
 Clark Archer
 Clemens Hammacher
 Clement OUDOT
+Clive Brettingham-Moore
 Conor MacNeill
 Craeg Strong
 Craig Cottingham

Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=1437268&r1=1437267&r2=1437268&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Wed Jan 23 04:08:36 2013
@@ -72,6 +72,9 @@ Fixed bugs:
  * Depend task does not handle invokeDynamic constant pool entries - java.lang.ClassFormatError: Invalid Constant Pool entry Type 18
    Bugzilla Report 54090
 
+ * Base64Converter not properly handling bytes with MSB set (not masking byte to int conversion)
+   Bugzilla Report 54460
+
 Other changes:
 --------------
 

Modified: ant/core/trunk/contributors.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/contributors.xml?rev=1437268&r1=1437267&r2=1437268&view=diff
==============================================================================
--- ant/core/trunk/contributors.xml (original)
+++ ant/core/trunk/contributors.xml Wed Jan 23 04:08:36 2013
@@ -251,6 +251,10 @@
     <last>OUDOT</last>
   </name>
   <name>
+    <first>Clive</first>
+    <last>Brettingham-Moore</last>
+  </name>
+  <name>
     <first>Conor</first>
     <last>MacNeill</last>
   </name>

Modified: ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java?rev=1437268&r1=1437267&r2=1437268&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java Wed Jan 23 04:08:36 2013
@@ -83,7 +83,7 @@ public class Base64Converter {
             // store the octets
             bits24 = (octetString[i++] & BYTE_MASK) << WORD;
             bits24 |= (octetString[i++] & BYTE_MASK) << BYTE;
-            bits24 |= octetString[i++];
+            bits24 |= octetString[i++] & BYTE_MASK;
 
             bits6 = (bits24 & POS_3_MASK) >> POS_3_SHIFT;
             out[outIndex++] = ALPHABET[bits6];

Copied: ant/core/trunk/src/tests/junit/org/apache/tools/ant/util/Base64ConverterTest.java (from r1436599, ant/core/trunk/src/tests/junit/org/apache/tools/ant/util/DateUtilsTest.java)
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/util/Base64ConverterTest.java?p2=ant/core/trunk/src/tests/junit/org/apache/tools/ant/util/Base64ConverterTest.java&p1=ant/core/trunk/src/tests/junit/org/apache/tools/ant/util/DateUtilsTest.java&r1=1436599&r2=1437268&rev=1437268&view=diff
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/util/DateUtilsTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/util/Base64ConverterTest.java Wed Jan 23 04:08:36 2013
@@ -17,83 +17,28 @@
  */
 package org.apache.tools.ant.util;
 
+import junit.framework.TestCase;
+
 import java.util.Calendar;
 import java.util.TimeZone;
 
-import junit.framework.TestCase;
-
 /**
- * TestCase for DateUtils.
+ * TestCase for Base64Converter.
  *
  */
-public class DateUtilsTest extends TestCase {
-    public DateUtilsTest(String s) {
+public class Base64ConverterTest extends TestCase {
+    public Base64ConverterTest(String s) {
         super(s);
     }
-
-    public void testElapsedTime(){
-        String text = DateUtils.formatElapsedTime(50*1000);
-        assertEquals("50 seconds", text);
-        text = DateUtils.formatElapsedTime(65*1000);
-        assertEquals("1 minute 5 seconds", text);
-        text = DateUtils.formatElapsedTime(120*1000);
-        assertEquals("2 minutes 0 seconds", text);
-        text = DateUtils.formatElapsedTime(121*1000);
-        assertEquals("2 minutes 1 second", text);
-    }
-
-    // https://issues.apache.org/bugzilla/show_bug.cgi?id=44659
-    public void testLongElapsedTime(){
-        assertEquals("2926 minutes 13 seconds",
-                     DateUtils.formatElapsedTime(1000 * 175573));
-        assertEquals("153722867280912 minutes 55 seconds",
-                     DateUtils.formatElapsedTime(Long.MAX_VALUE));
-    }
-
-    public void testDateTimeISO(){
-        TimeZone timeZone = TimeZone.getTimeZone("GMT+1");
-        Calendar cal = Calendar.getInstance(timeZone);
-        cal.set(2002,1,23,10,11,12);
-        String text = DateUtils.format(cal.getTime(),
-                DateUtils.ISO8601_DATETIME_PATTERN);
-        assertEquals("2002-02-23T09:11:12", text);
-    }
-
-    public void testDateISO(){
-        TimeZone timeZone = TimeZone.getTimeZone("GMT");
-        Calendar cal = Calendar.getInstance(timeZone);
-        cal.set(2002,1,23);
-        String text = DateUtils.format(cal.getTime(),
-                DateUtils.ISO8601_DATE_PATTERN);
-        assertEquals("2002-02-23", text);
-    }
-
-    public void testTimeISODate(){
-        // make sure that elapsed time in set via date works
-        TimeZone timeZone = TimeZone.getTimeZone("GMT+1");
-        Calendar cal = Calendar.getInstance(timeZone);
-        cal.set(2002,1,23, 21, 11, 12);
-        String text = DateUtils.format(cal.getTime(),
-                DateUtils.ISO8601_TIME_PATTERN);
-        assertEquals("20:11:12", text);
-    }
-
-    public void testTimeISO(){
-        // make sure that elapsed time in ms works
-        long ms = (20*3600 + 11*60 + 12)*1000;
-        String text = DateUtils.format(ms,
-                DateUtils.ISO8601_TIME_PATTERN);
-        assertEquals("20:11:12", text);
+    public void testOneValue() {
+        byte[] mybytes = {0, 0, (byte)0xFF};
+        Base64Converter base64Converter = new Base64Converter();
+        assertEquals("AAD/",base64Converter.encode(mybytes));
     }
 
-    public void testPhaseOfMoon() {
-        TimeZone timeZone = TimeZone.getTimeZone("GMT");
-        Calendar cal = Calendar.getInstance(timeZone);
-        // should be full moon
-        cal.set(2002, 2, 27);
-        assertEquals(4, DateUtils.getPhaseOfMoon(cal));
-        // should be new moon
-        cal.set(2002, 2, 12);
-        assertEquals(0, DateUtils.getPhaseOfMoon(cal));
+    public void testHelloWorld() {
+        byte[] mybytes = "Hello World".getBytes();
+        Base64Converter base64Converter = new Base64Converter();
+        assertEquals("SGVsbG8gV29ybGQ=", base64Converter.encode(mybytes));
     }
 }