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