aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJohannes Schickel2012-10-09 22:57:24 +0200
committerJohannes Schickel2012-10-09 23:06:35 +0200
commit6b6b7532aea5efe236f76f25f26d1b455b8d5b04 (patch)
tree66c5e9526f4f5249a858a23130033651dea6bd74 /test
parentefe2fe7e1ffcb423d0349ee2a508f8ec0d715642 (diff)
downloadscummvm-rg350-6b6b7532aea5efe236f76f25f26d1b455b8d5b04.tar.gz
scummvm-rg350-6b6b7532aea5efe236f76f25f26d1b455b8d5b04.tar.bz2
scummvm-rg350-6b6b7532aea5efe236f76f25f26d1b455b8d5b04.zip
TEST: Add two (simple) tests for MemoryWriteStream.
Diffstat (limited to 'test')
-rw-r--r--test/common/memorywritestream.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/common/memorywritestream.h b/test/common/memorywritestream.h
new file mode 100644
index 0000000000..43a137a9f3
--- /dev/null
+++ b/test/common/memorywritestream.h
@@ -0,0 +1,31 @@
+#include <cxxtest/TestSuite.h>
+
+#include "common/memstream.h"
+
+class MemoryWriteStreamTestSuite : public CxxTest::TestSuite {
+ public:
+ void test_err() {
+ byte temp = 0;
+
+ Common::MemoryWriteStream stream(&temp, 0);
+ TS_ASSERT(!stream.err());
+
+ // Make sure the error indicator gets set
+ stream.write(&temp, 1);
+ TS_ASSERT(stream.err());
+
+ // Test whether the error indicator can be cleared
+ stream.clearErr();
+ TS_ASSERT(!stream.err());
+ }
+
+ void test_write() {
+ byte buffer[7] = {};
+ Common::MemoryWriteStream stream(buffer, sizeof(buffer));
+
+ const byte data[7] = { 7, 4, 3, 0, 10, 12, 1 };
+ stream.write(data, sizeof(data));
+ TS_ASSERT(memcmp(buffer, data, sizeof(data)) == 0);
+ TS_ASSERT(!stream.err());
+ }
+};