1// MimeTypeTest.h
2
3#ifndef __sk_mime_type_test_h__
4#define __sk_mime_type_test_h__
5
6#include <cppunit/TestCaller.h>
7#include <cppunit/TestSuite.h>
8
9#include "BasicTest.h"
10#include <Mime.h>
11
12class BTestApp;
13
14// Function pointer types for test sharing between {Get,Set}{Short,Long}Description()
15typedef status_t (BMimeType::*GetDescriptionFunc)(char* description) const;
16typedef status_t (BMimeType::*SetDescriptionFunc)(const char* description);
17typedef status_t (BMimeType::*DeleteDescriptionFunc)();
18
19class IconHelper;
20class IconForTypeHelper;
21class NotificationMessage;
22
23class MimeTypeTest : public BasicTest {
24public:
25	static CppUnit::Test* Suite();
26
27	// This function called before *each* test added in Suite()
28	void setUp();
29
30	// This function called after *each* test added in Suite()
31	void tearDown();
32
33	//------------------------------------------------------------
34	// Test functions
35	//------------------------------------------------------------
36	void InstallDeleteTest();
37	void AppHintTest();
38	void AttrInfoTest();
39	void FileExtensionsTest();
40	void LargeIconTest();
41	void MiniIconTest();
42	void LargeIconForTypeTest();
43	void MiniIconForTypeTest();
44	void InstalledTypesTest();
45	void LongDescriptionTest();
46	void ShortDescriptionTest();
47	void PreferredAppTest();
48	void SupportingAppsTest();
49	void SupportedTypesTest();
50	void WildcardAppsTest();
51
52	void InitTest();
53	void StringTest();
54	void MonitoringTest();
55	void UpdateMimeInfoTest();
56	void CreateAppMetaMimeTest();
57	void GetDeviceIconTest();
58	void SnifferRuleTest();
59	void SniffingTest();
60
61	//------------------------------------------------------------
62	// Helper functions
63	//------------------------------------------------------------
64	void DescriptionTest(GetDescriptionFunc getDescr, SetDescriptionFunc setDescr,
65	                       DeleteDescriptionFunc deleteDescr);
66	void IconTest(IconHelper &helper);
67	void IconForTypeTest(IconForTypeHelper &helper);
68
69	void CheckNotificationMessages(const NotificationMessage *messages,
70								   int32 count);
71	void VerifyInstalledTypes();
72
73private:
74	BTestApp	*fApplication;
75};
76
77
78#endif	// __sk_mime_type_test_h__
79