From bedcc993356c471b3b8f5bf013dbdf8c45000015 Mon Sep 17 00:00:00 2001 From: Matthew Wilber Date: Mon, 26 May 2003 03:26:49 +0000 Subject: [PATCH] added GetConfigurationMessage test git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3336 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../bmptranslator/BMPTranslatorTest.cpp | 37 +++++++++++- .../bmptranslator/BMPTranslatorTest.h | 1 + .../tgatranslator/TGATranslatorTest.cpp | 57 ++++++++++++++++++- .../tgatranslator/TGATranslatorTest.h | 1 + 4 files changed, 94 insertions(+), 2 deletions(-) diff --git a/src/tests/add-ons/translators/bmptranslator/BMPTranslatorTest.cpp b/src/tests/add-ons/translators/bmptranslator/BMPTranslatorTest.cpp index 2f1ba58785..8a8783e477 100644 --- a/src/tests/add-ons/translators/bmptranslator/BMPTranslatorTest.cpp +++ b/src/tests/add-ons/translators/bmptranslator/BMPTranslatorTest.cpp @@ -33,7 +33,11 @@ BMPTranslatorTest::Suite() suite->addTest( new TC("BMPTranslator TranslateTest", - &BMPTranslatorTest::TranslateTest)); + &BMPTranslatorTest::TranslateTest)); + + suite->addTest( + new TC("BMPTranslator ConfigMessageTest", + &BMPTranslatorTest::ConfigMessageTest)); #if !TEST_R5 suite->addTest( @@ -1019,6 +1023,37 @@ BMPTranslatorTest::TranslateTest() proster = NULL; } +// Make certain that the BMPTranslator does not +// provide a configuration message +void +BMPTranslatorTest::ConfigMessageTest() +{ + // Init + NextSubTest(); + status_t result = B_ERROR; + BTranslatorRoster *proster = new BTranslatorRoster(); + CPPUNIT_ASSERT(proster); + CPPUNIT_ASSERT(proster->AddTranslators( + "/boot/home/config/add-ons/Translators/BMPTranslator") == B_OK); + + // GetAllTranslators + NextSubTest(); + translator_id tid, *pids = NULL; + int32 count = 0; + CPPUNIT_ASSERT(proster->GetAllTranslators(&pids, &count) == B_OK); + CPPUNIT_ASSERT(pids); + CPPUNIT_ASSERT(count == 1); + tid = pids[0]; + delete[] pids; + pids = NULL; + + // GetConfigurationMessage + NextSubTest(); + BMessage msg; + CPPUNIT_ASSERT(proster->GetConfigurationMessage(tid, &msg) == B_ERROR); + CPPUNIT_ASSERT(msg.IsEmpty()); +} + #if !TEST_R5 // The input formats that this translator is supposed to support diff --git a/src/tests/add-ons/translators/bmptranslator/BMPTranslatorTest.h b/src/tests/add-ons/translators/bmptranslator/BMPTranslatorTest.h index 78b50f9b85..20fcc76fae 100644 --- a/src/tests/add-ons/translators/bmptranslator/BMPTranslatorTest.h +++ b/src/tests/add-ons/translators/bmptranslator/BMPTranslatorTest.h @@ -29,6 +29,7 @@ public: #endif void IdentifyTest(); void TranslateTest(); + void ConfigMessageTest(); }; #endif // BMP_TRANSLATOR_TEST_H diff --git a/src/tests/add-ons/translators/tgatranslator/TGATranslatorTest.cpp b/src/tests/add-ons/translators/tgatranslator/TGATranslatorTest.cpp index 09eb38d37f..29cdd46278 100644 --- a/src/tests/add-ons/translators/tgatranslator/TGATranslatorTest.cpp +++ b/src/tests/add-ons/translators/tgatranslator/TGATranslatorTest.cpp @@ -60,7 +60,11 @@ TGATranslatorTest::Suite() suite->addTest( new TC("TGATranslator TranslateTest", - &TGATranslatorTest::TranslateTest)); + &TGATranslatorTest::TranslateTest)); + + suite->addTest( + new TC("TGATranslator ConfigMessageTest", + &TGATranslatorTest::ConfigMessageTest)); #if !TEST_R5 suite->addTest( @@ -500,6 +504,57 @@ TGATranslatorTest::TranslateTest() proster = NULL; } +// Make certain the TGATranslator +// provides a valid configuration message +void +TGATranslatorTest::ConfigMessageTest() +{ + // Init + NextSubTest(); + status_t result = B_ERROR; + BTranslatorRoster *proster = new BTranslatorRoster(); + CPPUNIT_ASSERT(proster); + CPPUNIT_ASSERT(proster->AddTranslators( + "/boot/home/config/add-ons/Translators/TGATranslator") == B_OK); + + // GetAllTranslators + NextSubTest(); + translator_id tid, *pids = NULL; + int32 count = 0; + CPPUNIT_ASSERT(proster->GetAllTranslators(&pids, &count) == B_OK); + CPPUNIT_ASSERT(pids); + CPPUNIT_ASSERT(count == 1); + tid = pids[0]; + delete[] pids; + pids = NULL; + + // GetConfigurationMessage + NextSubTest(); + BMessage msg; + CPPUNIT_ASSERT(proster->GetConfigurationMessage(tid, &msg) == B_OK); + CPPUNIT_ASSERT(!msg.IsEmpty()); + + // B_TRANSLATOR_EXT_HEADER_ONLY + NextSubTest(); + bool bheaderonly = true; + CPPUNIT_ASSERT( + msg.FindBool(B_TRANSLATOR_EXT_HEADER_ONLY, &bheaderonly) == B_OK); + CPPUNIT_ASSERT(bheaderonly == false); + + // B_TRANSLATOR_EXT_DATA_ONLY + NextSubTest(); + bool bdataonly = true; + CPPUNIT_ASSERT( + msg.FindBool(B_TRANSLATOR_EXT_DATA_ONLY, &bdataonly) == B_OK); + CPPUNIT_ASSERT(bdataonly == false); + + // "tga /rle" + NextSubTest(); + bool brle; + CPPUNIT_ASSERT(msg.FindBool("tga /rle", &brle) == B_OK); + CPPUNIT_ASSERT(brle == true || brle == false); +} + #if !TEST_R5 // The input formats that this translator is supposed to support diff --git a/src/tests/add-ons/translators/tgatranslator/TGATranslatorTest.h b/src/tests/add-ons/translators/tgatranslator/TGATranslatorTest.h index c0f374590c..6d5ee9af63 100644 --- a/src/tests/add-ons/translators/tgatranslator/TGATranslatorTest.h +++ b/src/tests/add-ons/translators/tgatranslator/TGATranslatorTest.h @@ -29,6 +29,7 @@ public: #endif void IdentifyTest(); void TranslateTest(); + void ConfigMessageTest(); }; #endif // TGA_TRANSLATOR_TEST_H