9780-2.cc: Add test for "C" locale, add sanity checks in case of grouping.
2011-12-15 Benjamin Kosnik <bkoz@redhat.com> * testsuite/22_locale/num_put/put/char/9780-2.cc: Add test for "C" locale, add sanity checks in case of grouping. From-SVN: r182385
This commit is contained in:
parent
a3fd80eade
commit
faf81b1a18
|
@ -1,3 +1,8 @@
|
|||
2011-12-15 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* testsuite/22_locale/num_put/put/char/9780-2.cc: Add test for "C"
|
||||
locale, add sanity checks in case of grouping.
|
||||
|
||||
2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
PR libstdc++/51540
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// { dg-require-namedlocale "de_DE" }
|
||||
// { dg-require-namedlocale "es_ES" }
|
||||
|
||||
// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2004, 2005, 2009, 2011 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
|
||||
|
@ -22,23 +22,60 @@
|
|||
#include <locale>
|
||||
#include <testsuite_hooks.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
using namespace std;
|
||||
// Make sure that formatted output uses the locale in the output stream.
|
||||
using namespace std;
|
||||
locale l1 = locale("de_DE");
|
||||
const num_put<char>& np = use_facet<num_put<char> >(l1);
|
||||
const numpunct<char>& npunct = use_facet<numpunct<char> >(l1);
|
||||
|
||||
void test01()
|
||||
{
|
||||
bool test __attribute__((unused)) = true;
|
||||
locale l1 = locale("de_DE");
|
||||
locale l2 = locale("es_ES");
|
||||
|
||||
const num_put<char>& np = use_facet<num_put<char> >(l1);
|
||||
|
||||
locale l2 = locale("C");
|
||||
const numpunct<char>& npunct2 = use_facet<numpunct<char> >(l2);
|
||||
char c = npunct2.thousands_sep();
|
||||
string s = npunct2.grouping();
|
||||
|
||||
ostringstream oss;
|
||||
oss.imbue(l2);
|
||||
|
||||
long l = 1234567890;
|
||||
np.put(oss.rdbuf(), oss, ' ', l); // 1234567890
|
||||
np.put(oss.rdbuf(), oss, ' ', l);
|
||||
string res = oss.str();
|
||||
|
||||
VERIFY( res == "1234567890" );
|
||||
|
||||
VERIFY( res == "1234567890" );
|
||||
}
|
||||
|
||||
void test02()
|
||||
{
|
||||
bool test __attribute__((unused)) = true;
|
||||
|
||||
locale l2 = locale("es_ES");
|
||||
const numpunct<char>& npunct3 = use_facet<numpunct<char> >(l2);
|
||||
char c = npunct3.thousands_sep();
|
||||
string s = npunct3.grouping();
|
||||
|
||||
ostringstream oss;
|
||||
oss.imbue(l2);
|
||||
|
||||
long l = 1234567890;
|
||||
np.put(oss.rdbuf(), oss, ' ', l);
|
||||
string res = oss.str();
|
||||
|
||||
if (!s.empty())
|
||||
VERIFY( res == "1.234.567.890" );
|
||||
else
|
||||
VERIFY( res == "1234567890" );
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
// Sanity check.
|
||||
char c = npunct.thousands_sep();
|
||||
string s = npunct.grouping();
|
||||
|
||||
test01();
|
||||
test02();
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue