MCPcopy Create free account
hub / github.com/HowardHinnant/date / test_a

Function test_a

test/date_test/parse.pass.cpp:29–115  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27#include <sstream>
28
29void
30test_a()
31{
32 using namespace date;
33 {
34 // correct abbreviation
35 std::istringstream in{"Sun 2016-12-11"};
36 sys_days tp;
37 in >> parse("%a %F", tp);
38 assert(!in.fail());
39 assert(!in.bad());
40 assert(!in.eof());
41 assert(tp == 2016_y/12/11);
42 }
43 {
44 // correct abbreviation
45 std::istringstream in{"Sun 2016-12-11"};
46 sys_days tp;
47 in >> parse("%A %F", tp);
48 // this may fail with libstdc++, see https://github.com/HowardHinnant/date/issues/388
49 // possible workaround: compile date.h with -DONLY_C_LOCALE=1
50 assert(!in.fail());
51 assert(!in.bad());
52 assert(!in.eof());
53 assert(tp == 2016_y/12/11);
54 }
55 {
56 // correct full name
57 std::istringstream in{"Sunday 2016-12-11"};
58 sys_days tp;
59 in >> parse("%a %F", tp);
60 assert(!in.fail());
61 assert(!in.bad());
62 assert(!in.eof());
63 assert(tp == 2016_y/12/11);
64 }
65 {
66 // correct full name
67 std::istringstream in{"Sunday 2016-12-11"};
68 sys_days tp;
69 in >> parse("%A %F", tp);
70 assert(!in.fail());
71 assert(!in.bad());
72 assert(!in.eof());
73 assert(tp == 2016_y/12/11);
74 }
75 {
76 // not a valid name
77 std::istringstream in{"Dec 2016-12-11"};
78 sys_days tp;
79 in >> parse("%a %F", tp);
80 assert( in.fail());
81 assert(!in.bad());
82 assert(!in.eof());
83 assert(tp == 1970_y/1/1);
84 }
85 {
86 // wrong name

Callers 1

mainFunction · 0.70

Calls 1

parseFunction · 0.85

Tested by

no test coverage detected