1 // (C) Copyright 2011 Steven Watanabe 2 // Distributed under the Boost Software License, Version 1.0. (See accompanying 3 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.) 4 5 // See http://www.boost.org/libs/iostreams for documentation. 6 7 #include <fstream> 8 #include <boost/iostreams/filtering_stream.hpp> 9 #include <boost/test/test_tools.hpp> 10 #include "detail/sequence.hpp" 11 #include "detail/temp_file.hpp" 12 #include "detail/verification.hpp" 13 test_filtering_ostream_flush()14void test_filtering_ostream_flush() 15 { 16 using namespace std; 17 using namespace boost; 18 using namespace boost::iostreams; 19 using namespace boost::iostreams::test; 20 21 lowercase_file lower; 22 23 { 24 temp_file dest; 25 filtering_ostream out; 26 out.push(tolower_filter()); 27 out.push(file_sink(dest.name(), out_mode)); 28 write_data_in_chars(out); 29 out.flush(); 30 BOOST_CHECK_MESSAGE( 31 compare_files(dest.name(), lower.name()), 32 "failed writing to a filtering_ostream in chars with an " 33 "output filter" 34 ); 35 } 36 } 37