From 8cd0cfe5eb5778e51d51d25494bf278b475f7092 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Wed, 25 Aug 2010 11:46:50 +0000 Subject: COMMON: Add test for BufferedReadStream's eos This test is currently failing. svn-id: r52382 --- test/common/bufferedreadstream.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/test/common/bufferedreadstream.h b/test/common/bufferedreadstream.h index c171836466..0b2cda696c 100644 --- a/test/common/bufferedreadstream.h +++ b/test/common/bufferedreadstream.h @@ -27,4 +27,29 @@ class BufferedReadStreamTestSuite : public CxxTest::TestSuite { TS_ASSERT(srs.eos()); } + + void test_traverse2() { + byte contents[9] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; + Common::MemoryReadStream ms(contents, 9); + + Common::BufferedReadStream brs(&ms, 4); + + // Traverse the stream with reads of 2 bytes. The size is not + // a multiple of 2, so we can test the final partial read. + + byte i, b[2]; + for (i = 0; i < 4; ++i) { + TS_ASSERT(!brs.eos()); + + int n = brs.read(b, 2); + TS_ASSERT_EQUALS(n, 2); + } + + TS_ASSERT(!brs.eos()); + + int n = brs.read(b, 2); + TS_ASSERT_EQUALS(n, 1); + + TS_ASSERT(brs.eos()); + } }; -- cgit v1.2.3