#!/usr/bin/env bash
test_description="date/time parser module"
-. ./test-lib.sh
+. ./test-lib.sh || exit 1
# Sanity/smoke tests for the date/time parser independent of notmuch
5m ==> Tue Jan 11 12:08:14 +0000 2011
dozen mi ==> Tue Jan 11 12:01:14 +0000 2011
8am ==> Tue Jan 11 08:00:00 +0000 2011
-9:15 ==> Tue Jan 11 09:15:00 +0000 2011
-12:34 ==> Tue Jan 11 12:34:00 +0000 2011
monday ==> Mon Jan 10 12:13:14 +0000 2011
yesterday ==> Mon Jan 10 12:13:14 +0000 2011
tomorrow ==> ERROR: KEYWORD
Fri, 03 Aug 2012 23:07:46 +0100 ==> Fri Aug 03 22:07:46 +0000 2012 # rfc-2822
2012-08-03 23:09:37+03:00 ==> Fri Aug 03 20:09:37 +0000 2012 # rfc-3339 seconds
+10:30:40 ==> Tue Jan 11 10:30:40 +0000 2011
+10:30:40 ==^> Tue Jan 11 10:30:40 +0000 2011
+10:30:40 ==^^> Tue Jan 11 10:30:40 +0000 2011
+10:30:40 ==_> Tue Jan 11 10:30:40 +0000 2011
+
10s ==> Tue Jan 11 12:13:04 +0000 2011
19701223s ==> Fri May 28 11:39:31 +0000 2010
19701223 ==> Wed Dec 23 12:13:14 +0000 1970
${TEST_DIRECTORY}/parse-time --ref=${REFERENCE} < INPUT > OUTPUT
test_expect_equal_file INPUT OUTPUT
+test_begin_subtest "Second rounding tests"
+REFERENCE=$(_date Tue Jan 11 12:13:14 +0000 2011)
+cat <<EOF > INPUT
+9:15 ==> Tue Jan 11 09:15:14 +0000 2011
+12:34 ==> Tue Jan 11 12:34:14 +0000 2011
+10:30 ==> Tue Jan 11 10:30:14 +0000 2011
+10:30 ==^> Tue Jan 11 10:30:59 +0000 2011
+10:30 ==^^> Tue Jan 11 10:31:00 +0000 2011
+10:30 ==_> Tue Jan 11 10:30:00 +0000 2011
+EOF
+${TEST_DIRECTORY}/parse-time --ref=${REFERENCE} < INPUT > OUTPUT
+test_expect_equal_file INPUT OUTPUT
+
test_done