URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/tags/gnu-dev/fsf-gcc-snapshot-1-mar-12/or1k-gcc/libstdc++-v3/testsuite/22_locale/money_put/put
- from Rev 742 to Rev 783
- ↔ Reverse comparison
Rev 742 → Rev 783
/wchar_t/1.cc
0,0 → 1,109
// { dg-require-namedlocale "de_DE@euro" } |
|
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 |
// 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
// test wstring version |
void test01() |
{ |
using namespace std; |
typedef ostreambuf_iterator<wchar_t> iterator_type; |
|
bool test __attribute__((unused)) = true; |
|
// basic construction |
locale loc_c = locale::classic(); |
locale loc_de = locale("de_DE@euro"); |
VERIFY( loc_c != loc_de ); |
|
// sanity check the data is correct. |
const wstring empty; |
|
// total EPA budget FY 2002 |
const wstring digits1(L"720000000000"); |
|
// input less than frac_digits |
const wstring digits2(L"-1"); |
|
// 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()); |
|
mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); |
wstring result1 = oss.str(); |
VERIFY( result1 == L"7.200.000.000,00 " ); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); |
wstring result2 = oss.str(); |
VERIFY( result2 == L"7.200.000.000,00 " ); |
|
// intl and non-intl versions should be the same. |
VERIFY( result1 == result2 ); |
|
// now try with showbase, to get currency symbol in format |
oss.setf(ios_base::showbase); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); |
wstring result3 = oss.str(); |
VERIFY( result3 == L"7.200.000.000,00 EUR " ); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); |
wstring result4 = oss.str(); |
VERIFY( result4 == L"7.200.000.000,00 \x20ac" ); |
|
// intl and non-intl versions should be different. |
VERIFY( result3 != result4 ); |
VERIFY( result3 != result1 ); |
VERIFY( result4 != result2 ); |
|
oss.unsetf(ios_base::showbase); |
|
// test io.width() > length |
// test various fill strategies |
oss.str(empty); |
oss.width(20); |
mon_put.put(oss.rdbuf(), true, oss, L'*', digits2); |
wstring result10 = oss.str(); |
VERIFY( result10 == L"***************-,01*" ); |
|
oss.str(empty); |
oss.width(20); |
oss.setf(ios_base::internal); |
mon_put.put(oss.rdbuf(), true, oss, L'*', digits2); |
wstring result11 = oss.str(); |
VERIFY( result11 == L"-,01****************" ); |
} |
|
int main() |
{ |
test01(); |
return 0; |
} |
/wchar_t/2.cc
0,0 → 1,108
// { dg-require-namedlocale "en_HK" } |
|
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 |
// 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
// test wstring version |
void test02() |
{ |
using namespace std; |
typedef ostreambuf_iterator<wchar_t> iterator_type; |
|
bool test __attribute__((unused)) = true; |
|
// basic construction |
locale loc_c = locale::classic(); |
locale loc_hk = locale("en_HK"); |
VERIFY( loc_c != loc_hk ); |
|
// sanity check the data is correct. |
const wstring empty; |
|
// total EPA budget FY 2002 |
const wstring digits1(L"720000000000"); |
|
// est. cost, national missile "defense", expressed as a loss in USD 2001 |
const wstring digits2(L"-10000000000000"); |
|
// not valid input |
const wstring digits3(L"-A"); |
|
// input less than frac_digits |
const wstring digits4(L"-1"); |
|
// 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()); |
|
// 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); |
mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); |
wstring result5 = oss.str(); |
VERIFY( result5 == L"HK$7,200,000,000.00" ); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), true, oss, L' ', digits2); |
wstring result6 = oss.str(); |
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()); |
mon_put2.put(oss.rdbuf(), true, oss, L' ', digits4); |
wstring result7 = oss.str(); |
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()); |
mon_put3.put(oss.rdbuf(), true, oss, L' ', digits4); |
wstring result8 = oss.str(); |
VERIFY( result8 == L"(HKD .01)" ); |
|
oss.unsetf(ios_base::showbase); |
|
// test bunk input |
oss.str(empty); |
mon_put.put(oss.rdbuf(), true, oss, L' ', digits3); |
wstring result9 = oss.str(); |
VERIFY( result9 == L"" ); |
} |
|
int main() |
{ |
test02(); |
return 0; |
} |
/wchar_t/wrapped_locale.cc
0,0 → 1,64
// { dg-require-namedlocale "ja_JP.eucjp" } |
// { dg-require-namedlocale "de_DE@euro" } |
// { dg-require-namedlocale "en_HK" } |
|
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2005, 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.4.1.1 collate members |
|
#include <testsuite_hooks.h> |
|
#define main discard_main_1 |
#include "1.cc" |
#undef main |
|
#define main discard_main_2 |
#include "2.cc" |
#undef main |
|
#define main discard_main_3 |
#include "3.cc" |
#undef main |
|
#define main discard_main_4 |
#include "4.cc" |
#undef main |
|
#define main discard_main_5 |
#include "5.cc" |
#undef main |
|
#define main discard_main_6 |
#include "6.cc" |
#undef main |
|
int main() |
{ |
using namespace __gnu_test; |
func_callback two; |
two.push_back(&test01); |
two.push_back(&test02); |
two.push_back(&test03); |
two.push_back(&test04); |
two.push_back(&test05); |
two.push_back(&test06); |
run_tests_wrapped_locale("ja_JP.eucjp", two); |
return 0; |
} |
/wchar_t/3.cc
0,0 → 1,89
// { dg-require-namedlocale "de_DE@euro" } |
|
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 |
// 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
// test double version |
void test03() |
{ |
using namespace std; |
typedef ostreambuf_iterator<wchar_t> iterator_type; |
|
bool test __attribute__((unused)) = true; |
|
// basic construction |
locale loc_c = locale::classic(); |
locale loc_de = locale("de_DE@euro"); |
VERIFY( loc_c != loc_de ); |
|
// sanity check the data is correct. |
const wstring empty; |
|
// total EPA budget FY 2002 |
const long double digits1 = 720000000000.0; |
|
// 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()); |
|
mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); |
wstring result1 = oss.str(); |
VERIFY( result1 == L"7.200.000.000,00 " ); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); |
wstring result2 = oss.str(); |
VERIFY( result2 == L"7.200.000.000,00 " ); |
|
// intl and non-intl versions should be the same. |
VERIFY( result1 == result2 ); |
|
// now try with showbase, to get currency symbol in format |
oss.setf(ios_base::showbase); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), true, oss, L' ', digits1); |
wstring result3 = oss.str(); |
VERIFY( result3 == L"7.200.000.000,00 EUR " ); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), false, oss, L' ', digits1); |
wstring result4 = oss.str(); |
VERIFY( result4 == L"7.200.000.000,00 \x20ac" ); |
|
// intl and non-intl versions should be different. |
VERIFY( result3 != result4 ); |
VERIFY( result3 != result1 ); |
VERIFY( result4 != result2 ); |
} |
|
int main() |
{ |
test03(); |
return 0; |
} |
/wchar_t/4.cc
0,0 → 1,71
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2004, 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
void test04() |
{ |
using namespace std; |
bool test __attribute__((unused)) = true; |
|
// Check money_put works with other iterators besides streambuf |
// output iterators. (As long as output_iterator requirements are met.) |
typedef wstring::iterator iter_type; |
typedef money_put<wchar_t, iter_type> mon_put_type; |
const ios_base::iostate goodbit = ios_base::goodbit; |
ios_base::iostate err = goodbit; |
const locale loc_c = locale::classic(); |
// woman, art, thief (stole the blues) |
const wstring str(L"1943 Janis Joplin"); |
const long double ld = 1943.0; |
const wstring x(str.size(), 'x'); // have to have allocated wstring! |
wstring res; |
|
ostringstream oss; |
oss.imbue(locale(loc_c, new mon_put_type)); |
|
// Iterator advanced, state, output. |
const mon_put_type& mp = use_facet<mon_put_type>(oss.getloc()); |
|
// 01 wstring |
res = x; |
iter_type ret1 = mp.put(res.begin(), false, oss, L' ', str); |
wstring sanity1(res.begin(), ret1); |
VERIFY( err == goodbit ); |
VERIFY( res == L"1943xxxxxxxxxxxxx" ); |
VERIFY( sanity1 == L"1943" ); |
|
// 02 long double |
res = x; |
iter_type ret2 = mp.put(res.begin(), false, oss, L' ', ld); |
wstring sanity2(res.begin(), ret2); |
VERIFY( err == goodbit ); |
VERIFY( res == L"1943xxxxxxxxxxxxx" ); |
VERIFY( sanity2 == L"1943" ); |
} |
|
int main() |
{ |
test04(); |
return 0; |
} |
/wchar_t/12971.cc
0,0 → 1,50
// 2003-11-09 Paolo Carlini <pcarlini@suse.de> |
|
// Copyright (C) 2003, 2004, 2009, 2010 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
// libstdc++/12971 |
void test01() |
{ |
using namespace std; |
bool test __attribute__((unused)) = true; |
|
typedef ostreambuf_iterator<wchar_t> iterator_type; |
|
long double amount = 10.8L; |
|
// cache the money_put facet |
wostringstream oss; |
const money_put<wchar_t>& mon_put = |
use_facet<money_put<wchar_t> >(oss.getloc()); |
|
mon_put.put(oss.rdbuf(), true, oss, L' ', amount); |
wstring result = oss.str(); |
VERIFY( result == L"11" ); |
} |
|
int main() |
{ |
test01(); |
return 0; |
} |
/wchar_t/5.cc
0,0 → 1,69
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2004, 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
struct My_money_io : public std::moneypunct<wchar_t,false> |
{ |
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"()"; } |
|
int do_frac_digits() const { return 2; } |
|
pattern do_neg_format() const |
{ |
pattern pat = { { symbol, space, sign, value } }; |
return pat; |
} |
}; |
|
// libstdc++/5708 |
void test05() |
{ |
using namespace std; |
bool test __attribute__((unused)) = true; |
typedef ostreambuf_iterator<wchar_t> OutIt; |
|
locale loc(locale::classic(), new My_money_io); |
|
bool intl = false; |
|
wstring val(L"-123456"); |
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, L'*', val); |
VERIFY( fmt.str() == L"*(1,234.56)" ); |
} |
|
int main() |
{ |
test05(); |
return 0; |
} |
/wchar_t/6.cc
0,0 → 1,58
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2004, 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
struct My_money_io_2 : public std::moneypunct<wchar_t,false> |
{ |
char_type do_thousands_sep() const { return L','; } |
std::string do_grouping() const { return "\001"; } |
}; |
|
// Make sure we can output a very big amount of money (with grouping too). |
void test06() |
{ |
using namespace std; |
bool test __attribute__((unused)) = true; |
typedef ostreambuf_iterator<wchar_t> OutIt; |
|
locale loc(locale::classic(), new My_money_io_2); |
|
bool intl = false; |
|
long double val = 1.0e50L; |
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, L'*', val); |
VERIFY( fmt.good() ); |
} |
|
int main() |
{ |
test06(); |
return 0; |
} |
/wchar_t/39168.cc
0,0 → 1,50
// Copyright (C) 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <sstream> |
#include <locale> |
#include <climits> |
#include <testsuite_hooks.h> |
|
class my_moneypunct: public std::moneypunct<wchar_t> |
{ |
protected: |
std::string do_grouping() const { return std::string(1, CHAR_MAX); } |
}; |
|
// libstdc++/39168 |
void test01() |
{ |
bool test __attribute__((unused)) = true; |
using namespace std; |
|
wostringstream oss; |
oss.imbue(locale(oss.getloc(), new my_moneypunct)); |
const money_put<wchar_t>& mp = use_facet<money_put<wchar_t> >(oss.getloc()); |
|
wstring digits(300, L'1'); |
mp.put(oss.rdbuf(), false, oss, ' ', digits); |
VERIFY( oss.str() == digits ); |
} |
|
int main() |
{ |
test01(); |
return 0; |
} |
/wchar_t/wrapped_env.cc
0,0 → 1,64
// { dg-require-namedlocale "de_DE" } |
// { dg-require-namedlocale "de_DE@euro" } |
// { dg-require-namedlocale "en_HK" } |
|
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2005, 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.4.1.1 collate members |
|
#include <testsuite_hooks.h> |
|
#define main discard_main_1 |
#include "1.cc" |
#undef main |
|
#define main discard_main_2 |
#include "2.cc" |
#undef main |
|
#define main discard_main_3 |
#include "3.cc" |
#undef main |
|
#define main discard_main_4 |
#include "4.cc" |
#undef main |
|
#define main discard_main_5 |
#include "5.cc" |
#undef main |
|
#define main discard_main_6 |
#include "6.cc" |
#undef main |
|
int main() |
{ |
using namespace __gnu_test; |
func_callback two; |
two.push_back(&test01); |
two.push_back(&test02); |
two.push_back(&test03); |
two.push_back(&test04); |
two.push_back(&test05); |
two.push_back(&test06); |
run_tests_wrapped_env("de_DE", "LANG", two); |
return 0; |
} |
/char/1.cc
0,0 → 1,108
// { dg-require-namedlocale "de_DE@euro" } |
|
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 |
// 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
// test string version |
void test01() |
{ |
using namespace std; |
typedef ostreambuf_iterator<char> iterator_type; |
|
bool test __attribute__((unused)) = true; |
|
// basic construction |
locale loc_c = locale::classic(); |
locale loc_de = locale("de_DE@euro"); |
VERIFY( loc_c != loc_de ); |
|
// sanity check the data is correct. |
const string empty; |
|
// total EPA budget FY 2002 |
const string digits1("720000000000"); |
|
// input less than frac_digits |
const string digits2("-1"); |
|
// cache the money_put facet |
ostringstream oss; |
oss.imbue(loc_de); |
const money_put<char>& mon_put = use_facet<money_put<char> >(oss.getloc()); |
|
mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); |
string result1 = oss.str(); |
VERIFY( result1 == "7.200.000.000,00 "); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); |
string result2 = oss.str(); |
VERIFY( result2 == "7.200.000.000,00 "); |
|
// intl and non-intl versions should be the same. |
VERIFY( result1 == result2 ); |
|
// now try with showbase, to get currency symbol in format |
oss.setf(ios_base::showbase); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); |
string result3 = oss.str(); |
VERIFY( result3 == "7.200.000.000,00 EUR "); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); |
string result4 = oss.str(); |
VERIFY( result4 == "7.200.000.000,00 \244"); |
|
// intl and non-intl versions should be different. |
VERIFY( result3 != result4 ); |
VERIFY( result3 != result1 ); |
VERIFY( result4 != result2 ); |
|
oss.unsetf(ios_base::showbase); |
|
// test io.width() > length |
// test various fill strategies |
oss.str(empty); |
oss.width(20); |
mon_put.put(oss.rdbuf(), true, oss, '*', digits2); |
string result10 = oss.str(); |
VERIFY( result10 == "***************-,01*"); |
|
oss.str(empty); |
oss.width(20); |
oss.setf(ios_base::internal); |
mon_put.put(oss.rdbuf(), true, oss, '*', digits2); |
string result11 = oss.str(); |
VERIFY( result11 == "-,01****************"); |
} |
|
int main() |
{ |
test01(); |
return 0; |
} |
/char/2.cc
0,0 → 1,105
// { dg-require-namedlocale "en_HK" } |
|
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 |
// 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
// test string version |
void test02() |
{ |
using namespace std; |
typedef ostreambuf_iterator<char> iterator_type; |
|
bool test __attribute__((unused)) = true; |
|
// basic construction |
locale loc_c = locale::classic(); |
locale loc_hk = locale("en_HK"); |
VERIFY( loc_c != loc_hk ); |
|
// sanity check the data is correct. |
const string empty; |
|
// total EPA budget FY 2002 |
const string digits1("720000000000"); |
|
// est. cost, national missile "defense", expressed as a loss in USD 2001 |
const string digits2("-10000000000000"); |
|
// not valid input |
const string digits3("-A"); |
|
// input less than frac_digits |
const string digits4("-1"); |
|
// cache the money_put facet |
ostringstream oss; |
oss.imbue(loc_hk); |
const money_put<char>& mon_put = use_facet<money_put<char> >(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); |
mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); |
string result5 = oss.str(); |
VERIFY( result5 == "HK$7,200,000,000.00"); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), true, oss, ' ', digits2); |
string result6 = oss.str(); |
VERIFY( result6 == "(HKD 100,000,000,000.00)"); |
|
// test one-digit formats without zero padding |
oss.imbue(loc_c); |
oss.str(empty); |
const money_put<char>& mon_put2 = use_facet<money_put<char> >(oss.getloc()); |
mon_put2.put(oss.rdbuf(), true, oss, ' ', digits4); |
string result7 = oss.str(); |
VERIFY( result7 == "1"); |
|
// test one-digit formats with zero padding, zero frac widths |
oss.imbue(loc_hk); |
oss.str(empty); |
const money_put<char>& mon_put3 = use_facet<money_put<char> >(oss.getloc()); |
mon_put3.put(oss.rdbuf(), true, oss, ' ', digits4); |
string result8 = oss.str(); |
VERIFY( result8 == "(HKD .01)"); |
|
oss.unsetf(ios_base::showbase); |
|
// test bunk input |
oss.str(empty); |
mon_put.put(oss.rdbuf(), true, oss, ' ', digits3); |
string result9 = oss.str(); |
VERIFY( result9 == ""); |
} |
|
int main() |
{ |
test02(); |
return 0; |
} |
/char/wrapped_locale.cc
0,0 → 1,64
// { dg-require-namedlocale "ja_JP.eucjp" } |
// { dg-require-namedlocale "de_DE@euro" } |
// { dg-require-namedlocale "en_HK" } |
|
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2005, 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.4.1.1 collate members |
|
#include <testsuite_hooks.h> |
|
#define main discard_main_1 |
#include "1.cc" |
#undef main |
|
#define main discard_main_2 |
#include "2.cc" |
#undef main |
|
#define main discard_main_3 |
#include "3.cc" |
#undef main |
|
#define main discard_main_4 |
#include "4.cc" |
#undef main |
|
#define main discard_main_5 |
#include "5.cc" |
#undef main |
|
#define main discard_main_6 |
#include "6.cc" |
#undef main |
|
int main() |
{ |
using namespace __gnu_test; |
func_callback two; |
two.push_back(&test01); |
two.push_back(&test02); |
two.push_back(&test03); |
two.push_back(&test04); |
two.push_back(&test05); |
two.push_back(&test06); |
run_tests_wrapped_locale("ja_JP.eucjp", two); |
return 0; |
} |
/char/3.cc
0,0 → 1,88
// { dg-require-namedlocale "de_DE@euro" } |
|
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010 |
// 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
// test double version |
void test03() |
{ |
using namespace std; |
typedef ostreambuf_iterator<char> iterator_type; |
|
bool test __attribute__((unused)) = true; |
|
// basic construction |
locale loc_c = locale::classic(); |
locale loc_de = locale("de_DE@euro"); |
VERIFY( loc_c != loc_de ); |
|
// sanity check the data is correct. |
const string empty; |
|
// total EPA budget FY 2002 |
const long double digits1 = 720000000000.0; |
|
// cache the money_put facet |
ostringstream oss; |
oss.imbue(loc_de); |
const money_put<char>& mon_put = use_facet<money_put<char> >(oss.getloc()); |
|
mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); |
string result1 = oss.str(); |
VERIFY( result1 == "7.200.000.000,00 "); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); |
string result2 = oss.str(); |
VERIFY( result2 == "7.200.000.000,00 "); |
|
// intl and non-intl versions should be the same. |
VERIFY( result1 == result2 ); |
|
// now try with showbase, to get currency symbol in format |
oss.setf(ios_base::showbase); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), true, oss, ' ', digits1); |
string result3 = oss.str(); |
VERIFY( result3 == "7.200.000.000,00 EUR "); |
|
oss.str(empty); |
mon_put.put(oss.rdbuf(), false, oss, ' ', digits1); |
string result4 = oss.str(); |
VERIFY( result4 == "7.200.000.000,00 \244"); |
|
// intl and non-intl versions should be different. |
VERIFY( result3 != result4 ); |
VERIFY( result3 != result1 ); |
VERIFY( result4 != result2 ); |
} |
|
int main() |
{ |
test03(); |
return 0; |
} |
/char/12971.cc
0,0 → 1,49
// 2003-11-09 Paolo Carlini <pcarlini@suse.de> |
|
// Copyright (C) 2003, 2009, 2010 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
// libstdc++/12971 |
void test01() |
{ |
using namespace std; |
bool test __attribute__((unused)) = true; |
|
typedef ostreambuf_iterator<char> iterator_type; |
|
long double amount = 10.8L; |
|
// cache the money_put facet |
ostringstream oss; |
const money_put<char>& mon_put = use_facet<money_put<char> >(oss.getloc()); |
|
mon_put.put(oss.rdbuf(), true, oss, ' ', amount); |
string result = oss.str(); |
VERIFY( result == "11" ); |
} |
|
int main() |
{ |
test01(); |
return 0; |
} |
/char/4.cc
0,0 → 1,71
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
void test04() |
{ |
using namespace std; |
bool test __attribute__((unused)) = true; |
|
// Check money_put works with other iterators besides streambuf |
// output iterators. (As long as output_iterator requirements are met.) |
typedef string::iterator iter_type; |
typedef money_put<char, iter_type> mon_put_type; |
const ios_base::iostate goodbit = ios_base::goodbit; |
ios_base::iostate err = goodbit; |
const locale loc_c = locale::classic(); |
// woman, art, thief (stole the blues) |
const string str("1943 Janis Joplin"); |
const long double ld = 1943.0; |
const string x(str.size(), 'x'); // have to have allocated string! |
string res; |
|
ostringstream oss; |
oss.imbue(locale(loc_c, new mon_put_type)); |
|
// Iterator advanced, state, output. |
const mon_put_type& mp = use_facet<mon_put_type>(oss.getloc()); |
|
// 01 string |
res = x; |
iter_type ret1 = mp.put(res.begin(), false, oss, ' ', str); |
string sanity1(res.begin(), ret1); |
VERIFY( err == goodbit ); |
VERIFY( res == "1943xxxxxxxxxxxxx" ); |
VERIFY( sanity1 == "1943" ); |
|
// 02 long double |
res = x; |
iter_type ret2 = mp.put(res.begin(), false, oss, ' ', ld); |
string sanity2(res.begin(), ret2); |
VERIFY( err == goodbit ); |
VERIFY( res == "1943xxxxxxxxxxxxx" ); |
VERIFY( sanity2 == "1943" ); |
} |
|
int main() |
{ |
test04(); |
return 0; |
} |
/char/5.cc
0,0 → 1,69
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
struct My_money_io : public std::moneypunct<char,false> |
{ |
char_type do_decimal_point() const { return '.'; } |
char_type do_thousands_sep() const { return ','; } |
std::string do_grouping() const { return "\003"; } |
|
std::string do_negative_sign() const { return "()"; } |
|
int do_frac_digits() const { return 2; } |
|
pattern do_neg_format() const |
{ |
pattern pat = { { symbol, space, sign, value } }; |
return pat; |
} |
}; |
|
// libstdc++/5708 |
void test05() |
{ |
using namespace std; |
bool test __attribute__((unused)) = true; |
typedef ostreambuf_iterator<char> OutIt; |
|
locale loc(locale::classic(), new My_money_io); |
|
bool intl = false; |
|
string val("-123456"); |
const money_put<char,OutIt>& mp = |
use_facet<money_put<char, OutIt> >(loc); |
|
ostringstream fmt; |
fmt.imbue(loc); |
OutIt out(fmt); |
mp.put(out,intl,fmt,'*',val); |
VERIFY( fmt.str() == "*(1,234.56)" ); |
} |
|
int main() |
{ |
test05(); |
return 0; |
} |
/char/6.cc
0,0 → 1,58
// 2001-08-27 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <locale> |
#include <sstream> |
#include <testsuite_hooks.h> |
|
struct My_money_io_2 : public std::moneypunct<char,false> |
{ |
char_type do_thousands_sep() const { return ','; } |
std::string do_grouping() const { return "\001"; } |
}; |
|
// Make sure we can output a very big amount of money (with grouping too). |
void test06() |
{ |
using namespace std; |
bool test __attribute__((unused)) = true; |
typedef ostreambuf_iterator<char> OutIt; |
|
locale loc(locale::classic(), new My_money_io_2); |
|
bool intl = false; |
|
long double val = 1.0e50L; |
const money_put<char,OutIt>& mp = |
use_facet<money_put<char, OutIt> >(loc); |
|
ostringstream fmt; |
fmt.imbue(loc); |
OutIt out(fmt); |
mp.put(out,intl,fmt,'*',val); |
VERIFY( fmt.good() ); |
} |
|
int main() |
{ |
test06(); |
return 0; |
} |
/char/9780-3.cc
0,0 → 1,50
// { dg-require-namedlocale "de_DE" } |
// { dg-require-namedlocale "es_ES" } |
|
// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 |
// Free Software Foundation, Inc. |
// |
// 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
#include <sstream> |
#include <locale> |
#include <testsuite_hooks.h> |
|
int main() |
{ |
using namespace std; |
|
bool test __attribute__((unused)) = true; |
locale l1 = locale("de_DE"); |
locale l2 = locale("es_ES"); |
|
const money_put<char>& mp = use_facet<money_put<char> >(l1); |
ostringstream oss; |
oss.imbue(l2); |
oss.setf(ios_base::showbase); |
|
long double ld = -1234567890; |
mp.put(oss.rdbuf(), true, oss, ' ', ld); // -EUR 12.345.678,90 |
string res = oss.str(); |
|
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 7) |
VERIFY( res == "-12.345.678,90 EUR " ); |
#else |
VERIFY( res == "-EUR 12.345.678,90" ); |
#endif |
|
return 0; |
} |
/char/39168.cc
0,0 → 1,50
// Copyright (C) 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.6.2.1 money_put members |
|
#include <sstream> |
#include <locale> |
#include <climits> |
#include <testsuite_hooks.h> |
|
class my_moneypunct: public std::moneypunct<char> |
{ |
protected: |
std::string do_grouping() const { return std::string(1, CHAR_MAX); } |
}; |
|
// libstdc++/39168 |
void test01() |
{ |
bool test __attribute__((unused)) = true; |
using namespace std; |
|
ostringstream oss; |
oss.imbue(locale(oss.getloc(), new my_moneypunct)); |
const money_put<char>& mp = use_facet<money_put<char> >(oss.getloc()); |
|
string digits(300, '1'); |
mp.put(oss.rdbuf(), false, oss, ' ', digits); |
VERIFY( oss.str() == digits ); |
} |
|
int main() |
{ |
test01(); |
return 0; |
} |
/char/wrapped_env.cc
0,0 → 1,64
// { dg-require-namedlocale "de_DE" } |
// { dg-require-namedlocale "de_DE@euro" } |
// { dg-require-namedlocale "en_HK" } |
|
// 2001-08-15 Benjamin Kosnik <bkoz@redhat.com> |
|
// Copyright (C) 2001, 2002, 2003, 2005, 2009 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 |
// terms of the GNU General Public License as published by the |
// Free Software Foundation; either version 3, or (at your option) |
// any later version. |
|
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
|
// You should have received a copy of the GNU General Public License along |
// with this library; see the file COPYING3. If not see |
// <http://www.gnu.org/licenses/>. |
|
// 22.2.4.1.1 collate members |
|
#include <testsuite_hooks.h> |
|
#define main discard_main_1 |
#include "1.cc" |
#undef main |
|
#define main discard_main_2 |
#include "2.cc" |
#undef main |
|
#define main discard_main_3 |
#include "3.cc" |
#undef main |
|
#define main discard_main_4 |
#include "4.cc" |
#undef main |
|
#define main discard_main_5 |
#include "5.cc" |
#undef main |
|
#define main discard_main_6 |
#include "6.cc" |
#undef main |
|
int main() |
{ |
using namespace __gnu_test; |
func_callback two; |
two.push_back(&test01); |
two.push_back(&test02); |
two.push_back(&test03); |
two.push_back(&test04); |
two.push_back(&test05); |
two.push_back(&test06); |
run_tests_wrapped_env("de_DE", "LANG", two); |
return 0; |
} |