1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- //
- // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
- //
- // Distributed under the Boost Software License, Version 1.0. (See
- // accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- //
- #ifndef BOOST_LOCALE_WITH_ICU
- #include <iostream>
- int main()
- {
- std::cout << "ICU is not build... Skipping" << std::endl;
- }
- #else
- #ifdef _MSC_VER
- #define _CRT_SECURE_NO_WARNINGS
- // Disable this "security crap"
- #endif
- #include <boost/locale/formatting.hpp>
- #include <boost/locale/format.hpp>
- #include <boost/locale/generator.hpp>
- #include "test_locale.hpp"
- #include "test_locale_tools.hpp"
- #include <sstream>
- #include <iostream>
- #include <iomanip>
- #include <time.h>
- int main()
- {
- try {
- time_t now=time(0);
- boost::locale::generator gen;
- std::locale::global(gen("en_US.UTF-8"));
- for(int i=0;i<366;i++) {
- time_t point = now + i * 24 * 3600;
- std::stringstream ss;
- ss << boost::locale::format("{1,ftime='%H %M %S'}") % point;
- int icu_hour = 0,icu_min = 0,icu_sec = 0;
- ss >> icu_hour >> icu_min >> icu_sec;
- std::tm *tm=localtime(&point);
- TEST(icu_hour == tm->tm_hour);
- TEST(icu_min == tm->tm_min);
- TEST(icu_sec == tm->tm_sec);
- }
- }
- catch(std::exception const &e) {
- std::cerr << "Failed " << e.what() << std::endl;
- return EXIT_FAILURE;
- }
- FINALIZE();
- }
- #endif // NO ICU
- // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
- // boostinspect:noascii
|