Updated the following tests to account for new behaviour
of BMimeType::Set*(NULL) calls as well as test new BMimeType::Delete*() calls: + PreferredApp + AppHint + LongDescription + ShortDescription + Icon + IconForType git-svn-id: file:///srv/svn/repos/haiku/trunk/current@835 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -451,6 +451,15 @@ public:
|
|||||||
return mime.SetIcon(icon, size);
|
return mime.SetIcon(icon, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Used to call the appropriate DeleteIcon[ForType] function
|
||||||
|
virtual status_t DeleteIcon(BMimeType &mime) {
|
||||||
|
#if TEST_R5
|
||||||
|
return B_BAD_VALUE;
|
||||||
|
#else
|
||||||
|
return mime.DeleteIcon(size);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
BBitmap* TempBitmap() {
|
BBitmap* TempBitmap() {
|
||||||
return &bmpTemp;
|
return &bmpTemp;
|
||||||
}
|
}
|
||||||
@@ -485,6 +494,13 @@ public:
|
|||||||
virtual status_t SetIcon(BMimeType &mime, BBitmap *icon) {
|
virtual status_t SetIcon(BMimeType &mime, BBitmap *icon) {
|
||||||
return mime.SetIconForType(fileType.c_str(), icon, size);
|
return mime.SetIconForType(fileType.c_str(), icon, size);
|
||||||
}
|
}
|
||||||
|
virtual status_t DeleteIcon(BMimeType &mime) {
|
||||||
|
#if TEST_R5
|
||||||
|
return B_BAD_VALUE;
|
||||||
|
#else
|
||||||
|
return mime.DeleteIconForType(fileType.c_str(), size);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
protected:
|
protected:
|
||||||
std::string fileType;
|
std::string fileType;
|
||||||
};
|
};
|
||||||
@@ -620,18 +636,50 @@ MimeTypeTest::AppHintTest() {
|
|||||||
// Make sure the type isn't installed
|
// Make sure the type isn't installed
|
||||||
if (mime.IsInstalled())
|
if (mime.IsInstalled())
|
||||||
CHK(mime.Delete() == B_OK);
|
CHK(mime.Delete() == B_OK);
|
||||||
|
#if TEST_R5
|
||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
CHK(mime.GetAppHint(NULL) != B_OK); // R5 == B_BAD_VALUE
|
CHK(mime.GetAppHint(NULL) != B_OK); // R5 == B_BAD_VALUE
|
||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
CHK(mime.SetAppHint(NULL) != B_OK); // Installs, R5 == B_ENTRY_NOT_FOUND
|
CHK(mime.SetAppHint(NULL) != B_OK); // Installs, R5 == B_ENTRY_NOT_FOUND
|
||||||
// OBOS == B_BAD_VALUE, doesn't install
|
|
||||||
#if TEST_R5
|
|
||||||
CHK(mime.IsInstalled());
|
CHK(mime.IsInstalled());
|
||||||
#else
|
|
||||||
CHK(!mime.IsInstalled());
|
|
||||||
#endif
|
|
||||||
CHK(mime.GetAppHint(NULL) != B_OK); // R5 == B_BAD_VALUE
|
CHK(mime.GetAppHint(NULL) != B_OK); // R5 == B_BAD_VALUE
|
||||||
CHK(mime.SetAppHint(NULL) != B_OK); // R5 == B_ENTRY_NOT_FOUND
|
CHK(mime.SetAppHint(NULL) != B_OK); // R5 == B_ENTRY_NOT_FOUND
|
||||||
|
#else
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(mime.GetAppHint(NULL) != B_OK); // B_BAD_VALUE
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(mime.SetAppHint(NULL) != B_OK); // B_ENTRY_NOT_FOUND
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(mime.SetAppHint(&appRef) == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
CHK(mime.GetAppHint(&ref) == B_OK);
|
||||||
|
CHK(ref == appRef);
|
||||||
|
CHK(mime.SetAppHint(NULL) == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
CHK(mime.GetAppHint(&ref) != B_OK); // B_ENTRY_NOT_FOUND
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
// Delete test
|
||||||
|
NextSubTest();
|
||||||
|
{
|
||||||
|
#if !TEST_R5
|
||||||
|
entry_ref ref;
|
||||||
|
BMimeType mime(testType);
|
||||||
|
CHK(mime.InitCheck() == B_OK);
|
||||||
|
// Make sure the type isn't installed
|
||||||
|
if (mime.IsInstalled())
|
||||||
|
CHK(mime.Delete() == B_OK);
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(mime.DeleteAppHint() != B_OK);
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(mime.SetAppHint(&appRef) == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
CHK(mime.GetAppHint(&ref) == B_OK);
|
||||||
|
CHK(ref == appRef);
|
||||||
|
CHK(mime.DeleteAppHint() == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
CHK(mime.GetAppHint(&ref) != B_OK);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
// Non-installed type
|
// Non-installed type
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
@@ -1258,30 +1306,46 @@ MimeTypeTest::IconTest(IconHelper &helper) {
|
|||||||
CHK(mime.Delete() == B_OK);
|
CHK(mime.Delete() == B_OK);
|
||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
// Uninstalled
|
// Uninstalled
|
||||||
CHK(helper.GetIcon(mime, NULL) != B_OK); // R5 == B_BAD_VALUE
|
CHK(helper.GetIcon(mime, NULL) != B_OK); // B_BAD_VALUE
|
||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
CHK(helper.SetIcon(mime, NULL) != B_OK); // R5 == Installs, B_ENTRY_NOT_FOUND
|
CHK(helper.SetIcon(mime, NULL) != B_OK); // R5 == Installs, B_ENTRY_NOT_FOUND
|
||||||
// OBOS == B_BAD_VALUE, doesn't install
|
// OBOS == Doesn't install, B_ENTRY_NOT_FOUND
|
||||||
#if TEST_R5
|
#if TEST_R5
|
||||||
CHK(mime.IsInstalled());
|
CHK(mime.IsInstalled());
|
||||||
#else
|
#else
|
||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(mime.Install() == B_OK);
|
||||||
#endif
|
#endif
|
||||||
CHK(helper.GetIcon(mime, bmp) != B_OK); // R5 == B_ENTRY_NOT_FOUND
|
CHK(helper.GetIcon(mime, bmp) != B_OK); // B_ENTRY_NOT_FOUND
|
||||||
// Installed
|
// Installed
|
||||||
CHK(helper.GetIcon(mime, NULL) != B_OK); // R5 == B_BAD_VALUE
|
CHK(helper.GetIcon(mime, NULL) != B_OK); // B_BAD_VALUE
|
||||||
CHK(helper.SetIcon(mime, helper.Bitmap1()) == B_OK);
|
CHK(helper.SetIcon(mime, helper.Bitmap1()) == B_OK);
|
||||||
CHK(helper.GetIcon(mime, bmp) == B_OK);
|
CHK(helper.GetIcon(mime, bmp) == B_OK);
|
||||||
CHK(*bmp == *helper.Bitmap1());
|
CHK(*bmp == *helper.Bitmap1());
|
||||||
#if TEST_R5
|
|
||||||
CHK(helper.SetIcon(mime, NULL) == B_OK);
|
CHK(helper.SetIcon(mime, NULL) == B_OK);
|
||||||
#else
|
CHK(helper.GetIcon(mime, bmp) != B_OK); // B_ENTRY_NOT_FOUND
|
||||||
CHK(helper.SetIcon(mime, NULL) == B_BAD_VALUE);
|
}
|
||||||
#endif
|
// Delete test
|
||||||
#if TEST_R5
|
NextSubTest();
|
||||||
CHK(helper.GetIcon(mime, bmp) != B_OK); // R5 == B_ENTRY_NOT_FOUND
|
{
|
||||||
#else
|
#if !TEST_R5
|
||||||
CHK(helper.GetIcon(mime, bmp) == B_OK); // OBOS == Still installed from above
|
BMimeType mime(testType);
|
||||||
|
CHK(mime.InitCheck() == B_OK);
|
||||||
|
// Make sure the type isn't installed
|
||||||
|
if (mime.IsInstalled())
|
||||||
|
CHK(mime.Delete() == B_OK);
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(helper.DeleteIcon(mime) != B_OK);
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(helper.SetIcon(mime, helper.Bitmap2()) == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
fill_bitmap(*bmp, 100);
|
||||||
|
CHK(*bmp != *helper.Bitmap2());
|
||||||
|
CHK(helper.GetIcon(mime, bmp) == B_OK);
|
||||||
|
CHK(*bmp == *helper.Bitmap2());
|
||||||
|
CHK(helper.DeleteIcon(mime) == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
CHK(helper.GetIcon(mime, bmp) != B_OK);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
// Invalid Bitmap Size (small -- 10x10)
|
// Invalid Bitmap Size (small -- 10x10)
|
||||||
@@ -1340,9 +1404,10 @@ MimeTypeTest::IconTest(IconHelper &helper) {
|
|||||||
CHK(helper.SetIcon(mime, helper.Bitmap1()) == B_OK);
|
CHK(helper.SetIcon(mime, helper.Bitmap1()) == B_OK);
|
||||||
CHK(helper.GetIcon(mime, &testBmp) != B_OK); // R5 == B_BAD_VALUE
|
CHK(helper.GetIcon(mime, &testBmp) != B_OK); // R5 == B_BAD_VALUE
|
||||||
}
|
}
|
||||||
// Invalid Bitmap Color Depth
|
// Non-B_CMAP8 Color Depth (not really supported under R5)
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
{
|
{
|
||||||
|
#if !TEST_R5
|
||||||
BMimeType mime(testType);
|
BMimeType mime(testType);
|
||||||
CHK(mime.InitCheck() == B_OK);
|
CHK(mime.InitCheck() == B_OK);
|
||||||
// Uninstall then reinstall to clear attributes
|
// Uninstall then reinstall to clear attributes
|
||||||
@@ -1354,7 +1419,6 @@ MimeTypeTest::IconTest(IconHelper &helper) {
|
|||||||
// Init Test Bitmap
|
// Init Test Bitmap
|
||||||
BBitmap testBmp(helper.BitmapBounds(), B_RGB32);
|
BBitmap testBmp(helper.BitmapBounds(), B_RGB32);
|
||||||
// Test Set()
|
// Test Set()
|
||||||
#if !TEST_R5
|
|
||||||
// fill_bitmap(testBmp, 4);
|
// fill_bitmap(testBmp, 4);
|
||||||
fill_bitmap32(testBmp, 10, 20, 30, 40); // Fill our 32-bit bitmap
|
fill_bitmap32(testBmp, 10, 20, 30, 40); // Fill our 32-bit bitmap
|
||||||
BBitmap testBmp8(helper.BitmapBounds(), B_CMAP8); // Create an 8-bit bitmap the same size
|
BBitmap testBmp8(helper.BitmapBounds(), B_CMAP8); // Create an 8-bit bitmap the same size
|
||||||
@@ -1372,13 +1436,6 @@ MimeTypeTest::IconTest(IconHelper &helper) {
|
|||||||
CHK(*bmp != *helper.Bitmap1());
|
CHK(*bmp != *helper.Bitmap1());
|
||||||
CHK(*bmp != testBmp); // Shouldn't match, since SetIcon() reduces to B_CMAP8
|
CHK(*bmp != testBmp); // Shouldn't match, since SetIcon() reduces to B_CMAP8
|
||||||
CHK(*bmp == testBmp8); // *Should* match, since it's the result of a similar reduction
|
CHK(*bmp == testBmp8); // *Should* match, since it's the result of a similar reduction
|
||||||
#endif
|
|
||||||
// Test Get()
|
|
||||||
#if TEST_R5
|
|
||||||
fill_bitmap(testBmp, 3);
|
|
||||||
CHK(helper.SetIcon(mime, helper.Bitmap1()) == B_OK);
|
|
||||||
CHK(helper.GetIcon(mime, &testBmp) == B_OK); // R5 == B_OK, but testBmp is not actually modified
|
|
||||||
CHK(testBmp != *helper.Bitmap1());
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
// Normal Function
|
// Normal Function
|
||||||
@@ -1456,6 +1513,10 @@ MimeTypeTest::IconForTypeTest(IconForTypeHelper &helper) {
|
|||||||
CHK(*bmp != *helper.Bitmap1());
|
CHK(*bmp != *helper.Bitmap1());
|
||||||
CHK(mime.GetIcon(bmp, helper.Size()) == B_OK);
|
CHK(mime.GetIcon(bmp, helper.Size()) == B_OK);
|
||||||
CHK(*bmp == *helper.Bitmap1());
|
CHK(*bmp == *helper.Bitmap1());
|
||||||
|
// Delete with dual NULL calls
|
||||||
|
CHK(mime.SetIconForType(NULL, NULL, helper.Size()) == B_OK);
|
||||||
|
CHK(mime.GetIconForType(NULL, bmp, helper.Size()) != B_OK); // B_ENTRY_NOT_FOUND
|
||||||
|
CHK(mime.GetIcon(bmp, helper.Size()) != B_OK); // B_ENTRY_NOT_FOUND
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1709,24 +1770,39 @@ MimeTypeTest::InstalledTypesTest() {
|
|||||||
|
|
||||||
void
|
void
|
||||||
MimeTypeTest::ShortDescriptionTest() {
|
MimeTypeTest::ShortDescriptionTest() {
|
||||||
DescriptionTest(&BMimeType::GetShortDescription, &BMimeType::SetShortDescription);
|
DescriptionTest(&BMimeType::GetShortDescription, &BMimeType::SetShortDescription,
|
||||||
|
#if TEST_R5
|
||||||
|
NULL
|
||||||
|
#else
|
||||||
|
&BMimeType::DeleteShortDescription
|
||||||
|
#endif
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Long Description
|
// Long Description
|
||||||
|
|
||||||
void
|
void
|
||||||
MimeTypeTest::LongDescriptionTest() {
|
MimeTypeTest::LongDescriptionTest() {
|
||||||
DescriptionTest(&BMimeType::GetLongDescription, &BMimeType::SetLongDescription);
|
DescriptionTest(&BMimeType::GetLongDescription, &BMimeType::SetLongDescription,
|
||||||
|
#if TEST_R5
|
||||||
|
NULL
|
||||||
|
#else
|
||||||
|
&BMimeType::DeleteLongDescription
|
||||||
|
#endif
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// DescriptionTest Helper Function
|
// DescriptionTest Helper Function
|
||||||
void
|
void
|
||||||
MimeTypeTest::DescriptionTest(GetDescriptionFunc getDescr, SetDescriptionFunc setDescr) {
|
MimeTypeTest::DescriptionTest(GetDescriptionFunc getDescr, SetDescriptionFunc setDescr,
|
||||||
|
DeleteDescriptionFunc deleteDescr)
|
||||||
|
{
|
||||||
char str[B_MIME_TYPE_LENGTH+1];
|
char str[B_MIME_TYPE_LENGTH+1];
|
||||||
|
|
||||||
// Uninitialized
|
// Uninitialized
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
{
|
{
|
||||||
|
sprintf(str, "");
|
||||||
BMimeType mime;
|
BMimeType mime;
|
||||||
CPPUNIT_ASSERT(mime.InitCheck() == B_NO_INIT);
|
CPPUNIT_ASSERT(mime.InitCheck() == B_NO_INIT);
|
||||||
CPPUNIT_ASSERT((mime.*getDescr)(str) != B_OK); // R5 == B_BAD_VALUE
|
CPPUNIT_ASSERT((mime.*getDescr)(str) != B_OK); // R5 == B_BAD_VALUE
|
||||||
@@ -1735,6 +1811,7 @@ MimeTypeTest::DescriptionTest(GetDescriptionFunc getDescr, SetDescriptionFunc se
|
|||||||
// Non-installed type
|
// Non-installed type
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
{
|
{
|
||||||
|
sprintf(str, "");
|
||||||
BMimeType mime(testType);
|
BMimeType mime(testType);
|
||||||
CHK(mime.InitCheck() == B_OK);
|
CHK(mime.InitCheck() == B_OK);
|
||||||
// Make sure the type isn't installed
|
// Make sure the type isn't installed
|
||||||
@@ -1762,13 +1839,45 @@ MimeTypeTest::DescriptionTest(GetDescriptionFunc getDescr, SetDescriptionFunc se
|
|||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
CHK((mime.*getDescr)(NULL) == B_BAD_VALUE);
|
CHK((mime.*getDescr)(NULL) == B_BAD_VALUE);
|
||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
CHK((mime.*setDescr)(NULL) == B_BAD_VALUE);
|
CHK((mime.*setDescr)(NULL) == B_ENTRY_NOT_FOUND); // Trying to delete non-existent attribute
|
||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK((mime.*setDescr)(testDescr) == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
sprintf(str, "");
|
||||||
|
CHK((mime.*getDescr)(str) == B_OK);
|
||||||
|
CHK(strcmp(str, testDescr) == 0);
|
||||||
|
CHK((mime.*setDescr)(NULL) == B_OK); // Delete the attribute
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
CHK((mime.*getDescr)(str) == B_ENTRY_NOT_FOUND);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
// Delete test
|
||||||
|
NextSubTest();
|
||||||
|
{
|
||||||
|
#if !TEST_R5
|
||||||
|
entry_ref ref;
|
||||||
|
BMimeType mime(testType);
|
||||||
|
CHK(mime.InitCheck() == B_OK);
|
||||||
|
// Make sure the type isn't installed
|
||||||
|
if (mime.IsInstalled())
|
||||||
|
CHK(mime.Delete() == B_OK);
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK((mime.*deleteDescr)() != B_OK);
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK((mime.*setDescr)(testDescr) == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
sprintf(str, "");
|
||||||
|
CHK((mime.*getDescr)(str) == B_OK);
|
||||||
|
CHK(strcmp(str, testDescr) == 0);
|
||||||
|
CHK((mime.*deleteDescr)() == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
CHK((mime.*getDescr)(str) != B_OK);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
// Installed type
|
// Installed type
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
{
|
{
|
||||||
|
sprintf(str, "");
|
||||||
BMimeType mime(testType);
|
BMimeType mime(testType);
|
||||||
CHK(mime.InitCheck() == B_OK);
|
CHK(mime.InitCheck() == B_OK);
|
||||||
// Uninstall then reinstall to clear attributes
|
// Uninstall then reinstall to clear attributes
|
||||||
@@ -1791,6 +1900,7 @@ MimeTypeTest::DescriptionTest(GetDescriptionFunc getDescr, SetDescriptionFunc se
|
|||||||
// Installed Type, Description Too Long
|
// Installed Type, Description Too Long
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
{
|
{
|
||||||
|
sprintf(str, "");
|
||||||
CHK(strlen(longDescr) > (B_MIME_TYPE_LENGTH+1));
|
CHK(strlen(longDescr) > (B_MIME_TYPE_LENGTH+1));
|
||||||
BMimeType mime(testType);
|
BMimeType mime(testType);
|
||||||
CHK(mime.InitCheck() == B_OK);
|
CHK(mime.InitCheck() == B_OK);
|
||||||
@@ -1851,17 +1961,29 @@ MimeTypeTest::PreferredAppTest() {
|
|||||||
// Make sure the type isn't installed
|
// Make sure the type isn't installed
|
||||||
if (mime.IsInstalled())
|
if (mime.IsInstalled())
|
||||||
CHK(mime.Delete() == B_OK);
|
CHK(mime.Delete() == B_OK);
|
||||||
|
#if TEST_R5
|
||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
CHK(mime.GetPreferredApp(NULL) != B_OK); // R5 == B_ENTRY_NOT_FOUND
|
CHK(mime.GetPreferredApp(NULL) != B_OK); // R5 == B_ENTRY_NOT_FOUND
|
||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
CHK(mime.SetPreferredApp(NULL) != B_OK); // R5 == Installs (but doesn't set), B_ENTRY_NOT_FOUND
|
CHK(mime.SetPreferredApp(NULL) != B_OK); // R5 == Installs (but doesn't set), B_ENTRY_NOT_FOUND
|
||||||
// OBOS == B_BAD_VALUE, doesn't install
|
|
||||||
#if TEST_R5
|
|
||||||
CHK(mime.IsInstalled());
|
CHK(mime.IsInstalled());
|
||||||
|
CHK(mime.GetPreferredApp(str) == B_ENTRY_NOT_FOUND);
|
||||||
#else
|
#else
|
||||||
CHK(!mime.IsInstalled());
|
CHK(!mime.IsInstalled());
|
||||||
#endif
|
CHK(mime.GetPreferredApp(NULL) != B_OK); // OBOS == B_BAD_VALUE
|
||||||
CHK(mime.GetPreferredApp(str) == B_ENTRY_NOT_FOUND);
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(mime.SetPreferredApp(NULL) != B_OK); // OBOS == B_ENTRY_NOT_FOUND
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(mime.SetPreferredApp(testSig) == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
sprintf(str, "");
|
||||||
|
CHK(mime.GetPreferredApp(str) == B_OK);
|
||||||
|
CHK(strcmp(str, testSig) == 0);
|
||||||
|
CHK(mime.SetPreferredApp(NULL) == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
sprintf(str, "");
|
||||||
|
CHK(mime.GetPreferredApp(str) != B_OK); // OBOS == B_ENTRY_NOT_FOUND
|
||||||
|
#endif // !TEST_R5
|
||||||
}
|
}
|
||||||
// Installed type, NULL params
|
// Installed type, NULL params
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
@@ -1878,6 +2000,29 @@ MimeTypeTest::PreferredAppTest() {
|
|||||||
CHK(mime.SetPreferredApp(NULL) != B_OK); // R5 == B_ENTRY_NOT_FOUND
|
CHK(mime.SetPreferredApp(NULL) != B_OK); // R5 == B_ENTRY_NOT_FOUND
|
||||||
CHK(mime.GetPreferredApp(NULL) != B_OK); // R5 == B_BAD_ADDRESS
|
CHK(mime.GetPreferredApp(NULL) != B_OK); // R5 == B_BAD_ADDRESS
|
||||||
}
|
}
|
||||||
|
// Delete test
|
||||||
|
NextSubTest();
|
||||||
|
{
|
||||||
|
#if !TEST_R5
|
||||||
|
entry_ref ref;
|
||||||
|
BMimeType mime(testType);
|
||||||
|
CHK(mime.InitCheck() == B_OK);
|
||||||
|
// Make sure the type isn't installed
|
||||||
|
if (mime.IsInstalled())
|
||||||
|
CHK(mime.Delete() == B_OK);
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(mime.DeletePreferredApp() != B_OK);
|
||||||
|
CHK(!mime.IsInstalled());
|
||||||
|
CHK(mime.SetPreferredApp(testSig) == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
sprintf(str, "");
|
||||||
|
CHK(mime.GetPreferredApp(str) == B_OK);
|
||||||
|
CHK(strcmp(str, testSig) == 0);
|
||||||
|
CHK(mime.DeletePreferredApp() == B_OK);
|
||||||
|
CHK(mime.IsInstalled());
|
||||||
|
CHK(mime.GetPreferredApp(str) != B_OK);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
// Installed type
|
// Installed type
|
||||||
NextSubTest();
|
NextSubTest();
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ class BTestApp;
|
|||||||
// Function pointer types for test sharing between {Get,Set}{Short,Long}Description()
|
// Function pointer types for test sharing between {Get,Set}{Short,Long}Description()
|
||||||
typedef status_t (BMimeType::*GetDescriptionFunc)(char* description) const;
|
typedef status_t (BMimeType::*GetDescriptionFunc)(char* description) const;
|
||||||
typedef status_t (BMimeType::*SetDescriptionFunc)(const char* description);
|
typedef status_t (BMimeType::*SetDescriptionFunc)(const char* description);
|
||||||
|
typedef status_t (BMimeType::*DeleteDescriptionFunc)();
|
||||||
|
|
||||||
class IconHelper;
|
class IconHelper;
|
||||||
class IconForTypeHelper;
|
class IconForTypeHelper;
|
||||||
@@ -59,7 +60,8 @@ public:
|
|||||||
//------------------------------------------------------------
|
//------------------------------------------------------------
|
||||||
// Helper functions
|
// Helper functions
|
||||||
//------------------------------------------------------------
|
//------------------------------------------------------------
|
||||||
void DescriptionTest(GetDescriptionFunc getDescr, SetDescriptionFunc setDescr);
|
void DescriptionTest(GetDescriptionFunc getDescr, SetDescriptionFunc setDescr,
|
||||||
|
DeleteDescriptionFunc deleteDescr);
|
||||||
void IconTest(IconHelper &helper);
|
void IconTest(IconHelper &helper);
|
||||||
void IconForTypeTest(IconForTypeHelper &helper);
|
void IconForTypeTest(IconForTypeHelper &helper);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user