Reverting merge from trunk
[official-gcc.git] / libstdc++-v3 / testsuite / 27_io / basic_istream / sentry / wchar_t / 1.cc
blob2a35091026af485f341e3bbc9a46d214c7855a70
1 // Copyright (C) 2004-2013 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 3, or (at your option)
7 // any later version.
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.
14 // You should have received a copy of the GNU General Public License along
15 // with this library; see the file COPYING3. If not see
16 // <http://www.gnu.org/licenses/>.
19 // 27.6.1.1.2 class basic_istream::sentry
21 #include <istream>
22 #include <sstream>
23 #include <testsuite_hooks.h>
25 void test01()
27 bool test __attribute__((unused)) = true;
28 const wchar_t* lit01 = L"stereolab on the bolsinga tip";
29 const std::wstring str01(lit01);
31 std::wstringbuf strbuf01;
32 std::wstringbuf strbuf02(str01);
33 std::wistream istr01(&strbuf01);
34 std::wistream istr02(&strbuf02);
36 // test negatives
37 std::wistream::sentry sentry01(istr01);
38 VERIFY( bool(sentry01) == false );
40 std::wistream::sentry sentry02(istr01, true);
41 VERIFY( bool(sentry02) == false );
43 // positive tests
44 std::wistream::sentry sentry03(istr02);
45 VERIFY( bool(sentry03) == true );
47 std::wistream::sentry sentry04(istr02, true);
48 VERIFY( bool(sentry04) == true );
51 int main()
53 test01();
54 return 0;