1 #include "fidogate.h"
2 #include <cgreen/cgreen.h>
3 #include <stdio.h>
4
5
Ensure(date_handles_via_format)6 Ensure(date_handles_via_format)
7 {
8 char *res;
9
10 res = date(DATE_VIA, NULL);
11
12 assert_that(res, is_not_null);
13 }
14
Ensure(parsedate_handles_rfc822)15 Ensure(parsedate_handles_rfc822)
16 {
17 char *src = "Wed, 11 Mar 2020 05:45:29 -0700";
18 time_t exp = 1583930729;
19 time_t res;
20 TIMEINFO *default_now = NULL;
21
22 res = parsedate(src, default_now);
23
24 assert_that(res, is_equal_to(exp));
25 }
26
Ensure(parsedate_handles_google)27 Ensure(parsedate_handles_google)
28 {
29 char *src = "Wed, 11 Mar 2020 05:45:29 -0700 (PDT)";
30 time_t exp = 1583930729;
31 time_t res;
32 TIMEINFO *default_now = NULL;
33
34 res = parsedate(src, default_now);
35
36 assert_that(res, is_equal_to(exp));
37 }
38
Ensure(date_tz_converts_positive_tz)39 Ensure(date_tz_converts_positive_tz)
40 {
41 time_t src = 1583930729;
42 char *exp = "11 Mar 20 14:45:29";
43 char *tz = "0200";
44 char *res;
45
46 res = date_tz(DATE_FTS_0001, &src, tz);
47
48 assert_that(res, is_equal_to_string(exp));
49 }
50
Ensure(date_tz_converts_negative_tz)51 Ensure(date_tz_converts_negative_tz)
52 {
53 time_t src = 1583930729;
54 char *exp = "11 Mar 20 05:45:29";
55 char *tz = "-0700";
56 char *res;
57
58 res = date_tz(DATE_FTS_0001, &src, tz);
59
60 assert_that(res, is_equal_to_string(exp));
61 }
62
create_suite(void)63 static TestSuite *create_suite(void)
64 {
65 TestSuite *suite = create_named_test_suite("Date suite");
66
67 add_test(suite, date_handles_via_format);
68 add_test(suite, parsedate_handles_rfc822);
69 add_test(suite, parsedate_handles_google);
70 add_test(suite, date_tz_converts_positive_tz);
71 add_test(suite, date_tz_converts_negative_tz);
72
73 return suite;
74 }
75
main(int argc,char ** argv)76 int main(int argc, char **argv) {
77 TestSuite *suite = create_suite();
78
79 if (argc > 1)
80 return run_single_test(suite, argv[1], create_text_reporter());
81
82 return run_test_suite(suite, create_text_reporter());
83 }
84