1// { dg-require-namedlocale "de_DE" }
2// { dg-require-namedlocale "es_ES" }
3
4// Copyright (C) 2004-2015 Free Software Foundation, Inc.
5//
6// This file is part of the GNU ISO C++ Library.  This library is free
7// software; you can redistribute it and/or modify it under the
8// terms of the GNU General Public License as published by the
9// Free Software Foundation; either version 3, or (at your option)
10// any later version.
11
12// This library is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15// GNU General Public License for more details.
16
17// You should have received a copy of the GNU General Public License along
18// with this library; see the file COPYING3.  If not see
19// <http://www.gnu.org/licenses/>.
20
21#include <sstream>
22#include <locale>
23#include <testsuite_hooks.h>
24
25int main()
26{
27  using namespace std;
28
29  bool test __attribute__((unused)) = true;
30  locale l1 = locale("de_DE");
31  locale l2 = locale("es_ES");
32
33  const money_put<char>& mp = use_facet<money_put<char> >(l1);
34  ostringstream oss;
35  oss.imbue(l2);
36  oss.setf(ios_base::showbase);
37
38  long double ld = -1234567890;
39  mp.put(oss.rdbuf(), true, oss, ' ', ld); // -EUR  12.345.678,90
40  string res = oss.str();
41
42#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 7)
43  VERIFY( res == "-12.345.678,90 EUR " );
44#else
45  VERIFY( res == "-EUR  12.345.678,90" );
46#endif
47
48  return 0;
49}
50