]> git.saurik.com Git - apple/libc.git/blame - tests/strptime.c
Libc-1272.250.1.tar.gz
[apple/libc.git] / tests / strptime.c
CommitLineData
974e3884
A
1#include <time.h>
2
3#include <darwintest.h>
4#include <darwintest_utils.h>
5
b061a43b 6T_DECL(strptime_PR_27004626, "strptime() should fail when a %t doesn't match anything")
974e3884
A
7{
8 struct tm tm;
9 T_ASSERT_NULL(strptime("there'snotemplateforthis", "%t", &tm), NULL);
10}
b061a43b
A
11
12T_DECL(strptime_PR_29381762, "strptime() sets the tm_wday field incorrectly")
13{
14 time_t epoch = 0;
15 struct tm t = *localtime(&epoch);
16
17 T_LOG("2015-01-01 12:00:00 -> Thursday");
18 (void)strptime("2015-01-01 12:00:00", "%F %T", &t);
19 T_EXPECT_EQ(t.tm_wday, 4, NULL);
20
21 T_LOG("2015-04-19 12:00:00 -> Sunday");
22 (void)strptime("2015-04-19 12:00:00", "%F %T", &t);
23 T_EXPECT_EQ(t.tm_wday, 0, NULL);
24
25 T_LOG("2009-03-03 12:00:00 -> Tuesday");
26 (void)strptime("2009-03-03 12:00:00", "%F %T", &t);
27 T_EXPECT_EQ(t.tm_wday, 2, NULL);
28
29 T_LOG("1990-02-15 12:00:00 -> Thursday");
30 (void)strptime("1990-02-15 12:00:00", "%F %T", &t);
31 T_EXPECT_EQ(t.tm_wday, 4, NULL);
32
33 T_LOG("1993-03-02 12:00:00 -> Sunday");
34 (void)strptime("1993-03-02 12:00:00", "%F %T", &t);
35 T_EXPECT_EQ(t.tm_wday, 2, NULL);
36}