1// 981208 bkoz test functionality of basic_stringbuf for char_type == wchar_t
2
3// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009
4// 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 <testsuite_hooks.h>
23
24std::wstring str_01(L"mykonos. . . or what?");
25std::wstring str_03;
26std::wstringbuf strb_01(str_01);
27std::wstringbuf strb_03(str_03, std::ios_base::out);
28
29// test overloaded virtual functions
30void test04()
31{
32  bool test __attribute__((unused)) = true;
33  std::wstring 		str_tmp;
34
35  // PUT
36  strb_03.str(str_01); //reset
37
38  // BUFFER MANAGEMENT & POSITIONING
39  // setbuf
40  // pubsetbuf(char_type* s, streamsize n)
41  str_tmp = std::wstring(L"naaaah, go to cebu");
42  strb_01.pubsetbuf(const_cast<wchar_t*> (str_tmp.c_str()), str_tmp.size());
43  VERIFY( strb_01.str() == str_tmp );
44  strb_01.pubsetbuf(0,0);
45  VERIFY( strb_01.str() == str_tmp );
46}
47
48int main()
49{
50  test04();
51  return 0;
52}
53
54
55
56// more candy!!!
57