You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Benedikt Ritter <br...@apache.org> on 2015/04/07 08:29:51 UTC
Re: svn commit: r1671734 - in /commons/proper/lang/trunk/src:
changes/ main/java/org/apache/commons/lang3/time/ test/java/org/apache/commons/lang3/reflect/
test/java/org/apache/commons/lang3/time/
Hello Charles,
looks like things got missed up. The Log messages takes about LANG-1109,
but LANG-1107 was added to changes.xml.
Furthermore there is a change in FieldUtilsTest. How does this relate to
either of the issues?
Regards,
Benedikt
2015-04-07 4:40 GMT+02:00 <ch...@apache.org>:
> Author: chas
> Date: Tue Apr 7 02:40:49 2015
> New Revision: 1671734
>
> URL: http://svn.apache.org/r1671734
> Log:
> LANG-1109 - Number percentage formatting with fractional digits
>
> Modified:
> commons/proper/lang/trunk/src/changes/changes.xml
>
> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
>
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java
>
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java
>
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
>
> Modified: commons/proper/lang/trunk/src/changes/changes.xml
> URL:
> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/changes/changes.xml?rev=1671734&r1=1671733&r2=1671734&view=diff
>
> ==============================================================================
> --- commons/proper/lang/trunk/src/changes/changes.xml [utf-8] (original)
> +++ commons/proper/lang/trunk/src/changes/changes.xml [utf-8] Tue Apr 7
> 02:40:49 2015
> @@ -22,7 +22,7 @@
> <body>
>
> <release version="3.5" date="tba" description="tba">
> -
> + <action issue="LANG-1107" type="update" dev="chas">Fix parsing edge
> cases in FastDateParser</action>
> </release>
>
> <release version="3.4" date="2014-04-06" description="Feature and
> bugfix release">
>
> Modified:
> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java?rev=1671734&r1=1671733&r2=1671734&view=diff
>
> ==============================================================================
> ---
> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
> (original)
> +++
> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
> Tue Apr 7 02:40:49 2015
> @@ -744,9 +744,13 @@ public class FastDateParser implements D
> /**
> * A strategy that handles a timezone field in the parsing pattern
> */
> - private static class TimeZoneStrategy extends Strategy {
> -
> - private final String validTimeZoneChars;
> + static class TimeZoneStrategy extends Strategy {
> + private static final String RFC_822_TIME_ZONE = "[+-]\\d{4}";
> + private static final String GMT_OPTION= "GMT[+-]\\d{1,2}:\\d{2}";
> + // see http://www.iana.org/time-zones and
> http://cldr.unicode.org/translation/timezones
> + static final String TZ_DATABASE=
> "(?:\\p{L}[\\p{L}\\p{Mc}\\p{Nd}\\p{Zs}\\p{P}&&[^-]]*-?\\p{Zs}?)*";
> + private static final String VALID_TZ =
> "((?iu)"+RFC_822_TIME_ZONE+"|"+GMT_OPTION+"|"+TZ_DATABASE+")";
> +
> private final SortedMap<String, TimeZone> tzNames= new
> TreeMap<String, TimeZone>(String.CASE_INSENSITIVE_ORDER);
>
> /**
> @@ -777,9 +781,6 @@ public class FastDateParser implements D
> TimeZoneStrategy(final Locale locale) {
> final String[][] zones =
> DateFormatSymbols.getInstance(locale).getZoneStrings();
> for (final String[] zone : zones) {
> - if (zone[ID].startsWith("GMT")) {
> - continue;
> - }
> final TimeZone tz = TimeZone.getTimeZone(zone[ID]);
> if (!tzNames.containsKey(zone[LONG_STD])){
> tzNames.put(zone[LONG_STD], tz);
> @@ -795,16 +796,7 @@ public class FastDateParser implements D
> tzNames.put(zone[SHORT_DST], tz);
> }
> }
> - }
> -
> - final StringBuilder sb= new StringBuilder();
> - sb.append("(GMT[+-]\\d{1,2}:\\d{2}").append('|');
> - sb.append("[+-]\\d{4}").append('|');
> - for(final String id : tzNames.keySet()) {
> - escapeRegex(sb, id, false).append('|');
> - }
> - sb.setCharAt(sb.length()-1, ')');
> - validTimeZoneChars= sb.toString();
> + }
> }
>
> /**
> @@ -812,7 +804,7 @@ public class FastDateParser implements D
> */
> @Override
> boolean addRegex(final FastDateParser parser, final StringBuilder
> regex) {
> - regex.append(validTimeZoneChars);
> + regex.append(VALID_TZ);
> return true;
> }
>
> @@ -825,8 +817,8 @@ public class FastDateParser implements D
> if(value.charAt(0)=='+' || value.charAt(0)=='-') {
> tz= TimeZone.getTimeZone("GMT"+value);
> }
> - else if(value.startsWith("GMT")) {
> - tz= TimeZone.getTimeZone(value);
> + else if(value.regionMatches(true, 0, "GMT", 0, 3)) {
> + tz= TimeZone.getTimeZone(value.toUpperCase());
> }
> else {
> tz= tzNames.get(value);
>
> Modified:
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java?rev=1671734&r1=1671733&r2=1671734&view=diff
>
> ==============================================================================
> ---
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java
> (original)
> +++
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java
> Tue Apr 7 02:40:49 2015
> @@ -24,8 +24,8 @@ import org.junit.Test;
> import java.lang.reflect.Constructor;
> import java.lang.reflect.Field;
> import java.lang.reflect.Modifier;
> -import java.util.ArrayList;
> import java.util.Arrays;
> +import java.util.Collections;
> import java.util.List;
>
> import static org.junit.Assert.*;
> @@ -146,26 +146,36 @@ public class FieldUtilsTest {
> FieldUtils.getField(PublicChild.class, " ", true);
> }
>
> + private Field[] allPublicChildFields() {
> + Class<? super PublicChild> parentClass =
> PublicChild.class.getSuperclass();
> + final Field[] fieldsParent =
> parentClass.getDeclaredFields();
> + assertArrayEquals(fieldsParent,
> FieldUtils.getAllFields(parentClass));
> +
> + final Field[] fieldsPublicChild =
> PublicChild.class.getDeclaredFields();
> + return ArrayUtils.addAll(fieldsPublicChild, fieldsParent);
> + }
> +
> + private Field[] allIntegerFields() {
> + final Field[] fieldsNumber = Number.class.getDeclaredFields();
> + assertArrayEquals(Number.class.getDeclaredFields(),
> FieldUtils.getAllFields(Number.class));
> + final Field[] fieldsInteger = Integer.class.getDeclaredFields();
> + return ArrayUtils.addAll(fieldsInteger, fieldsNumber);
> + }
> +
> @Test
> public void testGetAllFields() {
> assertArrayEquals(new Field[0],
> FieldUtils.getAllFields(Object.class));
> - final Field[] fieldsNumber = Number.class.getDeclaredFields();
> - assertArrayEquals(fieldsNumber,
> FieldUtils.getAllFields(Number.class));
> - final Field[] fieldsInteger = Integer.class.getDeclaredFields();
> - assertArrayEquals(ArrayUtils.addAll(fieldsInteger, fieldsNumber),
> FieldUtils.getAllFields(Integer.class));
> - assertEquals(5,
> FieldUtils.getAllFields(PublicChild.class).length);
> + assertArrayEquals(allIntegerFields(),
> FieldUtils.getAllFields(Integer.class));
> +
> + assertArrayEquals(allPublicChildFields(),
> FieldUtils.getAllFields(PublicChild.class));
> }
>
> @Test
> public void testGetAllFieldsList() {
> - assertEquals(0, FieldUtils.getAllFieldsList(Object.class).size());
> - final List<Field> fieldsNumber =
> Arrays.asList(Number.class.getDeclaredFields());
> - assertEquals(fieldsNumber,
> FieldUtils.getAllFieldsList(Number.class));
> - final List<Field> fieldsInteger =
> Arrays.asList(Integer.class.getDeclaredFields());
> - final List<Field> allFieldsInteger = new
> ArrayList<Field>(fieldsInteger);
> - allFieldsInteger.addAll(fieldsNumber);
> - assertEquals(allFieldsInteger,
> FieldUtils.getAllFieldsList(Integer.class));
> - assertEquals(5,
> FieldUtils.getAllFieldsList(PublicChild.class).size());
> + assertEquals(Collections.emptyList(),
> FieldUtils.getAllFieldsList(Object.class));
> + assertEquals(Arrays.asList(allIntegerFields()),
> FieldUtils.getAllFieldsList(Integer.class));
> +
> + assertEquals(Arrays.asList(allPublicChildFields()),
> FieldUtils.getAllFieldsList(PublicChild.class));
> }
>
> @Test
>
> Modified:
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java?rev=1671734&r1=1671733&r2=1671734&view=diff
>
> ==============================================================================
> ---
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java
> (original)
> +++
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java
> Tue Apr 7 02:40:49 2015
> @@ -27,7 +27,6 @@ import java.util.Date;
> import java.util.Locale;
> import java.util.TimeZone;
>
> -import org.junit.Ignore;
> import org.junit.Test;
> import org.junit.runner.RunWith;
> import org.junit.runners.Parameterized;
> @@ -138,13 +137,11 @@ public class FastDateParserSDFTest {
> }
>
> @Test
> - @Ignore // not currently supported
> public void testLowerCase() throws Exception {
> checkParse(input.toLowerCase(locale));
> }
>
> @Test
> - @Ignore // not currently supported
> public void testLowerCasePP() throws Exception {
> checkParsePosition(input.toLowerCase(locale));
> }
>
> Modified:
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java?rev=1671734&r1=1671733&r2=1671734&view=diff
>
> ==============================================================================
> ---
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
> (original)
> +++
> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
> Tue Apr 7 02:40:49 2015
> @@ -21,6 +21,7 @@ import static org.junit.Assert.assertFal
> import static org.junit.Assert.assertTrue;
>
> import java.io.Serializable;
> +import java.text.DateFormatSymbols;
> import java.text.ParseException;
> import java.text.SimpleDateFormat;
> import java.util.Calendar;
> @@ -30,6 +31,7 @@ import java.util.HashMap;
> import java.util.Locale;
> import java.util.Map;
> import java.util.TimeZone;
> +import java.util.regex.Pattern;
>
> import org.apache.commons.lang3.SerializationUtils;
> import org.junit.Assert;
> @@ -260,21 +262,21 @@ public class FastDateParserTest {
> @Test
> public void testTzParses() throws Exception {
> // Check that all Locales can parse the time formats we use
> - for(final Locale locale : Locale.getAvailableLocales()) {
> - final FastDateParser fdp= new FastDateParser("yyyy/MM/dd
> z", TimeZone.getDefault(), locale);
> + for(final Locale locale : Locale.getAvailableLocales()) {
> + final FastDateParser fdp= new FastDateParser("yyyy/MM/dd z",
> TimeZone.getDefault(), locale);
> +
> + for(final TimeZone tz : new TimeZone[]{NEW_YORK, REYKJAVIK,
> GMT}) {
> + final Calendar cal= Calendar.getInstance(tz, locale);
> + cal.clear();
> + cal.set(Calendar.YEAR, 2000);
> + cal.set(Calendar.MONTH, 1);
> + cal.set(Calendar.DAY_OF_MONTH, 10);
> + final Date expected= cal.getTime();
>
> - for(final TimeZone tz : new TimeZone[]{NEW_YORK,
> REYKJAVIK, GMT}) {
> - final Calendar cal= Calendar.getInstance(tz,
> locale);
> - cal.clear();
> - cal.set(Calendar.YEAR, 2000);
> - cal.set(Calendar.MONTH, 1);
> - cal.set(Calendar.DAY_OF_MONTH, 10);
> - final Date expected= cal.getTime();
> -
> - final Date actual = fdp.parse("2000/02/10
> "+tz.getDisplayName(locale));
> - Assert.assertEquals("tz:"+tz.getID()+"
> locale:"+locale.getDisplayName(), expected, actual);
> - }
> - }
> + final Date actual = fdp.parse("2000/02/10
> "+tz.getDisplayName(locale));
> + Assert.assertEquals("tz:"+tz.getID()+"
> locale:"+locale.getDisplayName(), expected, actual);
> + }
> + }
> }
>
>
> @@ -640,4 +642,19 @@ public class FastDateParserTest {
> }
> }
>
> + @Test
> + public void testTimeZoneStrategyPattern() {
> + Pattern tz =
> Pattern.compile(FastDateParser.TimeZoneStrategy.TZ_DATABASE);
> + Assert.assertFalse(tz.matcher("GMT-1234").matches());
> +
> + for (Locale locale : Locale.getAvailableLocales()) {
> + final String[][] zones =
> DateFormatSymbols.getInstance(locale).getZoneStrings();
> + for (final String[] zone : zones) {
> + for (String zoneExpr : zone) {
> + Assert.assertTrue(locale.getDisplayName() + ":" +
> zoneExpr, tz.matcher(zoneExpr).matches());
> + }
> + }
> + }
> + }
> +
> }
>
>
>
--
http://people.apache.org/~britter/
http://www.systemoutprintln.de/
http://twitter.com/BenediktRitter
http://github.com/britter
Re: svn commit: r1671734 - in /commons/proper/lang/trunk/src: changes/ main/java/org/apache/commons/lang3/time/ test/java/org/apache/commons/lang3/reflect/ test/java/org/apache/commons/lang3/time/
Posted by Chas Honton <ch...@honton.org>.
Benedikt,
Expletive, I wasn't being careful. The changes to FieldUtilsTest are to allow test to pass under jacoco coverage.
I will revert, add another JIRA, fix changed.xml, and split into two commits tonight.
Chas
> On Apr 6, 2015, at 11:29 PM, Benedikt Ritter <br...@apache.org> wrote:
>
> Hello Charles,
>
> looks like things got missed up. The Log messages takes about LANG-1109,
> but LANG-1107 was added to changes.xml.
> Furthermore there is a change in FieldUtilsTest. How does this relate to
> either of the issues?
>
> Regards,
> Benedikt
>
> 2015-04-07 4:40 GMT+02:00 <ch...@apache.org>:
>
>> Author: chas
>> Date: Tue Apr 7 02:40:49 2015
>> New Revision: 1671734
>>
>> URL: http://svn.apache.org/r1671734
>> Log:
>> LANG-1109 - Number percentage formatting with fractional digits
>>
>> Modified:
>> commons/proper/lang/trunk/src/changes/changes.xml
>>
>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
>>
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java
>>
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java
>>
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
>>
>> Modified: commons/proper/lang/trunk/src/changes/changes.xml
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/changes/changes.xml?rev=1671734&r1=1671733&r2=1671734&view=diff
>>
>> ==============================================================================
>> --- commons/proper/lang/trunk/src/changes/changes.xml [utf-8] (original)
>> +++ commons/proper/lang/trunk/src/changes/changes.xml [utf-8] Tue Apr 7
>> 02:40:49 2015
>> @@ -22,7 +22,7 @@
>> <body>
>>
>> <release version="3.5" date="tba" description="tba">
>> -
>> + <action issue="LANG-1107" type="update" dev="chas">Fix parsing edge
>> cases in FastDateParser</action>
>> </release>
>>
>> <release version="3.4" date="2014-04-06" description="Feature and
>> bugfix release">
>>
>> Modified:
>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java?rev=1671734&r1=1671733&r2=1671734&view=diff
>>
>> ==============================================================================
>> ---
>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
>> (original)
>> +++
>> commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
>> Tue Apr 7 02:40:49 2015
>> @@ -744,9 +744,13 @@ public class FastDateParser implements D
>> /**
>> * A strategy that handles a timezone field in the parsing pattern
>> */
>> - private static class TimeZoneStrategy extends Strategy {
>> -
>> - private final String validTimeZoneChars;
>> + static class TimeZoneStrategy extends Strategy {
>> + private static final String RFC_822_TIME_ZONE = "[+-]\\d{4}";
>> + private static final String GMT_OPTION= "GMT[+-]\\d{1,2}:\\d{2}";
>> + // see http://www.iana.org/time-zones and
>> http://cldr.unicode.org/translation/timezones
>> + static final String TZ_DATABASE=
>> "(?:\\p{L}[\\p{L}\\p{Mc}\\p{Nd}\\p{Zs}\\p{P}&&[^-]]*-?\\p{Zs}?)*";
>> + private static final String VALID_TZ =
>> "((?iu)"+RFC_822_TIME_ZONE+"|"+GMT_OPTION+"|"+TZ_DATABASE+")";
>> +
>> private final SortedMap<String, TimeZone> tzNames= new
>> TreeMap<String, TimeZone>(String.CASE_INSENSITIVE_ORDER);
>>
>> /**
>> @@ -777,9 +781,6 @@ public class FastDateParser implements D
>> TimeZoneStrategy(final Locale locale) {
>> final String[][] zones =
>> DateFormatSymbols.getInstance(locale).getZoneStrings();
>> for (final String[] zone : zones) {
>> - if (zone[ID].startsWith("GMT")) {
>> - continue;
>> - }
>> final TimeZone tz = TimeZone.getTimeZone(zone[ID]);
>> if (!tzNames.containsKey(zone[LONG_STD])){
>> tzNames.put(zone[LONG_STD], tz);
>> @@ -795,16 +796,7 @@ public class FastDateParser implements D
>> tzNames.put(zone[SHORT_DST], tz);
>> }
>> }
>> - }
>> -
>> - final StringBuilder sb= new StringBuilder();
>> - sb.append("(GMT[+-]\\d{1,2}:\\d{2}").append('|');
>> - sb.append("[+-]\\d{4}").append('|');
>> - for(final String id : tzNames.keySet()) {
>> - escapeRegex(sb, id, false).append('|');
>> - }
>> - sb.setCharAt(sb.length()-1, ')');
>> - validTimeZoneChars= sb.toString();
>> + }
>> }
>>
>> /**
>> @@ -812,7 +804,7 @@ public class FastDateParser implements D
>> */
>> @Override
>> boolean addRegex(final FastDateParser parser, final StringBuilder
>> regex) {
>> - regex.append(validTimeZoneChars);
>> + regex.append(VALID_TZ);
>> return true;
>> }
>>
>> @@ -825,8 +817,8 @@ public class FastDateParser implements D
>> if(value.charAt(0)=='+' || value.charAt(0)=='-') {
>> tz= TimeZone.getTimeZone("GMT"+value);
>> }
>> - else if(value.startsWith("GMT")) {
>> - tz= TimeZone.getTimeZone(value);
>> + else if(value.regionMatches(true, 0, "GMT", 0, 3)) {
>> + tz= TimeZone.getTimeZone(value.toUpperCase());
>> }
>> else {
>> tz= tzNames.get(value);
>>
>> Modified:
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java?rev=1671734&r1=1671733&r2=1671734&view=diff
>>
>> ==============================================================================
>> ---
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java
>> (original)
>> +++
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java
>> Tue Apr 7 02:40:49 2015
>> @@ -24,8 +24,8 @@ import org.junit.Test;
>> import java.lang.reflect.Constructor;
>> import java.lang.reflect.Field;
>> import java.lang.reflect.Modifier;
>> -import java.util.ArrayList;
>> import java.util.Arrays;
>> +import java.util.Collections;
>> import java.util.List;
>>
>> import static org.junit.Assert.*;
>> @@ -146,26 +146,36 @@ public class FieldUtilsTest {
>> FieldUtils.getField(PublicChild.class, " ", true);
>> }
>>
>> + private Field[] allPublicChildFields() {
>> + Class<? super PublicChild> parentClass =
>> PublicChild.class.getSuperclass();
>> + final Field[] fieldsParent =
>> parentClass.getDeclaredFields();
>> + assertArrayEquals(fieldsParent,
>> FieldUtils.getAllFields(parentClass));
>> +
>> + final Field[] fieldsPublicChild =
>> PublicChild.class.getDeclaredFields();
>> + return ArrayUtils.addAll(fieldsPublicChild, fieldsParent);
>> + }
>> +
>> + private Field[] allIntegerFields() {
>> + final Field[] fieldsNumber = Number.class.getDeclaredFields();
>> + assertArrayEquals(Number.class.getDeclaredFields(),
>> FieldUtils.getAllFields(Number.class));
>> + final Field[] fieldsInteger = Integer.class.getDeclaredFields();
>> + return ArrayUtils.addAll(fieldsInteger, fieldsNumber);
>> + }
>> +
>> @Test
>> public void testGetAllFields() {
>> assertArrayEquals(new Field[0],
>> FieldUtils.getAllFields(Object.class));
>> - final Field[] fieldsNumber = Number.class.getDeclaredFields();
>> - assertArrayEquals(fieldsNumber,
>> FieldUtils.getAllFields(Number.class));
>> - final Field[] fieldsInteger = Integer.class.getDeclaredFields();
>> - assertArrayEquals(ArrayUtils.addAll(fieldsInteger, fieldsNumber),
>> FieldUtils.getAllFields(Integer.class));
>> - assertEquals(5,
>> FieldUtils.getAllFields(PublicChild.class).length);
>> + assertArrayEquals(allIntegerFields(),
>> FieldUtils.getAllFields(Integer.class));
>> +
>> + assertArrayEquals(allPublicChildFields(),
>> FieldUtils.getAllFields(PublicChild.class));
>> }
>>
>> @Test
>> public void testGetAllFieldsList() {
>> - assertEquals(0, FieldUtils.getAllFieldsList(Object.class).size());
>> - final List<Field> fieldsNumber =
>> Arrays.asList(Number.class.getDeclaredFields());
>> - assertEquals(fieldsNumber,
>> FieldUtils.getAllFieldsList(Number.class));
>> - final List<Field> fieldsInteger =
>> Arrays.asList(Integer.class.getDeclaredFields());
>> - final List<Field> allFieldsInteger = new
>> ArrayList<Field>(fieldsInteger);
>> - allFieldsInteger.addAll(fieldsNumber);
>> - assertEquals(allFieldsInteger,
>> FieldUtils.getAllFieldsList(Integer.class));
>> - assertEquals(5,
>> FieldUtils.getAllFieldsList(PublicChild.class).size());
>> + assertEquals(Collections.emptyList(),
>> FieldUtils.getAllFieldsList(Object.class));
>> + assertEquals(Arrays.asList(allIntegerFields()),
>> FieldUtils.getAllFieldsList(Integer.class));
>> +
>> + assertEquals(Arrays.asList(allPublicChildFields()),
>> FieldUtils.getAllFieldsList(PublicChild.class));
>> }
>>
>> @Test
>>
>> Modified:
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java?rev=1671734&r1=1671733&r2=1671734&view=diff
>>
>> ==============================================================================
>> ---
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java
>> (original)
>> +++
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserSDFTest.java
>> Tue Apr 7 02:40:49 2015
>> @@ -27,7 +27,6 @@ import java.util.Date;
>> import java.util.Locale;
>> import java.util.TimeZone;
>>
>> -import org.junit.Ignore;
>> import org.junit.Test;
>> import org.junit.runner.RunWith;
>> import org.junit.runners.Parameterized;
>> @@ -138,13 +137,11 @@ public class FastDateParserSDFTest {
>> }
>>
>> @Test
>> - @Ignore // not currently supported
>> public void testLowerCase() throws Exception {
>> checkParse(input.toLowerCase(locale));
>> }
>>
>> @Test
>> - @Ignore // not currently supported
>> public void testLowerCasePP() throws Exception {
>> checkParsePosition(input.toLowerCase(locale));
>> }
>>
>> Modified:
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java?rev=1671734&r1=1671733&r2=1671734&view=diff
>>
>> ==============================================================================
>> ---
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
>> (original)
>> +++
>> commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
>> Tue Apr 7 02:40:49 2015
>> @@ -21,6 +21,7 @@ import static org.junit.Assert.assertFal
>> import static org.junit.Assert.assertTrue;
>>
>> import java.io.Serializable;
>> +import java.text.DateFormatSymbols;
>> import java.text.ParseException;
>> import java.text.SimpleDateFormat;
>> import java.util.Calendar;
>> @@ -30,6 +31,7 @@ import java.util.HashMap;
>> import java.util.Locale;
>> import java.util.Map;
>> import java.util.TimeZone;
>> +import java.util.regex.Pattern;
>>
>> import org.apache.commons.lang3.SerializationUtils;
>> import org.junit.Assert;
>> @@ -260,21 +262,21 @@ public class FastDateParserTest {
>> @Test
>> public void testTzParses() throws Exception {
>> // Check that all Locales can parse the time formats we use
>> - for(final Locale locale : Locale.getAvailableLocales()) {
>> - final FastDateParser fdp= new FastDateParser("yyyy/MM/dd
>> z", TimeZone.getDefault(), locale);
>> + for(final Locale locale : Locale.getAvailableLocales()) {
>> + final FastDateParser fdp= new FastDateParser("yyyy/MM/dd z",
>> TimeZone.getDefault(), locale);
>> +
>> + for(final TimeZone tz : new TimeZone[]{NEW_YORK, REYKJAVIK,
>> GMT}) {
>> + final Calendar cal= Calendar.getInstance(tz, locale);
>> + cal.clear();
>> + cal.set(Calendar.YEAR, 2000);
>> + cal.set(Calendar.MONTH, 1);
>> + cal.set(Calendar.DAY_OF_MONTH, 10);
>> + final Date expected= cal.getTime();
>>
>> - for(final TimeZone tz : new TimeZone[]{NEW_YORK,
>> REYKJAVIK, GMT}) {
>> - final Calendar cal= Calendar.getInstance(tz,
>> locale);
>> - cal.clear();
>> - cal.set(Calendar.YEAR, 2000);
>> - cal.set(Calendar.MONTH, 1);
>> - cal.set(Calendar.DAY_OF_MONTH, 10);
>> - final Date expected= cal.getTime();
>> -
>> - final Date actual = fdp.parse("2000/02/10
>> "+tz.getDisplayName(locale));
>> - Assert.assertEquals("tz:"+tz.getID()+"
>> locale:"+locale.getDisplayName(), expected, actual);
>> - }
>> - }
>> + final Date actual = fdp.parse("2000/02/10
>> "+tz.getDisplayName(locale));
>> + Assert.assertEquals("tz:"+tz.getID()+"
>> locale:"+locale.getDisplayName(), expected, actual);
>> + }
>> + }
>> }
>>
>>
>> @@ -640,4 +642,19 @@ public class FastDateParserTest {
>> }
>> }
>>
>> + @Test
>> + public void testTimeZoneStrategyPattern() {
>> + Pattern tz =
>> Pattern.compile(FastDateParser.TimeZoneStrategy.TZ_DATABASE);
>> + Assert.assertFalse(tz.matcher("GMT-1234").matches());
>> +
>> + for (Locale locale : Locale.getAvailableLocales()) {
>> + final String[][] zones =
>> DateFormatSymbols.getInstance(locale).getZoneStrings();
>> + for (final String[] zone : zones) {
>> + for (String zoneExpr : zone) {
>> + Assert.assertTrue(locale.getDisplayName() + ":" +
>> zoneExpr, tz.matcher(zoneExpr).matches());
>> + }
>> + }
>> + }
>> + }
>> +
>> }
>
>
> --
> http://people.apache.org/~britter/
> http://www.systemoutprintln.de/
> http://twitter.com/BenediktRitter
> http://github.com/britter
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org