added a few little tests, made style changes in order to fit on printed pages more easily, added some TODOs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2089 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -46,37 +46,88 @@
|
|||||||
/**
|
/**
|
||||||
* TestCase constructor - no work
|
* TestCase constructor - no work
|
||||||
*/
|
*/
|
||||||
TranslatorRosterTest::TranslatorRosterTest(std::string name) : BTestCase(name) {
|
TranslatorRosterTest::TranslatorRosterTest(std::string name)
|
||||||
|
: BTestCase(name)
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default destructor - no work
|
* Default destructor - no work
|
||||||
*/
|
*/
|
||||||
TranslatorRosterTest::~TranslatorRosterTest() {
|
TranslatorRosterTest::~TranslatorRosterTest()
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
CppUnit::Test *
|
CppUnit::Test *
|
||||||
TranslatorRosterTest::Suite() {
|
TranslatorRosterTest::Suite()
|
||||||
|
{
|
||||||
/* create our suite */
|
/* create our suite */
|
||||||
CppUnit::TestSuite *suite = new CppUnit::TestSuite("TranslatorRoster");
|
CppUnit::TestSuite *suite = new CppUnit::TestSuite("TranslatorRoster");
|
||||||
|
|
||||||
/* add suckers */
|
/* add suckers */
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::Initialize Test", &TranslatorRosterTest::InitializeTest));
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::Constructor Test", &TranslatorRosterTest::ConstructorTest));
|
"TranslatorRosterTest::Initialize Test",
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::Default Test", &TranslatorRosterTest::DefaultTest));
|
&TranslatorRosterTest::InitializeTest));
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::Instantiate Test", &TranslatorRosterTest::InstantiateTest));
|
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::Version Test", &TranslatorRosterTest::VersionTest));
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::AddTranslators Test", &TranslatorRosterTest::AddTranslatorsTest));
|
"TranslatorRosterTest::Constructor Test",
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::Archive Test", &TranslatorRosterTest::ArchiveTest));
|
&TranslatorRosterTest::ConstructorTest));
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::GetAllTranslators Test", &TranslatorRosterTest::GetAllTranslatorsTest));
|
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::GetConfigurationMessage Test", &TranslatorRosterTest::GetConfigurationMessageTest));
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::GetInputFormats Test", &TranslatorRosterTest::GetInputFormatsTest));
|
"TranslatorRosterTest::Default Test",
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::GetOutputFormats Test", &TranslatorRosterTest::GetOutputFormatsTest));
|
&TranslatorRosterTest::DefaultTest));
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::GetTranslatorInfo Test", &TranslatorRosterTest::GetTranslatorInfoTest));
|
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::GetTranslators Test", &TranslatorRosterTest::GetTranslatorsTest));
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::Identify Test", &TranslatorRosterTest::IdentifyTest));
|
"TranslatorRosterTest::Instantiate Test",
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::MakeConfigurationView Test", &TranslatorRosterTest::MakeConfigurationViewTest));
|
&TranslatorRosterTest::InstantiateTest));
|
||||||
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>("TranslatorRosterTest::Translate Test", &TranslatorRosterTest::TranslateTest));
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::Version Test",
|
||||||
|
&TranslatorRosterTest::VersionTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::AddTranslators Test",
|
||||||
|
&TranslatorRosterTest::AddTranslatorsTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::Archive Test",
|
||||||
|
&TranslatorRosterTest::ArchiveTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::GetAllTranslators Test",
|
||||||
|
&TranslatorRosterTest::GetAllTranslatorsTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::GetConfigurationMessage Test",
|
||||||
|
&TranslatorRosterTest::GetConfigurationMessageTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::GetInputFormats Test",
|
||||||
|
&TranslatorRosterTest::GetInputFormatsTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::GetOutputFormats Test",
|
||||||
|
&TranslatorRosterTest::GetOutputFormatsTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::GetTranslatorInfo Test",
|
||||||
|
&TranslatorRosterTest::GetTranslatorInfoTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::GetTranslators Test",
|
||||||
|
&TranslatorRosterTest::GetTranslatorsTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::Identify Test",
|
||||||
|
&TranslatorRosterTest::IdentifyTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::MakeConfigurationView Test",
|
||||||
|
&TranslatorRosterTest::MakeConfigurationViewTest));
|
||||||
|
|
||||||
|
suite->addTest(new CppUnit::TestCaller<TranslatorRosterTest>(
|
||||||
|
"TranslatorRosterTest::Translate Test",
|
||||||
|
&TranslatorRosterTest::TranslateTest));
|
||||||
|
|
||||||
return suite;
|
return suite;
|
||||||
}
|
}
|
||||||
@@ -84,24 +135,29 @@ TranslatorRosterTest::Suite() {
|
|||||||
/**
|
/**
|
||||||
* Tries to aquire the default roster
|
* Tries to aquire the default roster
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::InitializeTest() {
|
void
|
||||||
|
TranslatorRosterTest::InitializeTest()
|
||||||
|
{
|
||||||
//aquire default roster
|
//aquire default roster
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
BTranslatorRoster *proster = BTranslatorRoster::Default();
|
BTranslatorRoster *proster = BTranslatorRoster::Default();
|
||||||
CPPUNIT_ASSERT(proster != NULL);
|
CPPUNIT_ASSERT(proster);
|
||||||
|
|
||||||
//print version information
|
//print version information
|
||||||
int32 outCurVersion;
|
int32 outCurVersion;
|
||||||
int32 outMinVersion;
|
int32 outMinVersion;
|
||||||
long inAppVersion;
|
long inAppVersion;
|
||||||
const char *info = proster->Version(&outCurVersion, &outMinVersion, inAppVersion);
|
const char *info = proster->Version(&outCurVersion, &outMinVersion,
|
||||||
|
inAppVersion);
|
||||||
printf("Default TranslatorRoster aquired. Version: %s\n", info);
|
printf("Default TranslatorRoster aquired. Version: %s\n", info);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct proster using different kinds of constructors
|
* Construct proster using different kinds of constructors
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::ConstructorTest() {
|
void
|
||||||
|
TranslatorRosterTest::ConstructorTest()
|
||||||
|
{
|
||||||
//shared instance of TranslatorRoster
|
//shared instance of TranslatorRoster
|
||||||
BTranslatorRoster *proster;
|
BTranslatorRoster *proster;
|
||||||
|
|
||||||
@@ -116,7 +172,8 @@ void TranslatorRosterTest::ConstructorTest() {
|
|||||||
//Create TranslatorRoster using BMessage constructor
|
//Create TranslatorRoster using BMessage constructor
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
BMessage translator_message;
|
BMessage translator_message;
|
||||||
translator_message.AddString("be:translator_path", "/boot/home/config/add-ons/Translators");
|
translator_message.AddString("be:translator_path",
|
||||||
|
"/boot/home/config/add-ons/Translators");
|
||||||
proster = new BTranslatorRoster(&translator_message);
|
proster = new BTranslatorRoster(&translator_message);
|
||||||
CPPUNIT_ASSERT(proster != NULL);
|
CPPUNIT_ASSERT(proster != NULL);
|
||||||
|
|
||||||
@@ -184,7 +241,9 @@ void TranslatorRosterTest::ConstructorTest() {
|
|||||||
* Tests:
|
* Tests:
|
||||||
* BTranslatorRoster *Default()
|
* BTranslatorRoster *Default()
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::DefaultTest() {
|
void
|
||||||
|
TranslatorRosterTest::DefaultTest()
|
||||||
|
{
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
BTranslatorRoster *proster = BTranslatorRoster::Default();
|
BTranslatorRoster *proster = BTranslatorRoster::Default();
|
||||||
CPPUNIT_ASSERT(proster != NULL);
|
CPPUNIT_ASSERT(proster != NULL);
|
||||||
@@ -210,11 +269,11 @@ void TranslatorRosterTest::DefaultTest() {
|
|||||||
NextSubTest();
|
NextSubTest();
|
||||||
translator_id *pids = NULL;
|
translator_id *pids = NULL;
|
||||||
int32 ncount = -1;
|
int32 ncount = -1;
|
||||||
status_t result = proster->GetAllTranslators(&pids, &ncount);
|
CPPUNIT_ASSERT(proster->GetAllTranslators(&pids, &ncount) == B_OK);
|
||||||
CPPUNIT_ASSERT(pids);
|
CPPUNIT_ASSERT(pids);
|
||||||
|
CPPUNIT_ASSERT(ncount > 0);
|
||||||
delete[] pids;
|
delete[] pids;
|
||||||
pids = NULL;
|
pids = NULL;
|
||||||
CPPUNIT_ASSERT(ncount > 0);
|
|
||||||
|
|
||||||
// Delete again to be sure that it still won't blow up
|
// Delete again to be sure that it still won't blow up
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
@@ -229,7 +288,9 @@ void TranslatorRosterTest::DefaultTest() {
|
|||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
// ArchiveTest() also tests BTranslatorRoster::Instantiate()
|
// ArchiveTest() also tests BTranslatorRoster::Instantiate()
|
||||||
void TranslatorRosterTest::InstantiateTest() {
|
void
|
||||||
|
TranslatorRosterTest::InstantiateTest()
|
||||||
|
{
|
||||||
//shared instance of TranslatorRoster
|
//shared instance of TranslatorRoster
|
||||||
BTranslatorRoster* proster = NULL;
|
BTranslatorRoster* proster = NULL;
|
||||||
BMessage bmsg;
|
BMessage bmsg;
|
||||||
@@ -242,6 +303,9 @@ void TranslatorRosterTest::InstantiateTest() {
|
|||||||
delete proster;
|
delete proster;
|
||||||
proster = NULL;
|
proster = NULL;
|
||||||
|
|
||||||
|
// TODO: Add test where the BMessage is valid, but does not contain
|
||||||
|
// TODO: any translators
|
||||||
|
|
||||||
// BMessage containing a single Translator to load
|
// BMessage containing a single Translator to load
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
status_t result;
|
status_t result;
|
||||||
@@ -262,7 +326,8 @@ void TranslatorRosterTest::InstantiateTest() {
|
|||||||
CPPUNIT_ASSERT(ncount == 1);
|
CPPUNIT_ASSERT(ncount == 1);
|
||||||
const char *strName = NULL, *strInfo = NULL;
|
const char *strName = NULL, *strInfo = NULL;
|
||||||
int32 nversion = -1;
|
int32 nversion = -1;
|
||||||
result = proster->GetTranslatorInfo(pids[0], &strName, &strInfo, &nversion);
|
result = proster->GetTranslatorInfo(pids[0], &strName, &strInfo,
|
||||||
|
&nversion);
|
||||||
CPPUNIT_ASSERT(result == B_OK);
|
CPPUNIT_ASSERT(result == B_OK);
|
||||||
CPPUNIT_ASSERT(strName);
|
CPPUNIT_ASSERT(strName);
|
||||||
CPPUNIT_ASSERT(strInfo);
|
CPPUNIT_ASSERT(strInfo);
|
||||||
@@ -290,16 +355,19 @@ void TranslatorRosterTest::InstantiateTest() {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests:
|
* Tests:
|
||||||
* const char *Version(int32 *outCurVersion, int32 *outMinVersion, int32 *inAppVersion = B_TRANSLATION_CURRENT_VERSION)
|
* const char *Version(int32 *outCurVersion, int32 *outMinVersion,
|
||||||
|
* int32 *inAppVersion = B_TRANSLATION_CURRENT_VERSION)
|
||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::VersionTest() {
|
void
|
||||||
|
TranslatorRosterTest::VersionTest()
|
||||||
|
{
|
||||||
|
NextSubTest();
|
||||||
int32 outCurVersion = 0;
|
int32 outCurVersion = 0;
|
||||||
int32 outMinVersion = 0;
|
int32 outMinVersion = 0;
|
||||||
const char* info = NULL;
|
const char* info = NULL;
|
||||||
|
|
||||||
NextSubTest();
|
|
||||||
info = BTranslatorRoster::Version(&outCurVersion, &outMinVersion);
|
info = BTranslatorRoster::Version(&outCurVersion, &outMinVersion);
|
||||||
CPPUNIT_ASSERT(info != NULL);
|
CPPUNIT_ASSERT(info != NULL);
|
||||||
CPPUNIT_ASSERT(outCurVersion > 0);
|
CPPUNIT_ASSERT(outCurVersion > 0);
|
||||||
@@ -311,7 +379,8 @@ void TranslatorRosterTest::VersionTest() {
|
|||||||
// ensure that they have the same translators and the
|
// ensure that they have the same translators and the
|
||||||
// same number of translators
|
// same number of translators
|
||||||
//
|
//
|
||||||
void CompareWithDefault(BTranslatorRoster *proster)
|
void
|
||||||
|
CompareWithDefault(BTranslatorRoster *proster)
|
||||||
{
|
{
|
||||||
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
||||||
CPPUNIT_ASSERT(pDefRoster);
|
CPPUNIT_ASSERT(pDefRoster);
|
||||||
@@ -322,19 +391,24 @@ void CompareWithDefault(BTranslatorRoster *proster)
|
|||||||
|
|
||||||
CPPUNIT_ASSERT(proster->GetAllTranslators(&pInstids, &instcount) == B_OK);
|
CPPUNIT_ASSERT(proster->GetAllTranslators(&pInstids, &instcount) == B_OK);
|
||||||
CPPUNIT_ASSERT(pInstids);
|
CPPUNIT_ASSERT(pInstids);
|
||||||
|
CPPUNIT_ASSERT(instcount > 0);
|
||||||
|
|
||||||
CPPUNIT_ASSERT(pDefRoster->GetAllTranslators(&pDefids, &defcount) == B_OK);
|
CPPUNIT_ASSERT(pDefRoster->GetAllTranslators(&pDefids, &defcount) == B_OK);
|
||||||
CPPUNIT_ASSERT(pDefids);
|
CPPUNIT_ASSERT(pDefids);
|
||||||
|
CPPUNIT_ASSERT(defcount > 0);
|
||||||
CPPUNIT_ASSERT(defcount == instcount);
|
CPPUNIT_ASSERT(defcount == instcount);
|
||||||
|
|
||||||
|
// make sure that every translator that is in the default
|
||||||
|
// BTranslatorRoster is in proster, once and only once
|
||||||
for (int32 i = 0; i < defcount; i++) {
|
for (int32 i = 0; i < defcount; i++) {
|
||||||
int32 matches;
|
int32 matches;
|
||||||
matches = 0;
|
matches = 0;
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(pDefRoster->GetTranslatorInfo(pDefids[i], &strDefName,
|
||||||
pDefRoster->GetTranslatorInfo(pDefids[i], &strDefName, &strDummy, &ndummy) == B_OK);
|
&strDummy, &ndummy) == B_OK);
|
||||||
CPPUNIT_ASSERT(strDefName);
|
CPPUNIT_ASSERT(strDefName);
|
||||||
for (int32 k = 0; k < instcount; k++) {
|
for (int32 k = 0; k < instcount; k++) {
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(proster->GetTranslatorInfo(pInstids[k],
|
||||||
proster->GetTranslatorInfo(pInstids[k], &strInstName, &strDummy, &ndummy) == B_OK);
|
&strInstName, &strDummy, &ndummy) == B_OK);
|
||||||
CPPUNIT_ASSERT(strInstName);
|
CPPUNIT_ASSERT(strInstName);
|
||||||
|
|
||||||
if (strcmp(strDefName, strInstName) == 0)
|
if (strcmp(strDefName, strInstName) == 0)
|
||||||
@@ -348,33 +422,31 @@ void CompareWithDefault(BTranslatorRoster *proster)
|
|||||||
delete[] pDefids;
|
delete[] pDefids;
|
||||||
pDefids = NULL;
|
pDefids = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests:
|
* Tests:
|
||||||
* virtual status_t AddTranslators(const char *load_path = NULL)
|
* virtual status_t AddTranslators(const char *load_path = NULL)
|
||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::AddTranslatorsTest() {
|
void
|
||||||
|
TranslatorRosterTest::AddTranslatorsTest()
|
||||||
|
{
|
||||||
//create basic translatorroster
|
//create basic translatorroster
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
BTranslatorRoster* proster = new BTranslatorRoster();
|
BTranslatorRoster* proster = new BTranslatorRoster();
|
||||||
|
CPPUNIT_ASSERT(proster);
|
||||||
//load wrong path (generate parse error)
|
CPPUNIT_ASSERT(proster->AddTranslators(
|
||||||
/*
|
"/boot/home/config/add-ons/Translators/:/system/add-ons/Translators/") == B_OK);
|
||||||
CPPUNIT_ASSERT(translator_roster->AddTranslators("?") == B_BAD_VALUE);
|
|
||||||
*/
|
|
||||||
|
|
||||||
//load correct path
|
|
||||||
CPPUNIT_ASSERT(
|
|
||||||
proster->AddTranslators("/boot/home/config/add-ons/Translators/:/system/add-ons/Translators/") == B_OK);
|
|
||||||
|
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
int32 instcount = 0;
|
int32 instcount = 0;
|
||||||
translator_id* translators = NULL;
|
translator_id* translators = NULL;
|
||||||
proster->GetAllTranslators(&translators, &instcount);
|
proster->GetAllTranslators(&translators, &instcount);
|
||||||
|
CPPUNIT_ASSERT(translators);
|
||||||
CPPUNIT_ASSERT(instcount > 0);
|
CPPUNIT_ASSERT(instcount > 0);
|
||||||
// TODO: count the number of files in all of the directories specified above
|
// TODO: count the number of files in all of the directories specified
|
||||||
// TODO: and make certain that it matches instcount
|
// TODO: above and make certain that it matches instcount
|
||||||
delete[] translators;
|
delete[] translators;
|
||||||
translators = NULL;
|
translators = NULL;
|
||||||
|
|
||||||
@@ -398,13 +470,14 @@ void TranslatorRosterTest::AddTranslatorsTest() {
|
|||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::ArchiveTest() {
|
void
|
||||||
|
TranslatorRosterTest::ArchiveTest()
|
||||||
|
{
|
||||||
|
NextSubTest();
|
||||||
//archive default, and count entries (must be more than 1!)
|
//archive default, and count entries (must be more than 1!)
|
||||||
BMessage translator_message;
|
BMessage translator_message;
|
||||||
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
||||||
|
CPPUNIT_ASSERT(pDefRoster);
|
||||||
NextSubTest();
|
|
||||||
CPPUNIT_ASSERT(pDefRoster != NULL);
|
|
||||||
CPPUNIT_ASSERT(pDefRoster->Archive(&translator_message) == B_OK);
|
CPPUNIT_ASSERT(pDefRoster->Archive(&translator_message) == B_OK);
|
||||||
|
|
||||||
// make sure instantiate makes an "exact" copy of the default translator
|
// make sure instantiate makes an "exact" copy of the default translator
|
||||||
@@ -412,7 +485,7 @@ void TranslatorRosterTest::ArchiveTest() {
|
|||||||
BTranslatorRoster *proster = NULL;
|
BTranslatorRoster *proster = NULL;
|
||||||
proster = dynamic_cast<BTranslatorRoster *>
|
proster = dynamic_cast<BTranslatorRoster *>
|
||||||
(BTranslatorRoster::Instantiate(&translator_message));
|
(BTranslatorRoster::Instantiate(&translator_message));
|
||||||
CPPUNIT_ASSERT(proster != NULL);
|
CPPUNIT_ASSERT(proster);
|
||||||
|
|
||||||
// make sure that every translator in the pDefRoster is in
|
// make sure that every translator in the pDefRoster is in
|
||||||
// proster, and make certain that it is in there ONLY ONCE
|
// proster, and make certain that it is in there ONLY ONCE
|
||||||
@@ -428,13 +501,13 @@ void TranslatorRosterTest::ArchiveTest() {
|
|||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::GetAllTranslatorsTest() {
|
void
|
||||||
|
TranslatorRosterTest::GetAllTranslatorsTest()
|
||||||
int32 nloaded = 42;
|
{
|
||||||
translator_id* pids = NULL;
|
|
||||||
|
|
||||||
// bad parameters
|
// bad parameters
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
|
int32 nloaded = 42;
|
||||||
|
translator_id* pids = NULL;
|
||||||
BTranslatorRoster roster;
|
BTranslatorRoster roster;
|
||||||
CPPUNIT_ASSERT(roster.GetAllTranslators(NULL, &nloaded) == B_BAD_VALUE);
|
CPPUNIT_ASSERT(roster.GetAllTranslators(NULL, &nloaded) == B_BAD_VALUE);
|
||||||
CPPUNIT_ASSERT(nloaded == 42);
|
CPPUNIT_ASSERT(nloaded == 42);
|
||||||
@@ -514,64 +587,90 @@ void TranslatorRosterTest::GetAllTranslatorsTest() {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests:
|
* Tests:
|
||||||
* virtual status_t GetConfigurationMessage(translator_id forTranslator, BMessage *ioExtension)
|
* virtual status_t GetConfigurationMessage(translator_id forTranslator,
|
||||||
|
* BMessage *ioExtension)
|
||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::GetConfigurationMessageTest()
|
void
|
||||||
|
TranslatorRosterTest::GetConfigurationMessageTest()
|
||||||
{
|
{
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
||||||
CPPUNIT_ASSERT(pDefRoster);
|
CPPUNIT_ASSERT(pDefRoster);
|
||||||
|
|
||||||
|
NextSubTest();
|
||||||
//get id for a translator (just use the first one)
|
//get id for a translator (just use the first one)
|
||||||
int32 num_translators = -1;
|
int32 num_translators = -1;
|
||||||
translator_id* translators = NULL;
|
translator_id* translators = NULL;
|
||||||
pDefRoster->GetAllTranslators(&translators, &num_translators);
|
CPPUNIT_ASSERT(pDefRoster->GetAllTranslators(&translators,
|
||||||
|
&num_translators) == B_OK);
|
||||||
CPPUNIT_ASSERT(translators);
|
CPPUNIT_ASSERT(translators);
|
||||||
|
CPPUNIT_ASSERT(num_translators > 0);
|
||||||
|
|
||||||
|
NextSubTest();
|
||||||
translator_id translatorid = translators[0];
|
translator_id translatorid = translators[0];
|
||||||
delete[] translators;
|
delete[] translators;
|
||||||
translators = NULL;
|
translators = NULL;
|
||||||
|
|
||||||
//get conf for invalid translator
|
//get conf for invalid translator
|
||||||
BMessage translator_message;
|
BMessage translator_message;
|
||||||
CPPUNIT_ASSERT(pDefRoster->GetConfigurationMessage(-1, &translator_message) == B_NO_TRANSLATOR);
|
CPPUNIT_ASSERT(pDefRoster->GetConfigurationMessage(-1,
|
||||||
|
&translator_message) == B_NO_TRANSLATOR);
|
||||||
CPPUNIT_ASSERT(translator_message.IsEmpty());
|
CPPUNIT_ASSERT(translator_message.IsEmpty());
|
||||||
|
|
||||||
//get conf for invalid ioExtension (BMessage)
|
//get conf for invalid ioExtension (BMessage)
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(pDefRoster->GetConfigurationMessage(translatorid, NULL) == B_BAD_VALUE);
|
CPPUNIT_ASSERT(
|
||||||
|
pDefRoster->GetConfigurationMessage(translatorid, NULL) == B_BAD_VALUE);
|
||||||
|
|
||||||
//get config for actual translator
|
//get config for actual translator
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(translator_message.MakeEmpty() == B_OK);
|
CPPUNIT_ASSERT(translator_message.MakeEmpty() == B_OK);
|
||||||
CPPUNIT_ASSERT(pDefRoster->GetConfigurationMessage(translatorid, &translator_message) == B_OK);
|
CPPUNIT_ASSERT(pDefRoster->GetConfigurationMessage(translatorid,
|
||||||
|
&translator_message) == B_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Code used by both GetInputFormatsTest and GetOutputFormatsTest
|
// Code used by both GetInputFormatsTest and GetOutputFormatsTest
|
||||||
void GetInputOutputFormatsTest(TranslatorRosterTest *prt, bool binput)
|
void
|
||||||
|
GetInputOutputFormatsTest(TranslatorRosterTest *prt, bool binput)
|
||||||
{
|
{
|
||||||
prt->NextSubTest();
|
prt->NextSubTest();
|
||||||
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
||||||
CPPUNIT_ASSERT(pDefRoster);
|
CPPUNIT_ASSERT(pDefRoster);
|
||||||
|
|
||||||
|
prt->NextSubTest();
|
||||||
translator_id* translators = NULL;
|
translator_id* translators = NULL;
|
||||||
int32 num_translators = -1;
|
int32 num_translators = -1;
|
||||||
pDefRoster->GetAllTranslators(&translators, &num_translators);
|
CPPUNIT_ASSERT(pDefRoster->GetAllTranslators(&translators,
|
||||||
|
&num_translators) == B_OK);
|
||||||
|
CPPUNIT_ASSERT(translators);
|
||||||
CPPUNIT_ASSERT(num_translators > 0);
|
CPPUNIT_ASSERT(num_translators > 0);
|
||||||
|
|
||||||
|
// Run get Input/output format test on each translator
|
||||||
for (int32 i = 0; i < num_translators; i++) {
|
for (int32 i = 0; i < num_translators; i++) {
|
||||||
const translation_format *fmts = NULL;
|
const translation_format *fmts = NULL;
|
||||||
int32 num_fmts = -1;
|
int32 num_fmts = -1;
|
||||||
status_t result;
|
status_t result;
|
||||||
prt->NextSubTest();
|
prt->NextSubTest();
|
||||||
if (binput)
|
if (binput)
|
||||||
result = pDefRoster->GetInputFormats(translators[i], &fmts, &num_fmts);
|
result = pDefRoster->GetInputFormats(translators[i], &fmts,
|
||||||
|
&num_fmts);
|
||||||
else
|
else
|
||||||
result = pDefRoster->GetOutputFormats(translators[i], &fmts, &num_fmts);
|
result = pDefRoster->GetOutputFormats(translators[i], &fmts,
|
||||||
|
&num_fmts);
|
||||||
CPPUNIT_ASSERT(result == B_OK);
|
CPPUNIT_ASSERT(result == B_OK);
|
||||||
|
|
||||||
|
// test input/output formats
|
||||||
CPPUNIT_ASSERT(num_fmts >= 0);
|
CPPUNIT_ASSERT(num_fmts >= 0);
|
||||||
|
CPPUNIT_ASSERT(num_fmts == 0 || fmts);
|
||||||
|
for (int32 k = 0; k < num_fmts; k++) {
|
||||||
|
CPPUNIT_ASSERT(fmts[k].type);
|
||||||
|
CPPUNIT_ASSERT(fmts[k].group);
|
||||||
|
CPPUNIT_ASSERT(fmts[k].quality >= 0 && fmts[k].quality <= 1);
|
||||||
|
CPPUNIT_ASSERT(fmts[k].capability >= 0 && fmts[k].capability <= 1);
|
||||||
|
CPPUNIT_ASSERT(strlen(fmts[k].MIME) >= 0);
|
||||||
|
CPPUNIT_ASSERT(strlen(fmts[k].name) > 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
delete[] translators;
|
delete[] translators;
|
||||||
translators = NULL;
|
translators = NULL;
|
||||||
@@ -579,33 +678,39 @@ void GetInputOutputFormatsTest(TranslatorRosterTest *prt, bool binput)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests:
|
* Tests:
|
||||||
* virtual status_t GetInputFormats(translator_id forTranslator, const translation_format **outFormats, int32 *outNumFormats)
|
* virtual status_t GetInputFormats(translator_id forTranslator,
|
||||||
|
* const translation_format **outFormats, int32 *outNumFormats)
|
||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::GetInputFormatsTest()
|
void
|
||||||
|
TranslatorRosterTest::GetInputFormatsTest()
|
||||||
{
|
{
|
||||||
GetInputOutputFormatsTest(this, true);
|
GetInputOutputFormatsTest(this, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests:
|
* Tests:
|
||||||
* virtual status_t GetOutputFormats(translator_id forTranslator, const translation_format **outFormats, int32 *outNumFormats)
|
* virtual status_t GetOutputFormats(translator_id forTranslator,
|
||||||
|
* const translation_format **outFormats, int32 *outNumFormats)
|
||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::GetOutputFormatsTest()
|
void
|
||||||
|
TranslatorRosterTest::GetOutputFormatsTest()
|
||||||
{
|
{
|
||||||
GetInputOutputFormatsTest(this, false);
|
GetInputOutputFormatsTest(this, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests:
|
* Tests:
|
||||||
* virtual status_t GetTranslatorInfo(translator_id forTranslator, const char **outName, const char **outInfo, int32 *outVersion)
|
* virtual status_t GetTranslatorInfo(translator_id forTranslator,
|
||||||
|
* const char **outName, const char **outInfo, int32 *outVersion)
|
||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::GetTranslatorInfoTest()
|
void
|
||||||
|
TranslatorRosterTest::GetTranslatorInfoTest()
|
||||||
{
|
{
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
translator_id* translators = NULL;
|
translator_id* translators = NULL;
|
||||||
@@ -613,17 +718,22 @@ void TranslatorRosterTest::GetTranslatorInfoTest()
|
|||||||
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
||||||
CPPUNIT_ASSERT(pDefRoster);
|
CPPUNIT_ASSERT(pDefRoster);
|
||||||
|
|
||||||
CPPUNIT_ASSERT(pDefRoster->GetAllTranslators(&translators, &num_translators) == B_OK);
|
NextSubTest();
|
||||||
|
CPPUNIT_ASSERT(pDefRoster->GetAllTranslators(&translators,
|
||||||
|
&num_translators) == B_OK);
|
||||||
|
CPPUNIT_ASSERT(translators);
|
||||||
|
CPPUNIT_ASSERT(num_translators > 0);
|
||||||
for (int32 i = 0; i < num_translators; i++) {
|
for (int32 i = 0; i < num_translators; i++) {
|
||||||
const char *outName = NULL;
|
const char *outName = NULL;
|
||||||
const char *outInfo = NULL;
|
const char *outInfo = NULL;
|
||||||
int32 outVersion = -1;
|
int32 outVersion = -1;
|
||||||
|
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(pDefRoster->GetTranslatorInfo(-1, &outName, &outInfo,
|
||||||
pDefRoster->GetTranslatorInfo(-1, &outName, &outInfo, &outVersion) == B_NO_TRANSLATOR);
|
&outVersion) == B_NO_TRANSLATOR);
|
||||||
CPPUNIT_ASSERT(
|
// TODO: Add B_BAD_VALUE cases
|
||||||
pDefRoster->GetTranslatorInfo(translators[i], &outName, &outInfo, &outVersion) == B_OK);
|
CPPUNIT_ASSERT(pDefRoster->GetTranslatorInfo(translators[i],
|
||||||
|
&outName, &outInfo, &outVersion) == B_OK);
|
||||||
CPPUNIT_ASSERT(outName);
|
CPPUNIT_ASSERT(outName);
|
||||||
}
|
}
|
||||||
delete[] translators;
|
delete[] translators;
|
||||||
@@ -632,22 +742,28 @@ void TranslatorRosterTest::GetTranslatorInfoTest()
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests:
|
* Tests:
|
||||||
* virtual status_t GetTranslators(BPositionIO *inSource, BMessage *ioExtension, translator_info **outInfo, int32 *outNumInfo, uint32 inHintType = 0, const char *inHintMIME = NULL, uint32 inWantType = 0)
|
* virtual status_t GetTranslators(BPositionIO *inSource,
|
||||||
|
* BMessage *ioExtension, translator_info **outInfo, int32 *outNumInfo,
|
||||||
|
* uint32 inHintType = 0, const char *inHintMIME = NULL, uint32 inWantType = 0)
|
||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::GetTranslatorsTest()
|
void
|
||||||
|
TranslatorRosterTest::GetTranslatorsTest()
|
||||||
{
|
{
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
BApplication app("application/x-vnd.OpenBeOS-translationkit_translatorrostertest");
|
BApplication app(
|
||||||
|
"application/x-vnd.OpenBeOS-translationkit_translatorrostertest");
|
||||||
//open image to get a translator for
|
//open image to get a translator for
|
||||||
BFile image("../src/tests/kits/translation/data/images/image.png", B_READ_ONLY);
|
BFile image("../src/tests/kits/translation/data/images/image.png",
|
||||||
|
B_READ_ONLY);
|
||||||
CPPUNIT_ASSERT(image.InitCheck() == B_OK);
|
CPPUNIT_ASSERT(image.InitCheck() == B_OK);
|
||||||
|
|
||||||
NextSubTest();
|
BFile garbled("../src/tests/kits/translation/data/garbled_data",
|
||||||
BFile garbled("../src/tests/kits/translation/data/garbled_data", B_READ_ONLY);
|
B_READ_ONLY);
|
||||||
CPPUNIT_ASSERT(garbled.InitCheck() == B_OK);
|
CPPUNIT_ASSERT(garbled.InitCheck() == B_OK);
|
||||||
|
|
||||||
|
NextSubTest();
|
||||||
translator_info* info = NULL;
|
translator_info* info = NULL;
|
||||||
int32 outCount = -1;
|
int32 outCount = -1;
|
||||||
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
BTranslatorRoster *pDefRoster = BTranslatorRoster::Default();
|
||||||
@@ -655,23 +771,26 @@ void TranslatorRosterTest::GetTranslatorsTest()
|
|||||||
|
|
||||||
//get translator, specifying wrong args
|
//get translator, specifying wrong args
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(pDefRoster->GetTranslators(&garbled, NULL, NULL,
|
||||||
pDefRoster->GetTranslators(&garbled, NULL, NULL, &outCount) == B_BAD_VALUE);
|
&outCount) == B_BAD_VALUE);
|
||||||
|
|
||||||
//get translator, specifying wrong args
|
//get translator, specifying wrong args
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(pDefRoster->GetTranslators(&garbled, NULL, &info,
|
||||||
pDefRoster->GetTranslators(&garbled, NULL, &info, NULL) == B_BAD_VALUE);
|
NULL) == B_BAD_VALUE);
|
||||||
|
|
||||||
//get translator for garbled data
|
//get translator for garbled data
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(pDefRoster->GetTranslators(&garbled, NULL, &info,
|
||||||
pDefRoster->GetTranslators(&garbled, NULL, &info, &outCount) == B_NO_TRANSLATOR);
|
&outCount) == B_NO_TRANSLATOR);
|
||||||
|
|
||||||
//get translator for image
|
//get translator for image
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(pDefRoster->GetTranslators(&image, NULL, &info, &outCount) == B_OK);
|
CPPUNIT_ASSERT(pDefRoster->GetTranslators(&image, NULL, &info,
|
||||||
|
&outCount) == B_OK);
|
||||||
CPPUNIT_ASSERT(outCount > 0);
|
CPPUNIT_ASSERT(outCount > 0);
|
||||||
|
|
||||||
|
// TODO: Add a case where I specify a valid BMessage
|
||||||
|
|
||||||
delete[] info;
|
delete[] info;
|
||||||
info = NULL;
|
info = NULL;
|
||||||
@@ -679,20 +798,25 @@ void TranslatorRosterTest::GetTranslatorsTest()
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests:
|
* Tests:
|
||||||
* virtual status_t Identify(BPositionIO *inSource, BMessage *ioExtension, translator_info *outInfo, uint32 inHintType = 0, const char *inHintMIME = NULL, uint32 inWantType = 0)
|
* virtual status_t Identify(BPositionIO *inSource, BMessage *ioExtension,
|
||||||
|
* translator_info *outInfo, uint32 inHintType = 0,
|
||||||
|
* const char *inHintMIME = NULL, uint32 inWantType = 0)
|
||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::IdentifyTest()
|
void
|
||||||
|
TranslatorRosterTest::IdentifyTest()
|
||||||
{
|
{
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
BApplication app("application/x-vnd.OpenBeOS-translationkit_translatorrostertest");
|
BApplication app(
|
||||||
|
"application/x-vnd.OpenBeOS-translationkit_translatorrostertest");
|
||||||
//open image to get a translator for
|
//open image to get a translator for
|
||||||
BFile image("../src/tests/kits/translation/data/images/image.png", B_READ_ONLY);
|
BFile image("../src/tests/kits/translation/data/images/image.png",
|
||||||
|
B_READ_ONLY);
|
||||||
CPPUNIT_ASSERT(image.InitCheck() == B_OK);
|
CPPUNIT_ASSERT(image.InitCheck() == B_OK);
|
||||||
|
|
||||||
//NextSubTest();
|
BFile garbled("../src/tests/kits/translation/data/garbled_data",
|
||||||
BFile garbled("../src/tests/kits/translation/data/garbled_data", B_READ_ONLY);
|
B_READ_ONLY);
|
||||||
CPPUNIT_ASSERT(garbled.InitCheck() == B_OK);
|
CPPUNIT_ASSERT(garbled.InitCheck() == B_OK);
|
||||||
|
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
@@ -707,7 +831,8 @@ void TranslatorRosterTest::IdentifyTest()
|
|||||||
|
|
||||||
//get translator for garbled data
|
//get translator for garbled data
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(pDefRoster->Identify(&garbled, NULL, pinfo) == B_NO_TRANSLATOR);
|
CPPUNIT_ASSERT(pDefRoster->Identify(&garbled, NULL,
|
||||||
|
pinfo) == B_NO_TRANSLATOR);
|
||||||
|
|
||||||
//get translator for image
|
//get translator for image
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
@@ -716,22 +841,28 @@ void TranslatorRosterTest::IdentifyTest()
|
|||||||
memset(pinfo, 0, sizeof(pinfo));
|
memset(pinfo, 0, sizeof(pinfo));
|
||||||
CPPUNIT_ASSERT(pDefRoster->Identify(&image, NULL, pinfo) == B_OK);
|
CPPUNIT_ASSERT(pDefRoster->Identify(&image, NULL, pinfo) == B_OK);
|
||||||
|
|
||||||
|
// TODO: Add a test where I actually use pinfo and a BMessage
|
||||||
|
// TODO: and check their contents
|
||||||
|
|
||||||
delete pinfo;
|
delete pinfo;
|
||||||
pinfo = NULL;
|
pinfo = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests:
|
* Tests:
|
||||||
* virtual status_t MakeConfigurationView(translator_id forTranslator, BMessage *ioExtension, BView **outView, BRect *outExtent)
|
* virtual status_t MakeConfigurationView(translator_id forTranslator,
|
||||||
|
* BMessage *ioExtension, BView **outView, BRect *outExtent)
|
||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::MakeConfigurationViewTest()
|
void
|
||||||
|
TranslatorRosterTest::MakeConfigurationViewTest()
|
||||||
{
|
{
|
||||||
//create invalid rect - if it is valid after the
|
//create invalid rect - if it is valid after the
|
||||||
//MakeConfigurationView call the test has succeded
|
//MakeConfigurationView call the test has succeded
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
BApplication app("application/x-vnd.OpenBeOS-translationkit_translatorrostertest");
|
BApplication app(
|
||||||
|
"application/x-vnd.OpenBeOS-translationkit_translatorrostertest");
|
||||||
BRect extent(-1, -1, -1, -1);
|
BRect extent(-1, -1, -1, -1);
|
||||||
//create config view
|
//create config view
|
||||||
BView *view = NULL;
|
BView *view = NULL;
|
||||||
@@ -748,26 +879,25 @@ void TranslatorRosterTest::MakeConfigurationViewTest()
|
|||||||
|
|
||||||
// bad parameters
|
// bad parameters
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(pDefRoster->MakeConfigurationView(translators[0], NULL,
|
||||||
pDefRoster->MakeConfigurationView(translators[0], NULL, &view, NULL) == B_BAD_VALUE);
|
&view, NULL) == B_BAD_VALUE);
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(pDefRoster->MakeConfigurationView(translators[0], NULL,
|
||||||
pDefRoster->MakeConfigurationView(translators[0], NULL, NULL, &extent) == B_BAD_VALUE);
|
NULL, &extent) == B_BAD_VALUE);
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(pDefRoster->MakeConfigurationView(translators[0], NULL,
|
||||||
pDefRoster->MakeConfigurationView(translators[0], NULL, NULL, NULL) == B_BAD_VALUE);
|
NULL, NULL) == B_BAD_VALUE);
|
||||||
|
|
||||||
// bad translator id
|
// bad translator id
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(pDefRoster->MakeConfigurationView(-1, NULL, &view,
|
||||||
pDefRoster->MakeConfigurationView(-1, NULL, &view, &extent) == B_NO_TRANSLATOR);
|
&extent) == B_NO_TRANSLATOR);
|
||||||
|
|
||||||
// should work
|
// should work
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(
|
CPPUNIT_ASSERT(pDefRoster->MakeConfigurationView(translators[0], NULL,
|
||||||
pDefRoster->MakeConfigurationView(translators[0], NULL, &view, &extent) == B_OK);
|
&view, &extent) == B_OK);
|
||||||
// TODO: Add a test that uses a valid BMessage with actual settings in it
|
|
||||||
|
|
||||||
//check validity
|
|
||||||
CPPUNIT_ASSERT(extent.IsValid() == true);
|
CPPUNIT_ASSERT(extent.IsValid() == true);
|
||||||
|
|
||||||
|
// TODO: Add a test that uses a valid BMessage with actual settings in it
|
||||||
|
|
||||||
//clean up after ourselves
|
//clean up after ourselves
|
||||||
delete[] translators;
|
delete[] translators;
|
||||||
@@ -776,17 +906,26 @@ void TranslatorRosterTest::MakeConfigurationViewTest()
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests:
|
* Tests:
|
||||||
* virtual status_t Translate(BPositionIO *inSource, const translator_info *inInfo, BMessage *ioExtension, BPositionIO *outDestination, uint32 inWantOutType, uint32 inHintType = 0, const char *inHintMIME = NULL)
|
* virtual status_t Translate(BPositionIO *inSource,
|
||||||
* virtual status_t Translate(translator_id inTranslator, BPositionIO *inSource, BMessage *ioExtension, BPositionIO *outDestination, uint32 inWantOutType)
|
* const translator_info *inInfo, BMessage *ioExtension,
|
||||||
|
* BPositionIO *outDestination, uint32 inWantOutType,
|
||||||
|
* uint32 inHintType = 0, const char *inHintMIME = NULL)
|
||||||
|
*
|
||||||
|
* virtual status_t Translate(translator_id inTranslator,
|
||||||
|
* BPositionIO *inSource, BMessage *ioExtension,
|
||||||
|
* BPositionIO *outDestination, uint32 inWantOutType)
|
||||||
*
|
*
|
||||||
* @return B_OK if everything went ok, B_ERROR if not
|
* @return B_OK if everything went ok, B_ERROR if not
|
||||||
*/
|
*/
|
||||||
void TranslatorRosterTest::TranslateTest()
|
void
|
||||||
|
TranslatorRosterTest::TranslateTest()
|
||||||
{
|
{
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
BApplication app("application/x-vnd.OpenBeOS-translationkit_translatorrostertest");
|
BApplication app(
|
||||||
|
"application/x-vnd.OpenBeOS-translationkit_translatorrostertest");
|
||||||
//input
|
//input
|
||||||
BFile input("../src/tests/kits/translation/data/images/image.jpg", B_READ_ONLY);
|
BFile input("../src/tests/kits/translation/data/images/image.jpg",
|
||||||
|
B_READ_ONLY);
|
||||||
CPPUNIT_ASSERT(input.InitCheck() == B_OK);
|
CPPUNIT_ASSERT(input.InitCheck() == B_OK);
|
||||||
|
|
||||||
//temp file for generic format
|
//temp file for generic format
|
||||||
@@ -808,14 +947,20 @@ void TranslatorRosterTest::TranslateTest()
|
|||||||
|
|
||||||
//translate to generic
|
//translate to generic
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(pDefRoster->Translate(&input, NULL, NULL, &temp, B_TRANSLATOR_BITMAP) == B_OK);
|
CPPUNIT_ASSERT(pDefRoster->Translate(&input, NULL, NULL, &temp,
|
||||||
|
B_TRANSLATOR_BITMAP) == B_OK);
|
||||||
|
|
||||||
//translate to specific
|
//translate to specific
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
CPPUNIT_ASSERT(pDefRoster->Translate(&temp, NULL, NULL, &output, B_TGA_FORMAT) == B_OK);
|
CPPUNIT_ASSERT(pDefRoster->Translate(&temp, NULL, NULL, &output,
|
||||||
|
B_TGA_FORMAT) == B_OK);
|
||||||
|
|
||||||
|
// TODO: add Translate using ioExtension BMessage and whatever
|
||||||
|
// TODO: the other NULL parameter is
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int
|
||||||
|
main()
|
||||||
{
|
{
|
||||||
//needed by MakeConfigurationView
|
//needed by MakeConfigurationView
|
||||||
TranslatorRosterTest test;
|
TranslatorRosterTest test;
|
||||||
@@ -826,4 +971,6 @@ int main()
|
|||||||
test.VersionTest();
|
test.VersionTest();
|
||||||
test.AddTranslatorsTest();
|
test.AddTranslatorsTest();
|
||||||
test.ArchiveTest();
|
test.ArchiveTest();
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user