From d28ac18da29a897d23576d27c1829041a52fd17e Mon Sep 17 00:00:00 2001 From: John Maddock Date: Tue, 25 Jan 2005 17:22:50 +0000 Subject: [PATCH] Need some more tests to track down remaining issues. [SVN r26845] --- test/collate_info/collate_info.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/test/collate_info/collate_info.cpp b/test/collate_info/collate_info.cpp index 5cb52daf..4a43455e 100644 --- a/test/collate_info/collate_info.cpp +++ b/test/collate_info/collate_info.cpp @@ -11,6 +11,7 @@ // most of the workarounds and headers we need are already in here: #include +#include #ifdef BOOST_NO_STDC_NAMESPACE namespace std{ @@ -38,6 +39,7 @@ template void print_string(const std::basic_string& s) { typedef typename std::basic_string::size_type size_type; + std::cout.put(static_cast('"')); for(size_type i = 0; i < s.size(); ++i) { if((s[i] > ' ') && (s[i] <= 'z')) @@ -49,13 +51,15 @@ void print_string(const std::basic_string& s) std::cout << "\\x" << std::hex << make_int(s[i]); } } + std::cout.put(static_cast('"')); } void print_c_char(char c) { char buf[50]; const char cbuf[2] = { c, 0, }; - std::strxfrm(buf, cbuf, 50); + std::size_t len = std::strxfrm(buf, cbuf, 50); + std:: cout << len << " "; std::string s(buf); print_string(s); } @@ -64,7 +68,8 @@ void print_c_char(wchar_t c) { wchar_t buf[50]; const wchar_t cbuf[2] = { c, 0, }; - std::wcsxfrm(buf, cbuf, 50); + std::size_t len = std::wcsxfrm(buf, cbuf, 50); + std:: cout << len << " "; std::wstring s(buf); print_string(s); } @@ -100,6 +105,7 @@ void print_cpp_char(charT c) std::locale l; const std::collate& col = BOOST_USE_FACET(std::collate, l); std::basic_string result = col.transform(&c, &c+1); + std::cout << result.size() << " "; print_string(result); #endif } @@ -177,6 +183,9 @@ void print_ctype_info(charT, const char* name) std::cout << " Boost.Regex believes this facet to be correct..." << std::endl; #endif std::cout << " Actual behavior, appears to be " << (result ? "correct." : "buggy.") << std::endl; + assert(ct.is(std::ctype::alnum, 'a')); + assert(ct.is(std::ctype::alnum, 'A')); + assert(ct.is(std::ctype::alnum, '0')); } #endif