diff options
Diffstat (limited to 'libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc')
-rw-r--r-- | libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc deleted file mode 100644 index 0a235bbe819..00000000000 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc +++ /dev/null @@ -1,109 +0,0 @@ -// 1999-07-26 bkoz - -// Copyright (C) 1999, 2003 Free Software Foundation -// -// 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 -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 27.6.1.2.3 character extractors - -#include <istream> -#include <sstream> -#include <testsuite_hooks.h> - -void test01() -{ - bool test = true; - std::string str_01; - const std::string str_02("coltrane playing 'softly as a morning sunrise'"); - const std::string str_03("coltrane"); - - std::stringbuf isbuf_01(std::ios_base::in); - std::stringbuf isbuf_02(str_02, std::ios_base::in); - std::istream is_01(NULL); - std::istream is_02(&isbuf_02); - - std::ios_base::iostate state1, state2, statefail; - statefail = std::ios_base::failbit; - - // template<_CharT, _Traits> - // basic_istream& operator>>(istream&, _CharT*) - int n = 20; - char array1[n]; - typedef std::ios::traits_type ctraits_type; - ctraits_type::int_type i1, i2; - - state1 = is_01.rdstate(); - i1 = ctraits_type::length(array1); - is_01 >> array1; // should snake 0 characters, not alter stream state - i2 = ctraits_type::length(array1); - state2 = is_01.rdstate(); - VERIFY( i1 == i2 ); - VERIFY( state1 != state2 ); - VERIFY( static_cast<bool>(state2 & statefail) ); - - state1 = is_02.rdstate(); - is_02 >> array1; // should snake "coltrane" - state2 = is_02.rdstate(); - VERIFY( state1 == state2 ); - VERIFY( !static_cast<bool>(state2 & statefail) ); - VERIFY( array1[str_03.size() - 1] == 'e' ); - array1[str_03.size()] = '\0'; - VERIFY( !str_03.compare(0, str_03.size(), array1) ); - std::istream::int_type int1 = is_02.peek(); // should be ' ' - VERIFY( int1 == ' ' ); - - state1 = is_02.rdstate(); - is_02 >> array1; // should snake "playing" as sentry "eats" ws - state2 = is_02.rdstate(); - int1 = is_02.peek(); // should be ' ' - VERIFY( int1 == ' ' ); - VERIFY( state1 == state2 ); - VERIFY( !static_cast<bool>(state2 & statefail) ); - - // template<_CharT, _Traits> - // basic_istream& operator>>(istream&, unsigned char*) - unsigned char array2[n]; - state1 = is_02.rdstate(); - is_02 >> array2; // should snake 'softly - state2 = is_02.rdstate(); - VERIFY( state1 == state2 ); - VERIFY( !static_cast<bool>(state2 & statefail) ); - VERIFY( array2[0] == '\'' ); - VERIFY( array2[1] == 's' ); - VERIFY( array2[6] == 'y' ); - int1 = is_02.peek(); // should be ' ' - VERIFY( int1 == ' ' ); - - // template<_CharT, _Traits> - // basic_istream& operator>>(istream&, signed char*) - signed char array3[n]; - state1 = is_02.rdstate(); - is_02 >> array3; // should snake "as" - state2 = is_02.rdstate(); - VERIFY( state1 == state2 ); - VERIFY( !static_cast<bool>(state2 & statefail) ); - VERIFY( array3[0] == 'a' ); - VERIFY( array3[1] == 's' ); - int1 = is_02.peek(); // should be ' ' - VERIFY( int1 == ' ' ); -} - -int main() -{ - test01(); - return 0; -} |