[Git][java-team/libcommons-validator-java][master] 3 commits: d/p/02-Locale-dependent-tests-calculate-expected-results-as.patch: Update test...
Emmanuel Bourg (@ebourg)
gitlab at salsa.debian.org
Wed Oct 14 15:52:10 BST 2026
Emmanuel Bourg pushed to branch master at Debian Java Maintainers / libcommons-validator-java
Commits:
4ce7e7ad by Vladimir Petko at 2026-02-03T12:54:15+13:00
d/p/02-Locale-dependent-tests-calculate-expected-results-as.patch: Update test assertions to resolve Java 25 ftbfs (Closes: #1108576).
- - - - -
f5eaba5d by Vladimir Petko at 2026-02-03T12:54:26+13:00
changelog
- - - - -
8689432f by Emmanuel Bourg at 2026-10-14T15:24:35+02:00
Upload to unstable
- - - - -
3 changed files:
- debian/changelog
- + debian/patches/02-locale-dependent-tests-calculate-expected-results.patch
- debian/patches/series
Changes:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,11 @@
+libcommons-validator-java (1:1.9.0-2) unstable; urgency=medium
+
+ [ Vladimir Petko ]
+ * Calculate the expected results of the locale dependent tests
+ (Closes: #1108576)
+
+ -- Emmanuel Bourg <ebourg at apache.org> Wed, 14 Oct 2026 15:24:35 +0200
+
libcommons-validator-java (1:1.9.0-1) unstable; urgency=medium
* New upstream release
@@ -28,7 +36,7 @@ libcommons-validator-java (1:1.6-3) unstable; urgency=medium
* Team upload.
* Update Standards-Version to 4.6.2.
- * Update upstream release url and vcs-git url and tar script.
+ * Update upstream release url and vcs-git url and tar script.
* Upgrade source/target version to java 1.8. (Closes: #1028187)
-- Sun Min <sunmin89 at outlook.com> Tue, 10 Jan 2023 19:47:31 +0800
@@ -153,7 +161,7 @@ libcommons-validator-java (1:1.3.1-5) experimental; urgency=low
* Add a Build-Depends-Indep dependency on maven-repo-helper and quilt
* Use mh_installpom and mh_installjar to install the POM and the jar to the
Maven repository
- * Add ${misc:Depends} to Depends to clear Lintian warnings
+ * Add ${misc:Depends} to Depends to clear Lintian warnings
* Remove Depends on Java runtimes as it is a library
* Move liboro-java to Recommends as this library is optional
* Use default-jdk for the build instead of java-gcj-compat-dev
@@ -235,7 +243,7 @@ libcommons-validator-java (1:1.1.4-6) unstable; urgency=low
libcommons-validator-java (1:1.1.4-5) unstable; urgency=low
- * kaffe compiler transition
+ * kaffe compiler transition
-- Wolfgang Baer <WBaer at gmx.de> Thu, 19 Jan 2006 15:25:03 +0100
@@ -331,4 +339,3 @@ libcommons-validator-java (1.0.2-1) unstable; urgency=low
* Initial Release (closes: #199524).
-- Arnaud Vandyck <arnaud.vandyck at ulg.ac.be> Tue, 1 Jul 2003 16:56:51 +0200
-
=====================================
debian/patches/02-locale-dependent-tests-calculate-expected-results.patch
=====================================
@@ -0,0 +1,433 @@
+Description: Calculate Locale-dependent test results
+ Locale-dependent tests: calculate expected results as output
+ varies between JVMs.
+Author: Sebb <sebb at apache.org>
+Origin: upstream, https://github.com/apache/commons-validator/commit/78a9ebca83a66620fb71a921b48f9068e398d760
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1108576
+Forwarded: not-needed
+Last-Update: 2026-02-03
+
+--- a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java
++++ b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java
+@@ -24,6 +24,7 @@
+
+ import java.text.DateFormat;
+ import java.text.Format;
++import java.text.SimpleDateFormat;
+ import java.util.Calendar;
+ import java.util.Date;
+ import java.util.Locale;
+@@ -105,8 +106,12 @@
+ final Locale locale = Locale.GERMAN;
+ final String pattern = "yyyy-MM-dd";
+ final String patternVal = "2005-12-31";
+- final String germanVal = "31 Dez 2005";
+ final String germanPattern = "dd MMM yyyy";
++ // Don't rely on specific German format - it varies between JVMs
++ DateFormat df = new SimpleDateFormat(germanPattern, locale);
++ Calendar cal = Calendar.getInstance(Locale.US);
++ cal.set(2005, 11, 31); // month is 0-based
++ final String germanVal = df.format(cal.getTime());
+ final String localeVal = "31.12.2005";
+ final String defaultVal = "12/31/05";
+ final String xxxx = "XXXX";
+@@ -221,7 +226,7 @@
+ calValidator.compare(value, value, -1);
+ fail("Invalid Compare field - expected IllegalArgumentException to be thrown");
+ } catch (final IllegalArgumentException e) {
+- assertEquals(e.getMessage(), "Invalid field: -1", "check message");
++ assertEquals("Invalid field: -1", e.getMessage(), "check message");
+ }
+ }
+
+@@ -233,6 +238,16 @@
+ // Set the default Locale
+ final Locale origDefault = Locale.getDefault();
+ Locale.setDefault(Locale.UK);
++ // Formats vary between JVMs, so create the test strings using the current JVM
++ final DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
++ final Calendar cal = Calendar.getInstance();
++ cal.set(2005, 11, 31, 14, 23); // month is 0-based
++ final String val = df.format(cal.getTime());
++
++ final DateFormat usdf = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.US);
++ final Calendar uscal = Calendar.getInstance(Locale.US);
++ uscal.set(2005, 11, 31, 14, 23); // month is 0-based
++ final String usval = usdf.format(uscal.getTime());
+
+ final AbstractCalendarValidator dateTimeValidator = new AbstractCalendarValidator(true, DateFormat.SHORT, DateFormat.SHORT) {
+ private static final long serialVersionUID = 1L;
+@@ -242,8 +257,8 @@
+ return value;
+ }
+ };
+- assertTrue(dateTimeValidator.isValid("31/12/05 14:23"), "validate(A) default");
+- assertTrue(dateTimeValidator.isValid("12/31/05 2:23 PM", Locale.US), "validate(A) locale ");
++ assertTrue(dateTimeValidator.isValid(val), "validate(A) default");
++ assertTrue(dateTimeValidator.isValid(usval, Locale.US), "validate(A) locale ");
+
+ // Restore the original default
+ Locale.setDefault(origDefault);
+@@ -259,20 +274,51 @@
+ final Locale origDefault = Locale.getDefault();
+ Locale.setDefault(Locale.UK);
+
+- final Calendar cal20050101 = createCalendar(GMT, 20051231, 11500);
++ final Calendar cal20051231 = createCalendar(GMT, 20051231, 11500);
++ // validator defaults to SHORT, but the format varies between JVMs
++ final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
++ final String val = df.format(cal20051231.getTime());
++ final DateFormat dfus = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US);
++ final String usval = dfus.format(cal20051231.getTime());
++ final String germanPattern = "dd MMM yyyy";
++ final DateFormat dedf = new SimpleDateFormat(germanPattern, Locale.GERMAN);
++ final String deval = dedf.format(cal20051231.getTime());
+ assertNull(calValidator.format(null), "null");
+- assertEquals("31/12/05", calValidator.format(cal20050101), "default");
+- assertEquals("12/31/05", calValidator.format(cal20050101, Locale.US), "locale");
+- assertEquals(calValidator.format(cal20050101, "yyyy-MM-dd HH:mm"), "2005-12-31 01:15", "patternA");
+- assertEquals(calValidator.format(cal20050101, "yyyy-MM-dd z"), "2005-12-31 GMT", "patternB");
+- assertEquals("31 Dez 2005", calValidator.format(cal20050101, "dd MMM yyyy", Locale.GERMAN), "both");
++ assertEquals(val, calValidator.format(cal20051231), "default");
++ assertEquals(usval, calValidator.format(cal20051231, Locale.US), "locale");
++ assertEquals(calValidator.format(cal20051231, "yyyy-MM-dd HH:mm"), "2005-12-31 01:15", "patternA");
++ assertEquals(calValidator.format(cal20051231, "yyyy-MM-dd z"), "2005-12-31 GMT", "patternB");
++ assertEquals(deval, calValidator.format(cal20051231, germanPattern, Locale.GERMAN), "both");
+
+ // EST Time Zone
+- assertEquals("30/12/05", calValidator.format(cal20050101, EST), "EST default");
+- assertEquals("12/30/05", calValidator.format(cal20050101, Locale.US, EST), "EST locale");
+- assertEquals(calValidator.format(cal20050101, "yyyy-MM-dd HH:mm", EST), "2005-12-30 20:15", "EST patternA");
+- assertEquals(calValidator.format(cal20050101, "yyyy-MM-dd z", EST), "2005-12-30 EST", "EST patternB");
+- assertEquals("30 Dez 2005", calValidator.format(cal20050101, "dd MMM yyyy", Locale.GERMAN, EST), "EST both");
++ final DateFormat dfest = DateFormat.getDateInstance(DateFormat.SHORT);
++ dfest.setTimeZone(EST);
++ final String valest = dfest.format(cal20051231.getTime());
++
++ final DateFormat dfusest = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US);
++ dfusest.setTimeZone(EST);
++ final String valusest = dfusest.format(cal20051231.getTime());
++
++ final DateFormat dedfest = new SimpleDateFormat(germanPattern, Locale.GERMAN);
++ dedfest.setTimeZone(EST);
++ final String devalest = dedfest.format(cal20051231.getTime());
++
++ assertEquals(valest, calValidator.format(cal20051231, EST), "EST default");
++ assertEquals(valusest, calValidator.format(cal20051231, Locale.US, EST), "EST locale");
++
++ final String patternA = "yyyy-MM-dd HH:mm";
++ final DateFormat dfA = new SimpleDateFormat(patternA);
++ dfA.setTimeZone(EST);
++ final String valA = dfA.format(cal20051231.getTime());
++ assertEquals(valA, calValidator.format(cal20051231, patternA, EST), "EST patternA");
++
++ final String patternB = "yyyy-MM-dd z";
++ final DateFormat dfB = new SimpleDateFormat(patternB);
++ dfB.setTimeZone(EST);
++ final String valB = dfB.format(cal20051231.getTime());
++
++ assertEquals(valB, calValidator.format(cal20051231, patternB, EST), "EST patternB");
++ assertEquals(devalest, calValidator.format(cal20051231, germanPattern, Locale.GERMAN, EST), "EST both");
+
+ // Restore the original default
+ Locale.setDefault(origDefault);
+--- a/src/test/java/org/apache/commons/validator/routines/CurrencyValidatorTest.java
++++ b/src/test/java/org/apache/commons/validator/routines/CurrencyValidatorTest.java
+@@ -18,10 +18,12 @@
+
+ import static org.junit.jupiter.api.Assertions.assertEquals;
+ import static org.junit.jupiter.api.Assertions.assertFalse;
++import static org.junit.jupiter.api.Assertions.assertTrue;
+ import static org.junit.jupiter.api.Assertions.assertNull;
+
+ import java.math.BigDecimal;
+ import java.text.DecimalFormatSymbols;
++import java.text.NumberFormat;
+ import java.util.Locale;
+
+ import org.junit.jupiter.api.BeforeEach;
+@@ -80,14 +82,19 @@
+ final CurrencyValidator validator = new CurrencyValidator();
+ final BigDecimal expected = new BigDecimal("1234.00");
+ final BigDecimal negative = new BigDecimal("-1234.00");
++ // Generate the exected strings, as these vary between JVMs
++ final String ukPlus = NumberFormat.getCurrencyInstance(Locale.UK).format(1234);
++ final String ukMinus = NumberFormat.getCurrencyInstance(Locale.UK).format(-1234);
++ final String usPlus = NumberFormat.getCurrencyInstance(Locale.US).format(1234);
++ final String usMinus = NumberFormat.getCurrencyInstance(Locale.US).format(-1234);
+
+- assertEquals(expected, validator.validate(ukPound + "1,234"), "Default locale");
++ assertEquals(expected, validator.validate(ukPlus), "Default locale");
+
+- assertEquals(expected, validator.validate(ukPound + "1,234", Locale.UK), "UK locale");
+- assertEquals(negative, validator.validate("-" + ukPound + "1,234", Locale.UK), "UK negative");
++ assertEquals(expected, validator.validate(ukPlus, Locale.UK), "UK locale");
++ assertEquals(negative, validator.validate(ukMinus, Locale.UK), "UK negative");
+
+- assertEquals(expected, validator.validate(usDollar + "1,234", Locale.US), "US locale");
+- assertEquals(negative, validator.validate("(" + usDollar + "1,234)", Locale.US), "US negative");
++ assertEquals(expected, validator.validate(usPlus, Locale.US), "US locale");
++ assertEquals(negative, validator.validate(usMinus, Locale.US), "US negative");
+
+ // Restore the original default
+ Locale.setDefault(origDefault);
+@@ -100,6 +107,11 @@
+ public void testInvalid() {
+ final BigDecimalValidator validator = CurrencyValidator.getInstance();
+
++ final String ukPlus = NumberFormat.getCurrencyInstance(Locale.UK).format(1234.56);
++ final String usPlus = NumberFormat.getCurrencyInstance(Locale.US).format(1234.56);
++ final String ukMinus = NumberFormat.getCurrencyInstance(Locale.UK).format(-1234.56);
++ final String usMinus = NumberFormat.getCurrencyInstance(Locale.US).format(-1234.56);
++
+ // Invalid Missing
+ assertFalse(validator.isValid(null), "isValid() Null Value");
+ assertFalse(validator.isValid(""), "isValid() Empty Value");
+@@ -107,12 +119,20 @@
+ assertNull(validator.validate(""), "validate() Empty Value");
+
+ // Invalid UK
+- assertFalse(validator.isValid(usDollar + "1,234.56", Locale.UK), "UK wrong symbol");
+- assertFalse(validator.isValid("(" + ukPound + "1,234.56)", Locale.UK), "UK wrong negative");
++ assertFalse(validator.isValid(usPlus, Locale.UK), "UK wrong symbol: " + usPlus);
++ if (ukMinus.startsWith("-")) {
++ assertFalse(validator.isValid("(" + ukPound + "1,234.56)", Locale.UK), "UK wrong negative: " + ukMinus);
++ } else {
++ assertFalse(validator.isValid("-" + ukPound + "1,234.56", Locale.UK), "UK wrong negative: " + ukMinus);
++ }
+
+ // Invalid US
+- assertFalse(validator.isValid(ukPound + "1,234.56", Locale.US), "US wrong symbol");
+- assertFalse(validator.isValid("-" + usDollar + "1,234.56", Locale.US), "US wrong negative");
++ assertFalse(validator.isValid(ukPlus, Locale.US), "US wrong symbol: " + ukPlus);
++ if (usMinus.startsWith("-")) {
++ assertFalse(validator.isValid("(" + usDollar + "1,234.56)", Locale.US), "UK wrong negative: " + usMinus);
++ } else {
++ assertFalse(validator.isValid("-" + usDollar + "1,234.56", Locale.US), "UK wrong negative: " + usMinus);
++ }
+ }
+
+ /**
+@@ -165,20 +185,37 @@
+ final BigDecimal noDecimal = new BigDecimal("1234.00");
+ final BigDecimal oneDecimal = new BigDecimal("1234.50");
+
+- assertEquals(expected, validator.validate(ukPound + "1,234.56"), "Default locale");
+-
+- assertEquals(expected, validator.validate(ukPound + "1,234.56", Locale.UK), "UK locale");
+- assertEquals(negative, validator.validate("-" + ukPound + "1,234.56", Locale.UK), "UK negative");
+- assertEquals(noDecimal, validator.validate(ukPound + "1,234", Locale.UK), "UK no decimal");
+- assertEquals(oneDecimal, validator.validate(ukPound + "1,234.5", Locale.UK), "UK 1 decimal");
+- assertEquals(expected, validator.validate(ukPound + "1,234.567", Locale.UK), "UK 3 decimal");
++ // Generate the exected strings, as these vary between JVMs
++ final String ukPlus = NumberFormat.getCurrencyInstance(Locale.UK).format(1234.56);
++ final String ukPlus0Decimal = NumberFormat.getCurrencyInstance(Locale.UK).format(1234);
++ final String ukPlus1Decimal = NumberFormat.getCurrencyInstance(Locale.UK).format(1234.5);
++ // Note that NumberFormat may perform rounding up or truncation, so we cheat
++ final String ukPlus3Decimal = NumberFormat.getCurrencyInstance(Locale.UK).format(1234.56) + "7";
++ final String ukMinus = NumberFormat.getCurrencyInstance(Locale.UK).format(-1234.56);
++ final String usPlus = NumberFormat.getCurrencyInstance(Locale.US).format(1234.56);
++ final String usPlus0Decimal = NumberFormat.getCurrencyInstance(Locale.US).format(1234);
++ final String usPlus1Decimal = NumberFormat.getCurrencyInstance(Locale.US).format(1234.5);
++ // Note that NumberFormat may perform rounding up or truncation, so we cheat
++ final String usPlus3Decimal = NumberFormat.getCurrencyInstance(Locale.US).format(1234.56) + "7";
++ final String usMinus = NumberFormat.getCurrencyInstance(Locale.US).format(-1234.56);
++
++ assertEquals(expected, validator.validate(ukPlus), "Default locale");
++
++ assertEquals(expected, validator.validate(ukPlus, Locale.UK), "UK locale");
++ assertEquals(negative, validator.validate(ukMinus, Locale.UK), "UK negative");
++ assertEquals(noDecimal, validator.validate(ukPlus0Decimal, Locale.UK), "UK no decimal");
++ assertEquals(oneDecimal, validator.validate(ukPlus1Decimal, Locale.UK), "UK 1 decimal");
++ assertEquals(expected, validator.validate(ukPlus3Decimal, Locale.UK), "UK 3 decimal: " + ukPlus3Decimal);
++ // TODO: The following expects the value to be truncated, rather than rounded up - is that correct?
++ assertEquals(expected, validator.validate(ukPlus3Decimal, Locale.UK), "UK 3 decimal: " + ukPlus3Decimal);
+ assertEquals(expected, validator.validate("1,234.56", Locale.UK), "UK no symbol");
+
+- assertEquals(expected, validator.validate(usDollar + "1,234.56", Locale.US), "US locale");
+- assertEquals(negative, validator.validate("(" + usDollar + "1,234.56)", Locale.US), "US negative");
+- assertEquals(noDecimal, validator.validate(usDollar + "1,234", Locale.US), "US no decimal");
+- assertEquals(oneDecimal, validator.validate(usDollar + "1,234.5", Locale.US), "US 1 decimal");
+- assertEquals(expected, validator.validate(usDollar + "1,234.567", Locale.US), "US 3 decimal");
++ assertEquals(expected, validator.validate(usPlus, Locale.US), "US locale");
++ assertEquals(negative, validator.validate(usMinus, Locale.US), "US negative");
++ assertEquals(noDecimal, validator.validate(usPlus0Decimal, Locale.US), "US no decimal");
++ assertEquals(oneDecimal, validator.validate(usPlus1Decimal, Locale.US), "US 1 decimal");
++ // TODO: The following expects the value to be truncated, rather than rounded up - is that correct?
++ assertEquals(expected, validator.validate(usPlus3Decimal, Locale.US), "US 3 decimal: " + usPlus3Decimal);
+ assertEquals(expected, validator.validate("1,234.56", Locale.US), "US no symbol");
+
+ // Restore the original default
+--- a/src/test/java/org/apache/commons/validator/routines/DateValidatorTest.java
++++ b/src/test/java/org/apache/commons/validator/routines/DateValidatorTest.java
+@@ -18,16 +18,17 @@
+
+ import static org.junit.jupiter.api.Assertions.assertEquals;
+ import static org.junit.jupiter.api.Assertions.assertFalse;
+-import static org.junit.jupiter.api.Assertions.assertNotNull;
+ import static org.junit.jupiter.api.Assertions.assertNull;
+ import static org.junit.jupiter.api.Assertions.assertTrue;
+
+ import java.text.DateFormat;
++import java.text.SimpleDateFormat;
++import java.util.Calendar;
+ import java.util.Date;
+ import java.util.Locale;
+ import java.util.TimeZone;
+
+-import org.apache.commons.lang3.SystemProperties;
++
+ import org.junit.jupiter.api.BeforeEach;
+ import org.junit.jupiter.api.Test;
+
+@@ -130,8 +131,12 @@
+ final Locale locale = Locale.GERMAN;
+ final String pattern = "yyyy-MM-dd";
+ final String patternVal = "2005-12-31";
+- final String germanVal = "31 Dez 2005";
+ final String germanPattern = "dd MMM yyyy";
++ // Don't rely on specific German format - it varies between JVMs
++ final DateFormat df = new SimpleDateFormat(germanPattern, locale);
++ final Calendar cal = Calendar.getInstance(Locale.US);
++ cal.set(2005, 11, 31); // month is 0-based
++ final String germanVal = df.format(cal.getTime());
+ final String localeVal = "31.12.2005";
+ final String defaultVal = "12/31/05";
+ final String xxxx = "XXXX";
+@@ -167,20 +172,4 @@
+ assertEquals(expectedZone, DateValidator.getInstance().validate(patternVal, pattern, zone), "validate(C) pattern");
+ assertEquals(expectedZone, DateValidator.getInstance().validate(germanVal, germanPattern, Locale.GERMAN, zone), "validate(C) both");
+ }
+-
+- /**
+- * Check that locale providers are set up correctly If not, the parse will fail
+- */
+- @Test
+- public void testLocaleProviders() throws Exception {
+- final String localeProviders = SystemProperties.getJavaLocaleProviders();
+- if (localeProviders != null) { // may be null before Java 9
+- assertTrue(localeProviders.startsWith("COMPAT"), "java.locale.providers must start with COMPAT");
+- }
+- final String txt = "3/20/15 10:59:00 PM"; // This relies on the locale format prior to Java 9 to parse correctly
+- final DateFormat dateformat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM, Locale.US);
+- dateformat.setTimeZone(TimeZone.getTimeZone("GMT"));
+- final Date date = dateformat.parse(txt);
+- assertNotNull(date);
+- }
+ }
+--- a/src/test/java/org/apache/commons/validator/routines/TimeValidatorTest.java
++++ b/src/test/java/org/apache/commons/validator/routines/TimeValidatorTest.java
+@@ -22,6 +22,8 @@
+ import static org.junit.jupiter.api.Assertions.assertNull;
+ import static org.junit.jupiter.api.Assertions.assertTrue;
+
++import java.text.DateFormat;
++import java.text.SimpleDateFormat;
+ import java.util.Calendar;
+ import java.util.Date;
+ import java.util.Locale;
+@@ -183,12 +185,17 @@
+ // Set the default Locale
+ Locale.setDefault(Locale.UK);
+
++ // The JVM format varies; calculate expected results
++ final Calendar cal = createTime(null, 164923, 0);
++ final DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT);
++ final String val = df.format(cal.getTime());
++ final DateFormat dfus = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.US);
++ final String valus = dfus.format(cal.getTime());
+ final Object test = TimeValidator.getInstance().validate("16:49:23", "HH:mm:ss");
+ assertNotNull(test, "Test Date ");
+- assertEquals(validator.format(test, "HH-mm-ss"), "16-49-23", "Format pattern");
+- assertEquals(validator.format(test, Locale.US), "4:49 PM", "Format locale");
+- assertEquals(validator.format(test), "16:49", "Format default");
+-
++ assertEquals("16-49-23", validator.format(test, "HH-mm-ss"), "Format pattern");
++ assertEquals(valus, validator.format(test, Locale.US), "Format locale");
++ assertEquals(val, validator.format(test), "Format default");
+ }
+
+ /**
+@@ -283,16 +290,25 @@
+ result = null;
+
+ // Locale, diff TimeZone
+- result = validator.validate("7:18 PM", Locale.US, EST);
+- assertNotNull(result, "locale result");
+- assertEquals(EST, result.getTimeZone(), "locale zone");
+- assertEquals(19, result.get(Calendar.HOUR_OF_DAY), "locale hour");
+- assertEquals(18, result.get(Calendar.MINUTE), "locale minute");
++ final DateFormat usdf = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.US);
++ final Calendar uscal = Calendar.getInstance(Locale.US);
++ uscal.set(2005, 0, 1, 19, 18); // month is 0-based
++ final String usVal = usdf.format(uscal.getTime());
++ result = validator.validate(usVal, Locale.US, EST);
++ assertNotNull(result, "locale result: " + usVal);
++ assertEquals(EST, result.getTimeZone(), "locale zone: " + usVal);
++ assertEquals(19, result.get(Calendar.HOUR_OF_DAY), "locale hour: " + usVal);
++ assertEquals(18, result.get(Calendar.MINUTE), "locale minute: " + usVal);
+ result = null;
+
++ final String dateTimePattern = "dd/MMM/yy HH-mm";
++ final Calendar decal = Calendar.getInstance(Locale.GERMAN);
++ decal.set(2005, 11, 31, 21, 05); // month is 0-based
++ final String germanSample = new SimpleDateFormat(dateTimePattern, Locale.GERMAN).format(decal.getTime());
++
+ // Locale & Pattern, diff TimeZone
+- result = validator.validate("31/Dez/05 21-05", "dd/MMM/yy HH-mm", Locale.GERMAN, EST);
+- assertNotNull(result, "pattern result");
++ result = validator.validate(germanSample, dateTimePattern, Locale.GERMAN, EST);
++ assertNotNull(result, "pattern result: " + germanSample);
+ assertEquals(EST, result.getTimeZone(), "pattern zone");
+ assertEquals(2005, result.get(Calendar.YEAR), "pattern day");
+ assertEquals(11, result.get(Calendar.MONTH), "pattern day"); // months are 0-11
+@@ -302,8 +318,8 @@
+ result = null;
+
+ // Locale & Pattern, default TimeZone
+- result = validator.validate("31/Dez/05 21-05", "dd/MMM/yy HH-mm", Locale.GERMAN);
+- assertNotNull(result, "pattern result");
++ result = validator.validate(germanSample, dateTimePattern, Locale.GERMAN);
++ assertNotNull(result, "pattern result: " + germanSample);
+ assertEquals(GMT, result.getTimeZone(), "pattern zone");
+ assertEquals(2005, result.get(Calendar.YEAR), "pattern day");
+ assertEquals(11, result.get(Calendar.MONTH), "pattern day"); // months are 0-11
+--- a/pom.xml
++++ b/pom.xml
+@@ -64,7 +64,7 @@
+ <commons.jacoco.instructionRatio>0.87</commons.jacoco.instructionRatio>
+ <commons.jacoco.methodRatio>0.81</commons.jacoco.methodRatio>
+ <commons.jacoco.branchRatio>0.74</commons.jacoco.branchRatio>
+- <commons.jacoco.lineRatio>0.78</commons.jacoco.lineRatio>
++ <commons.jacoco.lineRatio>0.78</commons.jacoco.lineRatio>
+ <commons.jacoco.complexityRatio>0.71</commons.jacoco.complexityRatio>
+ </properties>
+
+@@ -324,9 +324,6 @@
+ </profile>
+ <profile>
+ <id>jdk9-cldr</id>
+- <activation>
+- <jdk>[1.9,)</jdk>
+- </activation>
+ <!--
+ Temporary fix to allow tests to work under Java 9+, which changed to use CLDR names.
+ This causes several Date/Time tests to fail, as some language strings have changed.
+@@ -344,7 +341,7 @@
+ systemPropertyVariables are set too late in Surefire
+ versions after 2.21.0 and before 3.0-M4 (but only on Windows!)
+ Use the command-line instead to ensure the property is set early enough
+-
++
+ Use ${argLine} to get JaCoCo to work properly.
+ -->
+ <argLine>${argLine} -Djava.locale.providers=COMPAT,SPI</argLine>
+@@ -432,7 +429,7 @@
+ <email>ggregory at apache.org</email>
+ <url>https://www.garygregory.com</url>
+ <organization>The Apache Software Foundation</organization>
+- <organizationUrl>https://www.apache.org/</organizationUrl>
++ <organizationUrl>https://www.apache.org/</organizationUrl>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
=====================================
debian/patches/series
=====================================
@@ -1 +1,2 @@
01-delete-domain-validator-startup-test.patch
+02-locale-dependent-tests-calculate-expected-results.patch
View it on GitLab: https://salsa.debian.org/java-team/libcommons-validator-java/-/compare/f611ae5505e1b7fa62f877556ddba7e0fe51b105...8689432fdd01d0837e32d516a9588eb3baac3c76
--
View it on GitLab: https://salsa.debian.org/java-team/libcommons-validator-java/-/compare/f611ae5505e1b7fa62f877556ddba7e0fe51b105...8689432fdd01d0837e32d516a9588eb3baac3c76
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20261014/c249d03d/attachment.htm>
More information about the pkg-java-commits
mailing list