aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2008-09-14 22:28:53 +0000
committerWillem Jan Palenstijn2008-09-14 22:28:53 +0000
commitc8eeae8d4dffa5849a23cf963884027a7789504b (patch)
tree1f2a0de23851cb7e7d1d77114c8379aa27f4fb85 /test
parentfbfe30bf861af9b83325e0c7fecd4b0a68da5af9 (diff)
downloadscummvm-rg350-c8eeae8d4dffa5849a23cf963884027a7789504b.tar.gz
scummvm-rg350-c8eeae8d4dffa5849a23cf963884027a7789504b.tar.bz2
scummvm-rg350-c8eeae8d4dffa5849a23cf963884027a7789504b.zip
Big patch changing semantics of ReadStream::eos():
eos() now only returns true _after_ trying to read past the end of the stream. This has a large potential for regressions. Please test! svn-id: r34549
Diffstat (limited to 'test')
-rw-r--r--test/common/bufferedreadstream.h8
-rw-r--r--test/common/bufferedseekablereadstream.h6
-rw-r--r--test/common/seekablesubreadstream.h5
-rw-r--r--test/common/stream.h4
-rw-r--r--test/common/subreadstream.h2
5 files changed, 23 insertions, 2 deletions
diff --git a/test/common/bufferedreadstream.h b/test/common/bufferedreadstream.h
index 2644745af2..c580fd18de 100644
--- a/test/common/bufferedreadstream.h
+++ b/test/common/bufferedreadstream.h
@@ -9,7 +9,7 @@ class BufferedReadStreamTestSuite : public CxxTest::TestSuite {
Common::MemoryReadStream ms(contents, 10);
// Use a buffer size of 4 -- note that 10 % 4 != 0,
- // so we test what happens if the cache can't be completly
+ // so we test what happens if the cache can't be completely
// refilled.
Common::BufferedReadStream srs(&ms, 4);
@@ -21,6 +21,10 @@ class BufferedReadStreamTestSuite : public CxxTest::TestSuite {
TS_ASSERT_EQUALS( i, b );
}
- TS_ASSERT( srs.eos() );
+ TS_ASSERT( !srs.eos() );
+
+ b = srs.readByte();
+
+ TS_ASSERT ( srs.eos() );
}
};
diff --git a/test/common/bufferedseekablereadstream.h b/test/common/bufferedseekablereadstream.h
index c3e85c1b66..aa3bd9225c 100644
--- a/test/common/bufferedseekablereadstream.h
+++ b/test/common/bufferedseekablereadstream.h
@@ -20,6 +20,9 @@ class BufferedSeekableReadStreamTestSuite : public CxxTest::TestSuite {
TS_ASSERT_EQUALS( i, b );
}
+ TS_ASSERT( !ssrs.eos() );
+
+ TS_ASSERT( 0 == ssrs.read(&b, 1) );
TS_ASSERT( ssrs.eos() );
}
@@ -49,9 +52,12 @@ class BufferedSeekableReadStreamTestSuite : public CxxTest::TestSuite {
ssrs.seek(0, SEEK_END);
TS_ASSERT_EQUALS( ssrs.pos(), (uint32)10 );
+ TS_ASSERT( !ssrs.eos() );
+ b = ssrs.readByte();
TS_ASSERT( ssrs.eos() );
ssrs.seek(3, SEEK_END);
+ TS_ASSERT( !ssrs.eos() );
TS_ASSERT_EQUALS( ssrs.pos(), (uint32)7 );
b = ssrs.readByte();
TS_ASSERT_EQUALS( b, 7 );
diff --git a/test/common/seekablesubreadstream.h b/test/common/seekablesubreadstream.h
index 4e517093a5..24df380a60 100644
--- a/test/common/seekablesubreadstream.h
+++ b/test/common/seekablesubreadstream.h
@@ -23,6 +23,8 @@ class SeekableSubReadStreamTestSuite : public CxxTest::TestSuite {
TS_ASSERT_EQUALS( i, b );
}
+ TS_ASSERT( !ssrs.eos() );
+ TS_ASSERT( 0 == ssrs.read(&b, 1) );
TS_ASSERT( ssrs.eos() );
}
@@ -52,9 +54,12 @@ class SeekableSubReadStreamTestSuite : public CxxTest::TestSuite {
ssrs.seek(0, SEEK_END);
TS_ASSERT_EQUALS( ssrs.pos(), (uint32)8 );
+ TS_ASSERT( !ssrs.eos() );
+ b = ssrs.readByte();
TS_ASSERT( ssrs.eos() );
ssrs.seek(3, SEEK_END);
+ TS_ASSERT( !ssrs.eos() );
TS_ASSERT_EQUALS( ssrs.pos(), (uint32)5 );
b = ssrs.readByte();
TS_ASSERT_EQUALS( b, 6 );
diff --git a/test/common/stream.h b/test/common/stream.h
index 99e70d3a50..a605d34a2c 100644
--- a/test/common/stream.h
+++ b/test/common/stream.h
@@ -19,6 +19,10 @@ class ReadLineStreamTestSuite : public CxxTest::TestSuite {
TS_ASSERT(0 != ms.readLine_NEW(buffer, sizeof(buffer)));
TS_ASSERT(0 == strcmp(buffer, "c\n"));
+ TS_ASSERT(!ms.eos());
+
+ TS_ASSERT(0 == ms.readLine_NEW(buffer, sizeof(buffer)));
+
TS_ASSERT(ms.eos());
}
diff --git a/test/common/subreadstream.h b/test/common/subreadstream.h
index 4e14448c06..2ac453576a 100644
--- a/test/common/subreadstream.h
+++ b/test/common/subreadstream.h
@@ -21,6 +21,8 @@ class SubReadStreamTestSuite : public CxxTest::TestSuite {
TS_ASSERT_EQUALS( i, b );
}
+ TS_ASSERT( !srs.eos() );
+ b = srs.readByte();
TS_ASSERT( srs.eos() );
}
};