xref: /reactos/modules/rostests/regtests/crt/time.c (revision c2c66aff)
1*c2c66affSColin Finck /*
2*c2c66affSColin Finck  * PROJECT:         ReactOS CRT regression tests
3*c2c66affSColin Finck  * LICENSE:         GPL - See COPYING in the top level directory
4*c2c66affSColin Finck  * FILE:            rostests/regtests/crt/time.c
5*c2c66affSColin Finck  * PURPOSE:         Tests for time functions of the CRT
6*c2c66affSColin Finck  * PROGRAMMERS:     Gregor Schneider
7*c2c66affSColin Finck  */
8*c2c66affSColin Finck 
9*c2c66affSColin Finck #include <stdio.h>
10*c2c66affSColin Finck #include <time.h>
11*c2c66affSColin Finck #include <wine/test.h>
12*c2c66affSColin Finck 
Test_asctime()13*c2c66affSColin Finck void Test_asctime()
14*c2c66affSColin Finck {
15*c2c66affSColin Finck     /* Test asctime */
16*c2c66affSColin Finck     struct tm time;
17*c2c66affSColin Finck     char* timestr;
18*c2c66affSColin Finck     char explowtime[] = "Mon Jun 04 00:30:20 1909\n"; /* XP's crt returns new line after the string */
19*c2c66affSColin Finck 
20*c2c66affSColin Finck     time.tm_hour = 0;
21*c2c66affSColin Finck     time.tm_mday = 4;
22*c2c66affSColin Finck     time.tm_min = 30;
23*c2c66affSColin Finck     time.tm_mon = 5;
24*c2c66affSColin Finck     time.tm_sec = 20;
25*c2c66affSColin Finck     time.tm_wday = 1;
26*c2c66affSColin Finck     time.tm_yday = 200;
27*c2c66affSColin Finck     time.tm_year = 9;
28*c2c66affSColin Finck 
29*c2c66affSColin Finck     timestr = asctime(&time);
30*c2c66affSColin Finck     ok(!strcmp(timestr, explowtime), "Wrong time returned, got %s\n", timestr);
31*c2c66affSColin Finck }
32*c2c66affSColin Finck 
Test_ctime()33*c2c66affSColin Finck void Test_ctime()
34*c2c66affSColin Finck {
35*c2c66affSColin Finck     /* Test border ctime cases */
36*c2c66affSColin Finck     time_t time;
37*c2c66affSColin Finck     time = -15;
38*c2c66affSColin Finck     ok(ctime(&time) == NULL, "ctime doesn't return NULL for invalid parameters\n");
39*c2c66affSColin Finck     time = -5000000;
40*c2c66affSColin Finck     ok(ctime(&time) == NULL,  "ctime doesn't return NULL for invalid parameters\n");
41*c2c66affSColin Finck }
42*c2c66affSColin Finck 
START_TEST(time)43*c2c66affSColin Finck START_TEST(time)
44*c2c66affSColin Finck {
45*c2c66affSColin Finck     Test_asctime();
46*c2c66affSColin Finck     Test_ctime();
47*c2c66affSColin Finck }
48*c2c66affSColin Finck 
49