|
1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 #ifndef __tCal_Instance_TestData_h__ |
|
17 #define __tCal_Instance_TestData_h__ |
|
18 |
|
19 #include <e32base.h> |
|
20 #include <calinstanceview.h> |
|
21 #include <calentry.h> |
|
22 |
|
23 class TCalRRule; |
|
24 class CCalEntryView; |
|
25 |
|
26 _LIT8(KGUID1, "A_Global_UID"); |
|
27 _LIT8(KGUID2, "B_Global_UID"); |
|
28 _LIT8(KGUID3, "C_Global_UID"); |
|
29 _LIT8(KGUID4, "D_Global_UID"); |
|
30 _LIT8(KGUID5, "E_Global_UID"); |
|
31 |
|
32 // |
|
33 // Class for storing test data for each test. This makes it easier to create new tests. |
|
34 // |
|
35 // iDescription describes the test. This is outputted to the test server. |
|
36 // iTimes stores the expected results of the test - the instances that should be found. |
|
37 // iStartDate and iEndDate store the time range to be passed into FindInstanceL. |
|
38 // iFilter stores the filter to be passed into FindInstanceL. |
|
39 // iSearchString and iSearchBehaviour store the search parameters to be passed into FindInstanceL. |
|
40 // iFunction can specify a pointer to a function which can be called to verify results. Not currently used. |
|
41 // |
|
42 class CTestDataStruct : public CBase |
|
43 { |
|
44 public: |
|
45 CTestDataStruct(); |
|
46 ~CTestDataStruct(); |
|
47 |
|
48 RArray<TTime> iTimes; |
|
49 TTime iStartDate; |
|
50 TTime iEndDate; |
|
51 TBuf<256> iDescription; |
|
52 CalCommon::TCalViewFilter iFilter; |
|
53 TCallBack* iFunction; |
|
54 HBufC* iSearchString; |
|
55 CalCommon::TCalSearchBehaviour iSearchBehaviour; |
|
56 }; |
|
57 |
|
58 // |
|
59 // Class for setting up the test data. |
|
60 // The current test number is passed into GetTestDataL, which sets up the entry to be tested. |
|
61 // |
|
62 class CTestData : public CBase |
|
63 { |
|
64 public: |
|
65 enum TTestNumber |
|
66 { |
|
67 EDailyTest1, // 0 |
|
68 EDailyTest2, |
|
69 EDailyTest3, |
|
70 EDailyTest4, |
|
71 EDailyTest5, |
|
72 EDailyTest6, |
|
73 EDailyTest7, |
|
74 EWeeklyTest1, |
|
75 EWeeklyTest2, |
|
76 EWeeklyTest3, |
|
77 EWeeklyTest4, // 10 |
|
78 EWeeklyTest1980_5, |
|
79 EMonthlyTest1, |
|
80 EMonthlyTest2, |
|
81 EMonthlyTest3, |
|
82 EMonthlyTest4, |
|
83 EYearlyTest1, |
|
84 EYearlyTest2, |
|
85 EYearlyTest3, |
|
86 EYearlyTest4, |
|
87 EYearlyTest5, // 20 |
|
88 EYearlyTest1980_6, |
|
89 EMultipleTest1, |
|
90 EMultipleTest2, |
|
91 EFilterTest1, |
|
92 EFilterTest2, |
|
93 EFilterTest3, |
|
94 EFilterTest4, |
|
95 EFilterTest5, |
|
96 EFilterTest6, |
|
97 EFilterTest7, // 30 |
|
98 EDeleteTest1, |
|
99 EDeleteTest2, |
|
100 EDeleteTest3, |
|
101 EDeleteTest4, |
|
102 EFindStringTest1, |
|
103 EFindStringTest2, |
|
104 EFindStringTest3, |
|
105 EFindStringTest4, |
|
106 EStartEndTimesTest1, |
|
107 EStartEndTimesTest2, // 40 |
|
108 EStartEndTimesTest3, |
|
109 EStartEndTimesTest4, |
|
110 EStartEndTimesTest5, |
|
111 EStartEndTimesTest6, |
|
112 EStartEndTimesTest7, |
|
113 EManyInstancesTest, |
|
114 EManyInstancesTest2, |
|
115 EManyInstancesTest3, |
|
116 EMaxRangeTest, |
|
117 EMaxRangeTest2, // 50 |
|
118 EMaxRangeTest3, |
|
119 EMaxRangeTest4, |
|
120 EMaxRangeTest5, |
|
121 EMaxRangeTest6, |
|
122 EMaxRangeTest7, |
|
123 EMaxRangeTest8, |
|
124 EFindStringInFieldTest1, |
|
125 EFindStringInFieldTest2, |
|
126 EFindStringInFieldTest3, |
|
127 EFindStringInFieldTest4, // 60 |
|
128 EFindStringInFieldTest5, |
|
129 EFindStringInFieldTest6, |
|
130 EEmptyDatabase1, |
|
131 EEmptyDatabase2, |
|
132 ESecondGranularityTest, |
|
133 EMSecondGranularityTest, |
|
134 ERuleAndDateTest, |
|
135 ENextInstanceOnlyTest, |
|
136 EDeleteInstanceTest, |
|
137 ERDateBeforeDtStartTest, // 70 |
|
138 EDstBoundaryTest1, |
|
139 EDstBoundaryTest2, |
|
140 EDstBoundaryTest3, |
|
141 EDstBoundaryTest4, |
|
142 EDstBoundaryTest5, |
|
143 EExcludeInstanceAdjoiningRangeTestNonRepeat, |
|
144 EExcludeInstanceAdjoiningRangeTestRepeat, |
|
145 EFindInstanceWithTimeTest, |
|
146 EUpdateInstanceTest, |
|
147 ETestTodoOnMaxDate, |
|
148 ENumberOfTests, |
|
149 }; |
|
150 static CTestDataStruct* GenerateTestDataLC(TTestNumber aTestNumber, CCalInstanceView* aView, CCalEntryView* aEntryView); |
|
151 |
|
152 private: |
|
153 // utility functions |
|
154 static void AddRuleL(const TCalRRule& aRpt, CCalEntryView* aView, const TDesC8& aGuid, CCalEntry::TType aType = CCalEntry::EAppt, TTimeIntervalHours aDuration = 1); |
|
155 static void AddWeeklyRuleL(TDay aDay, CCalEntryView* aEntryView, const TDesC8& aGuid, CCalEntry::TType aType); |
|
156 static void CreateWeeklyEntryWithThisStringL(TDay aDay, const TDesC& aString, CCalEntryView* aInstanceView, const TDesC8& aGuid); |
|
157 static CCalEntry* CreateEntryLC(CCalEntry::TType aType, const TDesC8& aGuid, const TTime& aStartTimeLocal, const TTime& aEndTimeLocal); |
|
158 static void StoreEntryWithTextL(CCalEntryView* aEntryView, CCalEntry::TType aType, const TDesC8& aGuid, const TTime& aStartTimeLocal, const TDesC& aSummaryText); |
|
159 static CCalEntry* CreateTodoLC(const TDesC8& aGuid, const TTime& aTimeUtc, const TTime& aCompletedTimeUtc); |
|
160 static void CreateFilterTestDataL(CCalEntryView* aView); |
|
161 static void SetupMultipleTextFieldsTestL(CCalEntryView* aView); |
|
162 |
|
163 // the tests... |
|
164 static void CreateDailyTest1L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
165 static void CreateDailyTest2L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
166 static void CreateDailyTest3L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
167 static void CreateDailyTest4L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
168 static void CreateDailyTest5L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
169 static void CreateDailyTest6L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
170 static void CreateDailyTest7L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
171 static void CreateWeeklyTest1L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
172 static void CreateWeeklyTest2L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
173 static void CreateWeeklyTest3L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
174 static void CreateWeeklyTest4L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
175 static void CreateWeeklyTest1980_5L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
176 static void CreateMonthlyTest1L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
177 static void CreateMonthlyTest2L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
178 static void CreateMonthlyTest3L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
179 static void CreateMonthlyTest4L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
180 static void CreateYearlyTest1L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
181 static void CreateYearlyTest2L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
182 static void CreateYearlyTest3L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
183 static void CreateYearlyTest4L(CTestDataStruct& aData, TBool aRepeatForever, CCalEntryView* aEntryView); |
|
184 static void CreateYearlyTest1980_6L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
185 static void CreateMultipleRuleTest1L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
186 static void CreateMultipleRuleTest2L(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
187 static void CreateFilterTest1L(CTestDataStruct& aData, CCalEntryView* aView); |
|
188 static void CreateFilterTest2L(CTestDataStruct& aData, CCalEntryView* aView); |
|
189 static void CreateFilterTest3L(CTestDataStruct& aData, CCalEntryView* aView); |
|
190 static void CreateFilterTest4L(CTestDataStruct& aData, CCalEntryView* aView); |
|
191 static void CreateFilterTest5L(CTestDataStruct& aData, CCalEntryView* aView); |
|
192 static void CreateFilterTest6L(CTestDataStruct& aData, CCalEntryView* aView); |
|
193 static void CreateFilterTest7L(CTestDataStruct& aData, CCalEntryView* aView); |
|
194 static void CreateDeleteTest1L(CTestDataStruct& aData, CCalEntryView* aView, CCalInstanceView* aInstanceView); |
|
195 static void CreateDeleteTest2L(CTestDataStruct& aData, CCalEntryView* aView, CCalInstanceView* aInstanceView); |
|
196 static void CreateDeleteTest3L(CTestDataStruct& aData, CCalEntryView* aView, CCalInstanceView* aInstanceView); |
|
197 static void CreateDeleteTest4L(CTestDataStruct& aData, CCalEntryView* aView, CCalInstanceView* aInstanceView); |
|
198 static void CreateStringTest1L(CTestDataStruct& aData, CCalEntryView* aView); |
|
199 static void CreateStringTest2L(CTestDataStruct& aData, CCalEntryView* aView); |
|
200 static void CreateStringTest3L(CTestDataStruct& aData, CCalEntryView* aView); |
|
201 static void CreateStringTest4L(CTestDataStruct& aData, CCalEntryView* aView); |
|
202 static void SetupStartEndTimesTestL(CCalEntryView* aView); |
|
203 static void CreateStartEndTimesTest1L(CTestDataStruct& aData, CCalEntryView* aView); |
|
204 static void CreateStartEndTimesTest2L(CTestDataStruct& aData, CCalEntryView* aView); |
|
205 static void CreateStartEndTimesTest3L(CTestDataStruct& aData, CCalEntryView* aView); |
|
206 static void CreateStartEndTimesTest4L(CTestDataStruct& aData, CCalEntryView* aView); |
|
207 static void CreateStartEndTimesTest5L(CTestDataStruct& aData, CCalEntryView* aView); |
|
208 static void CreateStartEndTimesTest6L(CTestDataStruct& aData, CCalEntryView* aView); |
|
209 static void CreateStartEndTimesTest7L(CTestDataStruct& aData, CCalEntryView* aView); |
|
210 static void CreateUndatedTodoTest1L(CTestDataStruct& aData, CCalEntryView* aView); |
|
211 static void EmptyDatabase1L(CTestDataStruct& aData, CCalEntryView* aView); |
|
212 static void EmptyDatabase2L(CTestDataStruct& aData, CCalEntryView* aView); |
|
213 static void CreateManyInstancesTestL(CTestDataStruct& aData, CCalEntryView* aView); |
|
214 static void CreateManyInstancesTest2L(CTestDataStruct& aData, CCalEntryView* aView); |
|
215 static void CreateManyInstancesTest3L(CTestDataStruct& aData, CCalEntryView* aView); |
|
216 static TInt CompleteManyInstanceTest(TAny* aPtr); |
|
217 static void CreateMaxRangeTestL(CTestDataStruct& aData, CCalEntryView* aView); |
|
218 static void CreateMaxRangeTest2L(CTestDataStruct& aData, CCalEntryView* aView); |
|
219 static void CreateMaxRangeTest3L(CTestDataStruct& aData, CCalEntryView* aView); |
|
220 static void CreateMaxRangeTest4L(CTestDataStruct& aData, CCalEntryView* aView); |
|
221 static void CreateMaxRangeTest5L(CTestDataStruct& aData, CCalEntryView* aView); |
|
222 static void CreateMaxRangeTest6L(CTestDataStruct& aData, CCalEntryView* aView); |
|
223 static void CreateMaxRangeTest7L(CTestDataStruct& aData, CCalEntryView* aView); |
|
224 static void CreateMaxRangeTest8L(CTestDataStruct& aData, CCalEntryView* aView); |
|
225 static void CreateRepeatingWithSecondGranularityL(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
226 static void CreateRepeatingWithMSecondGranularityL(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
227 static void CreateRepeatingWithRuleAndDatesL(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
228 static void CreateNextInstanceOnlyTestL(CTestDataStruct& aData, CCalEntryView* aView); |
|
229 static void DeleteEntryLastInstanceL(CTestDataStruct& aData, CCalEntryView* aView, CCalInstanceView* aInstanceView); |
|
230 |
|
231 static void TestFindInstanceWithTimeL( CTestDataStruct& aData, CCalEntryView* aEntryView ); |
|
232 static void TestUpdateInstanceL(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
233 |
|
234 static void CreateStringInFieldTest1L(CTestDataStruct& aData, CCalEntryView* aView); |
|
235 static void CreateStringInFieldTest2L(CTestDataStruct& aData, CCalEntryView* aView); |
|
236 static void CreateStringInFieldTest3L(CTestDataStruct& aData, CCalEntryView* aView); |
|
237 static void CreateStringInFieldTest4L(CTestDataStruct& aData, CCalEntryView* aView); |
|
238 static void CreateStringInFieldTest5L(CTestDataStruct& aData, CCalEntryView* aView); |
|
239 static void CreateStringInFieldTest6L(CTestDataStruct& aData, CCalEntryView* aView); |
|
240 static void CreateRDateBeforeDtStartTestL(CTestDataStruct& aData, CCalEntryView* aView); |
|
241 static void CreateDstBoundaryTest1L(CTestDataStruct& aData, CCalEntryView* aView); |
|
242 static void CreateDstBoundaryTest2L(CTestDataStruct& aData, CCalEntryView* aView); |
|
243 static void CreateDstBoundaryTest3L(CTestDataStruct& aData, CCalEntryView* aView); |
|
244 static void CreateDstBoundaryTest4L(CTestDataStruct& aData, CCalEntryView* aView); |
|
245 static void CreateDstBoundaryTest5L(CTestDataStruct& aData, CCalEntryView* aView); |
|
246 static void ExcludeInstanceAdjoiningRangeTestNonRepeatL(CTestDataStruct& aData, CCalEntryView* aView); |
|
247 static void ExcludeInstanceAdjoiningRangeTestRepeatL(CTestDataStruct& aData, CCalEntryView* aView); |
|
248 static void TestTodoOnMaxDateL(CTestDataStruct& aData, CCalEntryView* aEntryView); |
|
249 }; |
|
250 |
|
251 #endif //__tCal_Instance_TestData_h__ |
|
252 |