summaryrefslogtreecommitdiff
path: root/tests/date/rfc2822.c
blob: c94c8403f0f9c519334700a67386c61515d71f19 (plain)
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
#include "clar_libgit2.h"

#include "date.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));
}