1// Copyright (C) 2004 Free Software Foundation, Inc.
2//
3// This file is part of the GNU ISO C++ Library.  This library is free
4// software; you can redistribute it and/or modify it under the
5// terms of the GNU General Public License as published by the
6// Free Software Foundation; either version 2, or (at your option)
7// any later version.
8
9// This library is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12// GNU General Public License for more details.
13
14// You should have received a copy of the GNU General Public License along
15// with this library; see the file COPYING.  If not, write to the Free
16// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
17// USA.
18
19// 27.7.3.2 member functions (ostringstream_members)
20
21#include <sstream>
22#include <testsuite_hooks.h>
23
24// 03: sanity checks for strings, stringbufs
25void
26test03()
27{
28  bool test __attribute__((unused)) = false;
29
30  // Empty string sanity check.
31  std::wstring str01;
32  std::wstring::iterator __i_start = str01.begin();
33  std::wstring::iterator __i_end = str01.end();
34  std::wstring::size_type len = str01.size();
35  test = __i_start == __i_end;
36  VERIFY( len == 0 );
37
38  // Full string sanity check.
39  std::wstring str02(L"these golden days, i spend waiting for you:\n"
40		     L"Betty Carter on Verve with I'm Yours and You're Mine.");
41  __i_start = str02.begin();
42  __i_end = str02.end();
43  len = str02.size();
44  VERIFY( __i_start != __i_end );
45  VERIFY( len != 0 );
46
47  // Test an empty ostringstream for sanity.
48  std::wostringstream ostrstream0;
49  std::wstring str03 = ostrstream0.str();
50  __i_start = str03.begin();
51  __i_end = str03.end();
52  len = str03.size();
53  VERIFY( __i_start == __i_end );
54  VERIFY( len == 0 );
55  VERIFY( str01 == str03 );
56}
57
58int main()
59{
60  test03();
61  return 0;
62}
63