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));
}
}