From 1f52e8a2df33f01ee38e7a1f2fa23c8e78d4ffd0 Mon Sep 17 00:00:00 2001 From: Matthew Wilber Date: Tue, 29 Apr 2003 01:21:09 +0000 Subject: [PATCH] moved CompareStreams function from STXTTranslatorTest to this file so that multiple translators tests could use it git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3123 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../translators/TranslatorTestAddOn.cpp | 43 ++++++++++++++++++- .../add-ons/translators/TranslatorTestAddOn.h | 12 ++++++ 2 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 src/tests/add-ons/translators/TranslatorTestAddOn.h diff --git a/src/tests/add-ons/translators/TranslatorTestAddOn.cpp b/src/tests/add-ons/translators/TranslatorTestAddOn.cpp index 5652023905..d687f1747a 100644 --- a/src/tests/add-ons/translators/TranslatorTestAddOn.cpp +++ b/src/tests/add-ons/translators/TranslatorTestAddOn.cpp @@ -1,11 +1,50 @@ -#include -#include +// TranslatorTestAddOn.cpp + +#include +#include "TranslatorTestAddOn.h" // ##### Include headers for your tests here ##### #include "bmptranslator/BMPTranslatorTest.h" #include "stxttranslator/STXTTranslatorTest.h" #include "tifftranslator/TIFFTranslatorTest.h" +// helper function used by multiple tests to +// determine if the given streams are exactly +// the same +bool +CompareStreams(BPositionIO &a, BPositionIO &b) +{ + off_t alen = 0, blen = 0; + uint8 *abuf = NULL, *bbuf = NULL; + + a.Seek(0, SEEK_END); + alen = a.Position(); + b.Seek(0, SEEK_END); + blen = b.Position(); + + if (alen != blen) + return false; + + bool bresult = false; + abuf = new uint8[alen]; + bbuf = new uint8[blen]; + if (a.ReadAt(0, abuf, alen) == alen) { + if (b.ReadAt(0, bbuf, blen) == blen) { + if (memcmp(abuf, bbuf, alen) == 0) + bresult = true; + else + bresult = false; + } + } + + delete[] abuf; + abuf = NULL; + delete[] bbuf; + bbuf = NULL; + + return bresult; +} + BTestSuite * getTestSuite() { diff --git a/src/tests/add-ons/translators/TranslatorTestAddOn.h b/src/tests/add-ons/translators/TranslatorTestAddOn.h new file mode 100644 index 0000000000..7a296116b9 --- /dev/null +++ b/src/tests/add-ons/translators/TranslatorTestAddOn.h @@ -0,0 +1,12 @@ +// TranslatorTestAddOn.h + +#ifndef TRANSLATOR_TEST_ADD_ON_H +#define TRANSLATOR_TEST_ADD_ON_H + +#include +#include +#include + +bool CompareStreams(BPositionIO &a, BPositionIO &b); + +#endif // #ifndef TRANSLATOR_TEST_ADD_ON_H