Change two tests to be less dependant on locales.

This patch removes the use of the "%c" specifier for getting/setting times.
The semantics of this specifier differ between linux and Mac. I don't believe
the use of this specifier was important to the test.

The following tests now pass on linux.
test/input.output/iostream.format/ext.manip/get_time.pass.cpp
test/input.output/iostream.format/ext.manip/put_time.pass.cpp

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@215417 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier 2014-08-12 00:48:56 +00:00
parent f4124610c2
commit 5b34a5f584
2 changed files with 5 additions and 4 deletions

View File

@ -43,7 +43,7 @@ int main()
std::istream is(&sb);
is.imbue(std::locale(LOCALE_en_US_UTF_8));
std::tm t = {0};
is >> std::get_time(&t, "%c");
is >> std::get_time(&t, "%a %b %d %H:%M:%S %Y");
assert(t.tm_sec == 59);
assert(t.tm_min == 55);
assert(t.tm_hour == 23);
@ -59,7 +59,7 @@ int main()
std::wistream is(&sb);
is.imbue(std::locale(LOCALE_en_US_UTF_8));
std::tm t = {0};
is >> std::get_time(&t, L"%c");
is >> std::get_time(&t, L"%a %b %d %H:%M:%S %Y");
assert(t.tm_sec == 59);
assert(t.tm_min == 55);
assert(t.tm_hour == 23);

View File

@ -62,7 +62,8 @@ int main()
t.tm_mon = 11;
t.tm_year = 161;
t.tm_wday = 6;
os << std::put_time(&t, "%c");
t.tm_isdst = 0;
os << std::put_time(&t, "%a %b %d %H:%M:%S %Y");
assert(sb.str() == "Sat Dec 31 23:55:59 2061");
}
{
@ -77,7 +78,7 @@ int main()
t.tm_mon = 11;
t.tm_year = 161;
t.tm_wday = 6;
os << std::put_time(&t, L"%c");
os << std::put_time(&t, L"%a %b %d %H:%M:%S %Y");
assert(sb.str() == L"Sat Dec 31 23:55:59 2061");
}
}