1// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 2// Free Software Foundation, Inc. 3// 4// This file is part of the GNU ISO C++ Library. This library is free 5// software; you can redistribute it and/or modify it under the 6// terms of the GNU General Public License as published by the 7// Free Software Foundation; either version 3, or (at your option) 8// any later version. 9 10// This library is distributed in the hope that it will be useful, 11// but WITHOUT ANY WARRANTY; without even the implied warranty of 12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13// GNU General Public License for more details. 14 15// You should have received a copy of the GNU General Public License along 16// with this library; see the file COPYING3. If not see 17// <http://www.gnu.org/licenses/>. 18 19// { dg-require-fileio "" } 20 21#include <iostream> 22#include <cstdio> 23#include <testsuite_hooks.h> 24 25void 26test01() 27{ 28 std::freopen("cin_unget-1.txt", "r", stdin); 29 30 char buf[2]; 31 VERIFY( std::cin.rdbuf()->sgetn(buf, 2) == 2 ); 32 int c1 = std::cin.rdbuf()->sungetc(); 33 int c2 = std::cin.rdbuf()->sbumpc(); 34 VERIFY( c1 == std::char_traits<char>::to_int_type(buf[1]) ); 35 VERIFY( c2 == c1 ); 36} 37 38int main(void) 39{ 40 test01(); 41 return 0; 42} 43