1// ------------------------------------------------------------------------------
2// format_test_wstring.cpp : test wchar_t format use (if supported)
3// ------------------------------------------------------------------------------
4
5// Copyright Samuel Krempp 2003. Use, modification, and distribution are
6// subject to the Boost Software License, Version 1.0. (See accompanying
7// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8
9// See http://www.boost.org/libs/format for library home page
10
11// ------------------------------------------------------------------------------
12
13#include <boost/detail/lightweight_test.hpp>
14#include <boost/format.hpp>
15
16int main(int, char* [])
17{
18 using boost::format;
19 using boost::str;
20
21#if !defined(BOOST_NO_STD_WSTRING) && !defined(BOOST_NO_STD_WSTREAMBUF)
22 using boost::wformat;
23 wformat wfmter(L"%%##%%##%%1 %1%00");
24 if(str( f: wfmter % L"Escaped OK" ) != L"%##%##%1 Escaped OK00")
25 BOOST_ERROR("Basic w-parsing Failed");
26 if(str( f: wformat(L"%%##%#x ##%%1 %s00") % 20 % L"Escaped OK" ) != L"%##0x14 ##%1 Escaped OK00")
27 BOOST_ERROR("Basic wp-parsing Failed") ;
28
29 // testcase for https://svn.boost.org/trac10/ticket/7379 (for valgrind)
30 wformat wfmt(L"%1$.1f");
31 std::wstring ws = str(f: wfmt % 123.45f);
32 BOOST_TEST_EQ(ws.compare(L"123.4"), 0);
33 wformat wfmt2(L"%1$.0f %%");
34 std::wstring ws2 = (wfmt2 % 123.45f).str();
35 BOOST_TEST_EQ(ws2.compare(L"123 %"), 0);
36
37#endif // wformat tests
38
39 return boost::report_errors();
40}
41

source code of boost/libs/format/test/format_test_wstring.cpp