[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