You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by lf...@apache.org on 2022/07/13 18:01:23 UTC

[tika] branch main updated: TIKA-3815: fix RFC822ParserTest failing tests

This is an automated email from the ASF dual-hosted git repository.

lfcnassif pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new d79448e46 TIKA-3815: fix RFC822ParserTest failing tests
d79448e46 is described below

commit d79448e465708d59d12de54aac7d8b3af9f0439c
Author: Luis Nassif <lf...@gmail.com>
AuthorDate: Wed Jul 13 15:00:12 2022 -0300

    TIKA-3815: fix RFC822ParserTest failing tests
---
 .../apache/tika/parser/mail/RFC822ParserTest.java  | 25 ++++++++++++++--------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-mail-module/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-mail-module/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
index bfe625fd7..d87fd549b 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-mail-module/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-mail-module/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
@@ -38,6 +38,7 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
+import java.util.TimeZone;
 
 import org.apache.james.mime4j.stream.MimeConfig;
 import org.junit.jupiter.api.BeforeAll;
@@ -380,20 +381,23 @@ public class RFC822ParserTest extends TikaTest {
 
         String expected = "2016-05-15T01:32:00Z";
 
-        for (String dateString : new String[]{"Sun, 15 May 2016 01:32:00 UTC",
-                //make sure this test basically works
-                "Sun, 15 May 2016 01:32:00", //no timezone
+        int dateNum = 0;
+        for (String dateString : new String[] {
+                // with timezone info:
+                "Sun, 15 May 2016 01:32:00 UTC", "      Sun, 15 May 2016 3:32:00 +0200",
+                // format correctly handled by mime4j if no leading whitespace
+                "      Sun, 14 May 2016 20:32:00 EST",
+                // no timezone info:
+                "Sun, 15 May 2016 01:32:00",
                 "Sunday, May 15 2016 1:32 AM", "May 15 2016 1:32am", "May 15 2016 1:32 am",
-                "2016-05-15 01:32:00", "      Sun, 15 May 2016 3:32:00 +0200",
-                //format correctly handled by mime4j if no leading whitespace
-                "      Sun, 14 May 2016 20:32:00 EST",}) {
-            testDate(dateString, expected);
+                "2016-05-15 01:32:00", }) {
+            testDate(dateString, expected, dateNum++ < 3);
         }
 
         //now try days without times
         expected = "2016-05-15T12:00:00Z";
         for (String dateString : new String[]{"May 15, 2016", "Sun, 15 May 2016", "15 May 2016",}) {
-            testDate(dateString, expected);
+            testDate(dateString, expected, true);
         }
     }
 
@@ -419,11 +423,14 @@ public class RFC822ParserTest extends TikaTest {
 
     }
 
-    private void testDate(String dateString, String expected) throws Exception {
+    private void testDate(String dateString, String expected, boolean useUTC) throws Exception {
         Date parsedDate = getDate(dateString);
         assertNotNull(parsedDate, "couldn't parse " + dateString);
         DateFormat df =
                 new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", new DateFormatSymbols(Locale.US));
+        if (useUTC) {
+            df.setTimeZone(TimeZone.getTimeZone("UTC"));
+        }
         String parsedDateString = df.format(parsedDate);
         assertEquals(expected, parsedDateString, "failed to match: " + dateString);
     }