aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJohannes Schickel2010-02-06 18:25:57 +0000
committerJohannes Schickel2010-02-06 18:25:57 +0000
commitcf1b03f694740203901924ea66d004d26e461e0b (patch)
tree3858efee9bff3b27bb5d7ed40d9f1fe38a57c278 /test
parent75b2b13f7fc271db229af13d926d11e83cfd08cd (diff)
downloadscummvm-rg350-cf1b03f694740203901924ea66d004d26e461e0b.tar.gz
scummvm-rg350-cf1b03f694740203901924ea66d004d26e461e0b.tar.bz2
scummvm-rg350-cf1b03f694740203901924ea66d004d26e461e0b.zip
Add test case for partial reads in LoopingAudioStream too.
svn-id: r47938
Diffstat (limited to 'test')
-rw-r--r--test/sound/audiostream.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/test/sound/audiostream.h b/test/sound/audiostream.h
index 141244a82d..4d609e0458 100644
--- a/test/sound/audiostream.h
+++ b/test/sound/audiostream.h
@@ -74,9 +74,18 @@ private:
TS_ASSERT_EQUALS(loop->getCompleteIterations(), (uint)6);
TS_ASSERT_EQUALS(loop->endOfData(), false);
- // Read the last second
- TS_ASSERT_EQUALS(loop->readBuffer(buffer, secondLength), secondLength);
- TS_ASSERT_EQUALS(memcmp(buffer, sine, secondLength * sizeof(int16)), 0);
+ // Read the last second in two parts
+ const int firstStep = secondLength / 2;
+ const int secondStep = secondLength - firstStep;
+
+ TS_ASSERT_EQUALS(loop->readBuffer(buffer, firstStep), firstStep);
+ TS_ASSERT_EQUALS(memcmp(buffer, sine, firstStep * sizeof(int16)), 0);
+
+ TS_ASSERT_EQUALS(loop->getCompleteIterations(), (uint)6);
+ TS_ASSERT_EQUALS(loop->endOfData(), false);
+
+ TS_ASSERT_EQUALS(loop->readBuffer(buffer, secondLength), secondStep);
+ TS_ASSERT_EQUALS(memcmp(buffer, sine + firstStep, secondStep * sizeof(int16)), 0);
TS_ASSERT_EQUALS(loop->getCompleteIterations(), (uint)7);
TS_ASSERT_EQUALS(loop->endOfData(), true);