summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-24 09:40:56 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-24 09:40:56 +0000
commit7b73f71f43633824db20764c402d0c2ca6f98535 (patch)
tree79ba3633dbe2257f27c56750bac1f66555500dab /libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc
parent42bbc7e6451189e56e1a37aecbe1c3aac1130725 (diff)
downloadgcc-7b73f71f43633824db20764c402d0c2ca6f98535.tar.gz
2004-05-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/istream.tcc (ignore): Correctly deal with n == numeric_limits<streamsize>::max(). * testsuite/27_io/basic_istream/ignore/char/2.cc: New. * include/bits/istream.tcc (basic_istream<>::getline): Prefer '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case __n == numeric_limits<>::min(). * include/bits/istream.tcc: Minor tweaks. * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc: Tighten. * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc: Likewise. * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82198 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc')
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc
index cee596e5b99..e60c441110b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc
@@ -38,20 +38,23 @@ string prepare(string::size_type len, unsigned nchunks)
return ret;
}
-void check(istream& stream, const string& str)
+void check(istream& stream, const string& str, unsigned nchunks)
{
bool test __attribute__((unused)) = true;
string chunk;
string::size_type index = 0, index_new = 0;
+ unsigned n = 0;
while (stream >> chunk)
{
index_new = str.find(' ', index);
VERIFY( !str.compare(index, index_new - index, chunk) );
index = index_new + 1;
+ ++n;
}
VERIFY( stream.eof() );
+ VERIFY( n == nchunks );
}
// istream& operator>>(istream&, string&)
@@ -59,7 +62,8 @@ void test01()
{
const char filename[] = "inserters_extractors-3.txt";
- const string data = prepare(666, 10);
+ const unsigned nchunks = 10;
+ const string data = prepare(666, nchunks);
ofstream ofstrm;
ofstrm.open(filename);
@@ -68,7 +72,7 @@ void test01()
ifstream ifstrm;
ifstrm.open(filename);
- check(ifstrm, data);
+ check(ifstrm, data, nchunks);
ifstrm.close();
}