diff options
author | Willem Jan Palenstijn | 2013-04-18 23:35:23 +0200 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:40:58 +0200 |
commit | 9c2341678ef4984bf92b3878295250faf980b066 (patch) | |
tree | 2fb4805e05e16b9924e80c9947e6bad723b28c4b /test/common | |
parent | 8172d679df5148a4a32f46074b20cb6caf91844f (diff) | |
parent | a5f4ff36ffc386d48f2da49387a9655ce9295a4d (diff) | |
download | scummvm-rg350-9c2341678ef4984bf92b3878295250faf980b066.tar.gz scummvm-rg350-9c2341678ef4984bf92b3878295250faf980b066.tar.bz2 scummvm-rg350-9c2341678ef4984bf92b3878295250faf980b066.zip |
Merge branch 'master'
Diffstat (limited to 'test/common')
-rw-r--r-- | test/common/fixedstack.h | 14 | ||||
-rw-r--r-- | test/common/memoryreadstream.h | 16 | ||||
-rw-r--r-- | test/common/pack.h | 2 | ||||
-rw-r--r-- | test/common/stack.h | 12 | ||||
-rw-r--r-- | test/common/subreadstream.h | 18 |
5 files changed, 50 insertions, 12 deletions
diff --git a/test/common/fixedstack.h b/test/common/fixedstack.h index 9aa00b4680..9d4cceb2e6 100644 --- a/test/common/fixedstack.h +++ b/test/common/fixedstack.h @@ -18,18 +18,20 @@ public: } void test_size() { - Common::FixedStack<int> stack; - TS_ASSERT_EQUALS(stack.size(), 0); + typedef Common::FixedStack<int> Stack; + + Stack stack; + TS_ASSERT_EQUALS(stack.size(), (Stack::size_type)0); stack.push(5); - TS_ASSERT_EQUALS(stack.size(), 1); + TS_ASSERT_EQUALS(stack.size(), (Stack::size_type)1); stack.push(9); stack.push(0); - TS_ASSERT_EQUALS(stack.size(), 3); + TS_ASSERT_EQUALS(stack.size(), (Stack::size_type)3); stack.pop(); - TS_ASSERT_EQUALS(stack.size(), 2); + TS_ASSERT_EQUALS(stack.size(), (Stack::size_type)2); } void test_top_pop() { @@ -44,7 +46,7 @@ public: stack[0] = -23; stack.top() = 42; TS_ASSERT_EQUALS(stack[0], -23); - TS_ASSERT_EQUALS(stack.top(), 42); + TS_ASSERT_EQUALS(stack.top(), 42); stack.pop(); TS_ASSERT_EQUALS(stack[0], -23); diff --git a/test/common/memoryreadstream.h b/test/common/memoryreadstream.h index a476f12a2f..adef861a5e 100644 --- a/test/common/memoryreadstream.h +++ b/test/common/memoryreadstream.h @@ -84,4 +84,20 @@ class MemoryReadStreamTestSuite : public CxxTest::TestSuite { TS_ASSERT_EQUALS(ms.pos(), 7); TS_ASSERT(!ms.eos()); } + + void test_eos() { + byte contents[] = { 1, 2, 3, 4, 5, 6, 7 }; + Common::MemoryReadStream ms(contents, sizeof(contents)); + + // Read after the end of the stream + for (int32 i = 0; i <= ms.size(); ++i) + ms.readByte(); + + // The eos flag should be set here + TS_ASSERT(ms.eos()); + + // Seeking should reset the eos flag + ms.seek(0, SEEK_SET); + TS_ASSERT(!ms.eos()); + } }; diff --git a/test/common/pack.h b/test/common/pack.h index 724457f838..f62b31e9dc 100644 --- a/test/common/pack.h +++ b/test/common/pack.h @@ -15,7 +15,7 @@ struct TestStruct { #include <common/pack-end.h> // END STRUCT PACKING -#define OFFS(type,item) (((ptrdiff_t)(&((type*)42)->type::item))-42) +#define OFFS(type,item) (((ptrdiff_t)(&((type *)42)->type::item))-42) class PackTestSuite : public CxxTest::TestSuite { diff --git a/test/common/stack.h b/test/common/stack.h index 0b1bcee350..ed32ec6496 100644 --- a/test/common/stack.h +++ b/test/common/stack.h @@ -18,18 +18,20 @@ public: } void test_size() { - Common::Stack<int> stack; - TS_ASSERT_EQUALS(stack.size(), 0); + typedef Common::Stack<int> Stack; + + Stack stack; + TS_ASSERT_EQUALS(stack.size(), (Stack::size_type)0); stack.push(5); - TS_ASSERT_EQUALS(stack.size(), 1); + TS_ASSERT_EQUALS(stack.size(), (Stack::size_type)1); stack.push(9); stack.push(0); - TS_ASSERT_EQUALS(stack.size(), 3); + TS_ASSERT_EQUALS(stack.size(), (Stack::size_type)3); stack.pop(); - TS_ASSERT_EQUALS(stack.size(), 2); + TS_ASSERT_EQUALS(stack.size(), (Stack::size_type)2); } void test_top_pop() { 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()); + } }; |