+2004-08-21 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/22_locale/money_put/put/wchar_t/1.cc: Use proper
+ wchar_t type for the fill argument; minor formatting tweaks.
+ * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
+
2004-08-21 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_ios.tcc (basic_ios<>::copyfmt): Don't deal
// cache the money_put facet
wostringstream oss;
oss.imbue(loc_de);
- const money_put<wchar_t>& mon_put = use_facet<money_put<wchar_t> >(oss.getloc());
+ const money_put<wchar_t>& mon_put =
+ use_facet<money_put<wchar_t> >(oss.getloc());
- iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1);
+ iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits1);
wstring result1 = oss.str();
- VERIFY( result1 == L"7.200.000.000,00 ");
+ VERIFY( result1 == L"7.200.000.000,00 " );
oss.str(empty);
- iterator_type os_it02 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1);
+ iterator_type os_it02 = mon_put.put(oss.rdbuf(), false, oss, L' ', digits1);
wstring result2 = oss.str();
- VERIFY( result2 == L"7.200.000.000,00 ");
+ VERIFY( result2 == L"7.200.000.000,00 " );
// intl and non-intl versions should be the same.
VERIFY( result1 == result2 );
oss.setf(ios_base::showbase);
oss.str(empty);
- iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1);
+ iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits1);
wstring result3 = oss.str();
- VERIFY( result3 == L"7.200.000.000,00 EUR ");
+ VERIFY( result3 == L"7.200.000.000,00 EUR " );
oss.str(empty);
- iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1);
+ iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, L' ', digits1);
wstring result4 = oss.str();
- VERIFY( result4 == L"7.200.000.000,00 \x20ac");
+ VERIFY( result4 == L"7.200.000.000,00 \x20ac" );
// intl and non-intl versions should be different.
VERIFY( result3 != result4 );
// test various fill strategies
oss.str(empty);
oss.width(20);
- iterator_type os_it10 = mon_put.put(oss.rdbuf(), true, oss, '*', digits2);
+ iterator_type os_it10 = mon_put.put(oss.rdbuf(), true, oss, L'*', digits2);
wstring result10 = oss.str();
- VERIFY( result10 == L"***************-,01*");
+ VERIFY( result10 == L"***************-,01*" );
oss.str(empty);
oss.width(20);
oss.setf(ios_base::internal);
- iterator_type os_it11 = mon_put.put(oss.rdbuf(), true, oss, '*', digits2);
+ iterator_type os_it11 = mon_put.put(oss.rdbuf(), true, oss, L'*', digits2);
wstring result11 = oss.str();
- VERIFY( result11 == L"-,01****************");
+ VERIFY( result11 == L"-,01****************" );
}
int main()
// 2003-11-09 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003 Free Software Foundation
+// Copyright (C) 2003, 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// cache the money_put facet
wostringstream oss;
- const money_put<wchar_t>& mon_put = use_facet<money_put<wchar_t> >(oss.getloc());
+ const money_put<wchar_t>& mon_put =
+ use_facet<money_put<wchar_t> >(oss.getloc());
iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, L' ', amount);
wstring result = oss.str();
// cache the money_put facet
wostringstream oss;
oss.imbue(loc_hk);
- const money_put<wchar_t>& mon_put = use_facet<money_put<wchar_t> >(oss.getloc());
+ const money_put<wchar_t>& mon_put =
+ use_facet<money_put<wchar_t> >(oss.getloc());
// now try with showbase, to get currency symbol in format
oss.setf(ios_base::showbase);
// test sign of more than one digit, say hong kong.
oss.str(empty);
- iterator_type os_it05 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1);
+ iterator_type os_it05 = mon_put.put(oss.rdbuf(), false, oss, L' ', digits1);
wstring result5 = oss.str();
- VERIFY( result5 == L"HK$7,200,000,000.00");
+ VERIFY( result5 == L"HK$7,200,000,000.00" );
oss.str(empty);
- iterator_type os_it06 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits2);
+ iterator_type os_it06 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits2);
wstring result6 = oss.str();
- VERIFY( result6 == L"(HKD 100,000,000,000.00)");
+ VERIFY( result6 == L"(HKD 100,000,000,000.00)" );
// test one-digit formats without zero padding
oss.imbue(loc_c);
oss.str(empty);
- const money_put<wchar_t>& mon_put2 = use_facet<money_put<wchar_t> >(oss.getloc());
- iterator_type os_it07 = mon_put2.put(oss.rdbuf(), true, oss, ' ', digits4);
+ const money_put<wchar_t>& mon_put2 =
+ use_facet<money_put<wchar_t> >(oss.getloc());
+ iterator_type os_it07 = mon_put2.put(oss.rdbuf(), true, oss, L' ', digits4);
wstring result7 = oss.str();
- VERIFY( result7 == L"1");
+ VERIFY( result7 == L"1" );
// test one-digit formats with zero padding, zero frac widths
oss.imbue(loc_hk);
oss.str(empty);
- const money_put<wchar_t>& mon_put3 = use_facet<money_put<wchar_t> >(oss.getloc());
- iterator_type os_it08 = mon_put3.put(oss.rdbuf(), true, oss, ' ', digits4);
+ const money_put<wchar_t>& mon_put3 =
+ use_facet<money_put<wchar_t> >(oss.getloc());
+ iterator_type os_it08 = mon_put3.put(oss.rdbuf(), true, oss, L' ', digits4);
wstring result8 = oss.str();
- VERIFY( result8 == L"(HKD .01)");
+ VERIFY( result8 == L"(HKD .01)" );
oss.unsetf(ios_base::showbase);
// test bunk input
oss.str(empty);
- iterator_type os_it09 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits3);
+ iterator_type os_it09 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits3);
wstring result9 = oss.str();
- VERIFY( result9 == L"");
+ VERIFY( result9 == L"" );
}
int main()
// cache the money_put facet
wostringstream oss;
oss.imbue(loc_de);
- const money_put<wchar_t>& mon_put = use_facet<money_put<wchar_t> >(oss.getloc());
+ const money_put<wchar_t>& mon_put =
+ use_facet<money_put<wchar_t> >(oss.getloc());
- iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1);
+ iterator_type os_it01 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits1);
wstring result1 = oss.str();
- VERIFY( result1 == L"7.200.000.000,00 ");
+ VERIFY( result1 == L"7.200.000.000,00 " );
oss.str(empty);
- iterator_type os_it02 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1);
+ iterator_type os_it02 = mon_put.put(oss.rdbuf(), false, oss, L' ', digits1);
wstring result2 = oss.str();
- VERIFY( result2 == L"7.200.000.000,00 ");
+ VERIFY( result2 == L"7.200.000.000,00 " );
// intl and non-intl versions should be the same.
VERIFY( result1 == result2 );
oss.setf(ios_base::showbase);
oss.str(empty);
- iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, ' ', digits1);
+ iterator_type os_it03 = mon_put.put(oss.rdbuf(), true, oss, L' ', digits1);
wstring result3 = oss.str();
- VERIFY( result3 == L"7.200.000.000,00 EUR ");
+ VERIFY( result3 == L"7.200.000.000,00 EUR " );
oss.str(empty);
- iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, ' ', digits1);
+ iterator_type os_it04 = mon_put.put(oss.rdbuf(), false, oss, L' ', digits1);
wstring result4 = oss.str();
- VERIFY( result4 == L"7.200.000.000,00 \x20ac");
+ VERIFY( result4 == L"7.200.000.000,00 \x20ac" );
// intl and non-intl versions should be different.
VERIFY( result3 != result4 );
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// 01 wstring
res = x;
- iter_type ret1 = mp.put(res.begin(), false, oss, ' ', str);
+ iter_type ret1 = mp.put(res.begin(), false, oss, L' ', str);
wstring sanity1(res.begin(), ret1);
VERIFY( err == goodbit );
VERIFY( res == L"1943xxxxxxxxxxxxx" );
// 02 long double
res = x;
- iter_type ret2 = mp.put(res.begin(), false, oss, ' ', ld);
+ iter_type ret2 = mp.put(res.begin(), false, oss, L' ', ld);
wstring sanity2(res.begin(), ret2);
VERIFY( err == goodbit );
VERIFY( res == L"1943xxxxxxxxxxxxx" );
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
struct My_money_io : public std::moneypunct<wchar_t,false>
{
- char_type do_decimal_point() const { return '.'; }
- char_type do_thousands_sep() const { return ','; }
+ char_type do_decimal_point() const { return L'.'; }
+ char_type do_thousands_sep() const { return L','; }
std::string do_grouping() const { return "\003"; }
std::wstring do_negative_sign() const { return L"()"; }
bool intl = false;
wstring val(L"-123456");
- const money_put<wchar_t,OutIt>& mp =
+ const money_put<wchar_t, OutIt>& mp =
use_facet<money_put<wchar_t, OutIt> >(loc);
wostringstream fmt;
fmt.imbue(loc);
OutIt out(fmt);
- mp.put(out,intl,fmt,'*',val);
+ mp.put(out, intl, fmt, L'*', val);
VERIFY( fmt.str() == L"*(1,234.56)" );
}
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
struct My_money_io_2 : public std::moneypunct<wchar_t,false>
{
- char_type do_thousands_sep() const { return ','; }
+ char_type do_thousands_sep() const { return L','; }
std::string do_grouping() const { return "\001"; }
};
bool intl = false;
long double val = 1.0e50L;
- const money_put<wchar_t,OutIt>& mp =
+ const money_put<wchar_t, OutIt>& mp =
use_facet<money_put<wchar_t, OutIt> >(loc);
wostringstream fmt;
fmt.imbue(loc);
OutIt out(fmt);
- mp.put(out,intl,fmt,'*',val);
+ mp.put(out, intl, fmt, L'*', val);
VERIFY( fmt.good() );
}