1 // 1999-10-14 bkoz 2 3 // Copyright (C) 1999-2021 Free Software Foundation, Inc. 4 // 5 // This file is part of the GNU ISO C++ Library. This library is free 6 // software; you can redistribute it and/or modify it under the 7 // terms of the GNU General Public License as published by the 8 // Free Software Foundation; either version 3, or (at your option) 9 // any later version. 10 11 // This library is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU General Public License for more details. 15 16 // You should have received a copy of the GNU General Public License along 17 // with this library; see the file COPYING3. If not see 18 // <http://www.gnu.org/licenses/>. 19 20 21 // 27.6.1.1.2 class basic_istream::sentry 22 23 #include <istream> 24 #include <sstream> 25 #include <testsuite_hooks.h> 26 test01()27void test01() 28 { 29 const char* lit01 = "stereolab on the bolsinga tip"; 30 const std::string str01(lit01); 31 32 std::stringbuf strbuf01; 33 std::stringbuf strbuf02(str01); 34 std::istream istr01(&strbuf01); 35 std::istream istr02(&strbuf02); 36 37 // test negatives 38 std::istream::sentry sentry01(istr01); 39 VERIFY( bool(sentry01) == false ); 40 41 std::istream::sentry sentry02(istr01, true); 42 VERIFY( bool(sentry02) == false ); 43 44 // positive tests 45 std::istream::sentry sentry03(istr02); 46 VERIFY( bool(sentry03) == true ); 47 48 std::istream::sentry sentry04(istr02, true); 49 VERIFY( bool(sentry04) == true ); 50 } 51 main()52int main() 53 { 54 test01(); 55 return 0; 56 } 57