diff options
author | Johannes Schickel | 2012-03-11 01:22:12 +0100 |
---|---|---|
committer | Johannes Schickel | 2012-03-11 01:23:57 +0100 |
commit | a5f4ff36ffc386d48f2da49387a9655ce9295a4d (patch) | |
tree | 2037d6f2315fcded88a0025dc41fb619c03ef675 | |
parent | 22c5dadb41b03657c39685f52f547a25ef17ded6 (diff) | |
download | scummvm-rg350-a5f4ff36ffc386d48f2da49387a9655ce9295a4d.tar.gz scummvm-rg350-a5f4ff36ffc386d48f2da49387a9655ce9295a4d.tar.bz2 scummvm-rg350-a5f4ff36ffc386d48f2da49387a9655ce9295a4d.zip |
TEST: Add a test case for SafeSeekableSubReadStream::eos handling.
-rw-r--r-- | test/common/subreadstream.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/common/subreadstream.h b/test/common/subreadstream.h index 463f49e929..32e6f938d2 100644 --- a/test/common/subreadstream.h +++ b/test/common/subreadstream.h @@ -26,4 +26,22 @@ class SubReadStreamTestSuite : public CxxTest::TestSuite { b = srs.readByte(); TS_ASSERT(srs.eos()); } + + void test_safe_eos() { + byte contents[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; + Common::MemoryReadStream ms(contents, sizeof(contents)); + + Common::SafeSeekableSubReadStream ssrs1(&ms, 0, sizeof(contents)); + Common::SafeSeekableSubReadStream ssrs2(&ms, 0, sizeof(contents)); + + // Read after the end of the stream of the first sub stream + for (int32 i = 0; i <= ssrs1.size(); ++i) + ssrs1.readByte(); + + // eos should be set for the first sub stream + TS_ASSERT(ssrs1.eos()); + + // eos should not be set for the second sub stream + TS_ASSERT(!ssrs2.eos()); + } }; |