* tests/date/date.pl: Add some test cases.
* tests/date/date-debug.sh: Test the debug output for this case.
---
 tests/date/date-debug.sh | 19 +++++++++++++++++++
 tests/date/date.pl       | 20 ++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/tests/date/date-debug.sh b/tests/date/date-debug.sh
index 8441dc8e8..241646379 100755
--- a/tests/date/date-debug.sh
+++ b/tests/date/date-debug.sh
@@ -310,5 +310,24 @@ sed '2s/(Y-M-D) [0-9][0-9][0-9][0-9]-/(Y-M-D) XXXX-/' 
out10_t >> out10 \
     || framework_failure_
 compare exp10 out10 || fail=1
 
+# Test that the weekday is ignored when explicit dates are given.
+cat<<EOF>exp11
+date: parsed day part: Tue (day ordinal=0 number=2)
+date: parsed date part: (Y-M-D) 2026-07-22
+date: input timezone: TZ="UTC0" environment value or -u
+date: warning: using midnight as starting time: 00:00:00
+date: warning: day (Tue) ignored when explicit dates are given
+date: starting date/time: '(Y-M-D) 2026-07-22 00:00:00'
+date: '(Y-M-D) 2026-07-22 00:00:00' = 1784678400 epoch-seconds
+date: timezone: Universal Time
+date: final: 1784678400.000000000 (epoch-seconds)
+date: final: (Y-M-D) 2026-07-22 00:00:00 (UTC)
+date: final: (Y-M-D) 2026-07-22 00:00:00 (UTC+00)
+date: output format: '$d_t_fmt'
+Wed Jul 22 00:00:00 UTC 2026
+EOF
+
+date -u --debug -d 'Tue, 2026-07-22' >out11 2>&1 || fail=1
+compare exp11 out11 || fail=1
 
 Exit $fail
diff --git a/tests/date/date.pl b/tests/date/date.pl
index c685c3d3b..d09668659 100755
--- a/tests/date/date.pl
+++ b/tests/date/date.pl
@@ -466,6 +466,26 @@ push @Tests,
    {EXIT => 1},
   ];
 
+# Test that the weekday is ignored when explicit dates are given.
+# However, a invalid weekday will still result in an error.
+my @weekdays = ('Mond', 'Tuesd', 'Wedn', 'Thursd', 'Frid', 'Satu', 'Sund');
+my (@bad, @good);
+for my $i (1..$#weekdays + 1)
+  {
+    my $weekday = $weekdays[$i - 1];
+    my $iso_date = "2026-07-" . ($weekday eq 'Wedn' ? '21' : '22');
+    my $date = "$weekday, $iso_date";
+    push @bad,
+      ["bad-weekday-explict-date$i", "-u -d '$date' +'%Y-%m-%d'",
+       {ERR=>"date: invalid date '$date'\n"}, {EXIT=>1}];
+    chop $weekday;
+    my $date = "$weekday, $iso_date";
+    push @good,
+      ["good-weekday-explict-date$i", "-u -d '$date' +'%Y-%m-%d'",
+       {OUT=>"$iso_date"}];
+  }
+push @Tests, @bad, @good;
+
 # Repeat the cross-dst test, using Jan 1, 2005 and every interval from 1..364.
 foreach my $i (1..364)
   {
-- 
2.55.0


Reply via email to