Repository: james-mime4j Updated Branches: refs/heads/master e32e83fbc -> 7a54eebe7
JAMES-2045 DateTimeFieldImpl should assume 19xx century when date without century >= 70 Project: http://git-wip-us.apache.org/repos/asf/james-mime4j/repo Commit: http://git-wip-us.apache.org/repos/asf/james-mime4j/commit/7a54eebe Tree: http://git-wip-us.apache.org/repos/asf/james-mime4j/tree/7a54eebe Diff: http://git-wip-us.apache.org/repos/asf/james-mime4j/diff/7a54eebe Branch: refs/heads/master Commit: 7a54eebe73a582ee9ead995a4e783d3e190fcf47 Parents: e32e83f Author: benwa <btell...@linagora.com> Authored: Mon Jun 5 18:03:53 2017 +0700 Committer: benwa <btell...@linagora.com> Committed: Mon Jun 5 18:03:53 2017 +0700 ---------------------------------------------------------------------- .../apache/james/mime4j/field/datetime/DateTimeParser.jj | 4 ++++ .../apache/james/mime4j/field/DateTimeFieldImplTest.java | 6 ++++++ .../apache/james/mime4j/field/datetime/DateTimeTest.java | 10 +++++----- 3 files changed, 15 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-mime4j/blob/7a54eebe/dom/src/main/javacc/org/apache/james/mime4j/field/datetime/DateTimeParser.jj ---------------------------------------------------------------------- diff --git a/dom/src/main/javacc/org/apache/james/mime4j/field/datetime/DateTimeParser.jj b/dom/src/main/javacc/org/apache/james/mime4j/field/datetime/DateTimeParser.jj index 7b9b490..dc110ca 100644 --- a/dom/src/main/javacc/org/apache/james/mime4j/field/datetime/DateTimeParser.jj +++ b/dom/src/main/javacc/org/apache/james/mime4j/field/datetime/DateTimeParser.jj @@ -230,6 +230,10 @@ String year() : String year = (String) t.image; if (year.length() == 2) { + if (year.charAt(0) > '6') + { + return "19" + year; + } return "20" + year; } return year; http://git-wip-us.apache.org/repos/asf/james-mime4j/blob/7a54eebe/dom/src/test/java/org/apache/james/mime4j/field/DateTimeFieldImplTest.java ---------------------------------------------------------------------- diff --git a/dom/src/test/java/org/apache/james/mime4j/field/DateTimeFieldImplTest.java b/dom/src/test/java/org/apache/james/mime4j/field/DateTimeFieldImplTest.java index 0e13b2d..45bff87 100644 --- a/dom/src/test/java/org/apache/james/mime4j/field/DateTimeFieldImplTest.java +++ b/dom/src/test/java/org/apache/james/mime4j/field/DateTimeFieldImplTest.java @@ -60,6 +60,12 @@ public class DateTimeFieldImplTest { } @Test + public void parseShouldAddPreviousCenturyWhen2DigitsAndMoreThan70s() throws Exception { + DateTimeField field = parse("Date: Wed, 13 May 87 14:18:52Z"); + assertEquals("Wed May 13 14:18:52 UTC 1987", field.getDate().toString()); + } + + @Test public void dayIsDependentFromTheDateNotFromTheGivenDay() throws Exception { DateTimeField field = parse("Date: Mon, 13 May 17 14:18:52Z"); assertEquals("Sat May 13 14:18:52 UTC 2017", field.getDate().toString()); http://git-wip-us.apache.org/repos/asf/james-mime4j/blob/7a54eebe/dom/src/test/java/org/apache/james/mime4j/field/datetime/DateTimeTest.java ---------------------------------------------------------------------- diff --git a/dom/src/test/java/org/apache/james/mime4j/field/datetime/DateTimeTest.java b/dom/src/test/java/org/apache/james/mime4j/field/datetime/DateTimeTest.java index 685281b..02510ba 100644 --- a/dom/src/test/java/org/apache/james/mime4j/field/datetime/DateTimeTest.java +++ b/dom/src/test/java/org/apache/james/mime4j/field/datetime/DateTimeTest.java @@ -44,12 +44,12 @@ public class DateTimeTest { ensureAllEqual(new String[]{ - "Fri, 21 Nov 2097 09:55:06 -0600", // baseline + "Fri, 21 Nov 1997 09:55:06 -0600", // baseline "Fri, 21 Nov 97 09:55:06 -0600", // 2-digit year - "Fri, 21 Nov 197 09:55:06 -0600", // 3-digit year - "Fri, 21 Nov 2097 10:55:06 -0500", // shift time zone - "Fri, 21 Nov 2097 19:25:06 +0330", // shift time zone - "21 Nov 2097 09:55:06 -0600" // omit day of week + "Fri, 21 Nov 097 09:55:06 -0600", // 3-digit year + "Fri, 21 Nov 1997 10:55:06 -0500", // shift time zone + "Fri, 21 Nov 1997 19:25:06 +0330", // shift time zone + "21 Nov 1997 09:55:06 -0600" // omit day of week }); ensureAllEqual(new String[]{ --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org