Added RFC2822 date format test cases
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
diff --git a/tests/date/rfc2822.c b/tests/date/rfc2822.c
new file mode 100644
index 0000000..eda475a
--- /dev/null
+++ b/tests/date/rfc2822.c
@@ -0,0 +1,40 @@
+#include "clar_libgit2.h"
+
+#include "util.h"
+
+void test_date_rfc2822__format_rfc2822_no_offset(void)
+{
+ git_time t = {1397031663, 0};
+ char buf[GIT_DATE_RFC2822_SZ];
+
+ cl_git_pass(git__date_rfc2822_fmt(buf, sizeof(buf), &t));
+ cl_assert(strcmp(buf, "Wed, 9 Apr 2014 08:21:03 +0000") == 0);
+}
+
+void test_date_rfc2822__format_rfc2822_positive_offset(void)
+{
+ git_time t = {1397031663, 120};
+ char buf[GIT_DATE_RFC2822_SZ];
+
+ cl_git_pass(git__date_rfc2822_fmt(buf, sizeof(buf), &t));
+ cl_assert(strcmp(buf, "Wed, 9 Apr 2014 10:21:03 +0200") == 0);
+}
+
+void test_date_rfc2822__format_rfc2822_negative_offset(void)
+{
+ git_time t = {1397031663, -120};
+ char buf[GIT_DATE_RFC2822_SZ];
+
+ cl_git_pass(git__date_rfc2822_fmt(buf, sizeof(buf), &t));
+ cl_assert(strcmp(buf, "Wed, 9 Apr 2014 06:21:03 -0200") == 0);
+}
+
+void test_date_rfc2822__format_rfc2822_buffer_too_small(void)
+{
+ // "Wed, 10 Apr 2014 08:21:03 +0000"
+ git_time t = {1397031663 + 86400, 0};
+ char buf[GIT_DATE_RFC2822_SZ-1];
+
+ cl_git_fail(git__date_rfc2822_fmt(buf, sizeof(buf), &t));
+}
+