34 // |
35 // |
35 { |
36 { |
36 MakeFile(_L("Y2KTEST.tst")); |
37 MakeFile(_L("Y2KTEST.tst")); |
37 |
38 |
38 TInt r=TheFs.SetEntry(_L("Y2KTEST.tst"),*aTime,KEntryAttHidden,KEntryAttArchive); |
39 TInt r=TheFs.SetEntry(_L("Y2KTEST.tst"),*aTime,KEntryAttHidden,KEntryAttArchive); |
39 test(r==KErrNone); |
40 test_KErrNone(r); |
40 |
41 |
41 TEntry entry; |
42 TEntry entry; |
42 r=TheFs.Entry(_L("Y2KTEST.tst"),entry); |
43 r=TheFs.Entry(_L("Y2KTEST.tst"),entry); |
43 test(r==KErrNone); |
44 test_KErrNone(r); |
44 |
45 |
45 TDateTime checkDateTime=(entry.iModified).DateTime(); |
46 TDateTime checkDateTime=(entry.iModified).DateTime(); |
46 test(checkDateTime.Year()==aDateTime->Year()); |
47 test(checkDateTime.Year()==aDateTime->Year()); |
47 if (validDate) |
48 if (validDate) |
48 { |
49 { |
57 |
58 |
58 (entry.iModified).FormatL(gDateBuf,_L("%*D%X%N%Y %1 %2 %3")); |
59 (entry.iModified).FormatL(gDateBuf,_L("%*D%X%N%Y %1 %2 %3")); |
59 test.Printf(_L("Valid date: %S\n"),&gDateBuf); |
60 test.Printf(_L("Valid date: %S\n"),&gDateBuf); |
60 |
61 |
61 r=TheFs.Delete(_L("Y2KTEST.tst")); |
62 r=TheFs.Delete(_L("Y2KTEST.tst")); |
62 test(r==KErrNone); |
63 test_KErrNone(r); |
63 |
64 |
64 MakeDir(_L("\\Y2KTEST\\")); |
65 MakeDir(_L("\\Y2KTEST\\")); |
65 r=TheFs.SetEntry(_L("\\Y2KTEST\\"),*aTime,KEntryAttHidden,KEntryAttArchive); |
66 r=TheFs.SetEntry(_L("\\Y2KTEST\\"),*aTime,KEntryAttHidden,KEntryAttArchive); |
66 test(r==KErrNone); |
67 test_KErrNone(r); |
67 |
68 |
68 r=TheFs.Entry(_L("\\Y2KTEST\\"),entry); |
69 r=TheFs.Entry(_L("\\Y2KTEST\\"),entry); |
69 test(r==KErrNone); |
70 test_KErrNone(r); |
70 |
71 |
71 checkDateTime=(entry.iModified).DateTime(); |
72 checkDateTime=(entry.iModified).DateTime(); |
72 test(checkDateTime.Year()==aDateTime->Year()); |
73 test(checkDateTime.Year()==aDateTime->Year()); |
73 if (validDate) |
74 if (validDate) |
74 { |
75 { |
83 |
84 |
84 (entry.iModified).FormatL(gDateBuf,_L("%*D%X%N%Y %1 %2 %3")); |
85 (entry.iModified).FormatL(gDateBuf,_L("%*D%X%N%Y %1 %2 %3")); |
85 test.Printf(_L("Valid date: %S\n"),&gDateBuf); |
86 test.Printf(_L("Valid date: %S\n"),&gDateBuf); |
86 |
87 |
87 r=TheFs.RmDir(_L("\\Y2KTEST\\")); |
88 r=TheFs.RmDir(_L("\\Y2KTEST\\")); |
88 test(r==KErrNone); |
89 test_KErrNone(r); |
89 |
90 |
90 } |
91 } |
91 |
92 |
92 |
93 |
93 static void testRFsSetModified(TDateTime* aDateTime, TTime* aTime, TBool validDate) |
94 static void testRFsSetModified(TDateTime* aDateTime, TTime* aTime, TBool validDate) |
96 // |
97 // |
97 { |
98 { |
98 MakeFile(_L("Y2KTEST.tst")); |
99 MakeFile(_L("Y2KTEST.tst")); |
99 |
100 |
100 TInt r=TheFs.SetModified(_L("Y2KTEST.tst"),*aTime); |
101 TInt r=TheFs.SetModified(_L("Y2KTEST.tst"),*aTime); |
101 test(r==KErrNone); |
102 test_KErrNone(r); |
102 |
103 |
103 TTime check; |
104 TTime check; |
104 r=TheFs.Modified(_L("Y2KTEST.tst"),check); |
105 r=TheFs.Modified(_L("Y2KTEST.tst"),check); |
105 test(r==KErrNone); |
106 test_KErrNone(r); |
106 |
107 |
107 TDateTime checkDateTime=check.DateTime(); |
108 TDateTime checkDateTime=check.DateTime(); |
108 |
109 |
109 test(checkDateTime.Year()==aDateTime->Year()); |
110 test(checkDateTime.Year()==aDateTime->Year()); |
110 if (validDate) |
111 if (validDate) |
121 |
122 |
122 check.FormatL(gDateBuf,_L("%*D%X%N%Y %1 %2 %3")); |
123 check.FormatL(gDateBuf,_L("%*D%X%N%Y %1 %2 %3")); |
123 test.Printf(_L("Valid date: %S\n"),&gDateBuf); |
124 test.Printf(_L("Valid date: %S\n"),&gDateBuf); |
124 |
125 |
125 r=TheFs.Delete(_L("Y2KTEST.tst")); |
126 r=TheFs.Delete(_L("Y2KTEST.tst")); |
126 test(r==KErrNone); |
127 test_KErrNone(r); |
127 |
128 |
128 MakeDir(_L("\\Y2KTEST\\")); |
129 MakeDir(_L("\\Y2KTEST\\")); |
129 r=TheFs.SetModified(_L("\\Y2KTEST\\"),*aTime); |
130 r=TheFs.SetModified(_L("\\Y2KTEST\\"),*aTime); |
130 test(r==KErrNone); |
131 test_KErrNone(r); |
131 |
132 |
132 r=TheFs.Modified(_L("\\Y2KTEST\\"),check); |
133 r=TheFs.Modified(_L("\\Y2KTEST\\"),check); |
133 test(r==KErrNone); |
134 test_KErrNone(r); |
134 |
135 |
135 checkDateTime=check.DateTime(); |
136 checkDateTime=check.DateTime(); |
136 test(checkDateTime.Year()==aDateTime->Year()); |
137 test(checkDateTime.Year()==aDateTime->Year()); |
137 if (validDate) |
138 if (validDate) |
138 { |
139 { |
147 |
148 |
148 check.FormatL(gDateBuf,_L("%*D%X%N%Y %1 %2 %3")); |
149 check.FormatL(gDateBuf,_L("%*D%X%N%Y %1 %2 %3")); |
149 test.Printf(_L("Valid date: %S\n"),&gDateBuf); |
150 test.Printf(_L("Valid date: %S\n"),&gDateBuf); |
150 |
151 |
151 r=TheFs.RmDir(_L("\\Y2KTEST\\")); |
152 r=TheFs.RmDir(_L("\\Y2KTEST\\")); |
152 test(r==KErrNone); |
153 test_KErrNone(r); |
153 } |
154 } |
154 |
155 |
155 |
156 |
156 static void testRFileSet(TDateTime* aDateTime, TTime* aTime, TBool validDate) |
157 static void testRFileSet(TDateTime* aDateTime, TTime* aTime, TBool validDate) |
157 // |
158 // |
158 // Test RFile::Set() and RFile::Modified() |
159 // Test RFile::Set() and RFile::Modified() |
159 // |
160 // |
160 { |
161 { |
161 RFile file; |
162 RFile file; |
162 TInt r=file.Replace(TheFs,_L("Y2KTEST.tst"),0); |
163 TInt r=file.Replace(TheFs,_L("Y2KTEST.tst"),0); |
163 test(r==KErrNone || r==KErrPathNotFound); |
164 test_Value(r, r == KErrNone || r==KErrPathNotFound); |
164 |
165 |
165 r=file.Set(*aTime,KEntryAttHidden,KEntryAttNormal); |
166 r=file.Set(*aTime,KEntryAttHidden,KEntryAttNormal); |
166 test(r==KErrNone); |
167 test_KErrNone(r); |
167 file.Close(); |
168 file.Close(); |
168 |
169 |
169 TTime check; |
170 TTime check; |
170 file.Open(TheFs,_L("Y2KTEST.tst"),EFileWrite); |
171 file.Open(TheFs,_L("Y2KTEST.tst"),EFileWrite); |
171 r=file.Modified(check); |
172 r=file.Modified(check); |
172 test(r==KErrNone); |
173 test_KErrNone(r); |
173 file.Close(); |
174 file.Close(); |
174 |
175 |
175 test.Printf(_L("Date set to ")); |
176 test.Printf(_L("Date set to ")); |
176 test.Printf(_L("Day %d "),aDateTime->Day()); |
177 test.Printf(_L("Day %d "),aDateTime->Day()); |
177 test.Printf(_L("Month %d "),aDateTime->Month()); |
178 test.Printf(_L("Month %d "),aDateTime->Month()); |
221 // Test RFile::SetModified() and RFile::Modified() |
222 // Test RFile::SetModified() and RFile::Modified() |
222 // |
223 // |
223 { |
224 { |
224 RFile file; |
225 RFile file; |
225 TInt r=file.Replace(TheFs,_L("Y2KTEST.tst"),0); |
226 TInt r=file.Replace(TheFs,_L("Y2KTEST.tst"),0); |
226 test(r==KErrNone || r==KErrPathNotFound); |
227 test_Value(r, r == KErrNone || r==KErrPathNotFound); |
227 |
228 |
228 r=file.SetModified(*aTime); |
229 r=file.SetModified(*aTime); |
229 test(r==KErrNone); |
230 test_KErrNone(r); |
230 file.Close(); |
231 file.Close(); |
231 |
232 |
232 TTime check; |
233 TTime check; |
233 file.Open(TheFs,_L("Y2KTEST.tst"),EFileWrite); |
234 file.Open(TheFs,_L("Y2KTEST.tst"),EFileWrite); |
234 r=file.Modified(check); |
235 r=file.Modified(check); |
235 test(r==KErrNone); |
236 test_KErrNone(r); |
236 file.Close(); |
237 file.Close(); |
237 |
238 |
238 TDateTime checkDateTime=check.DateTime(); |
239 TDateTime checkDateTime=check.DateTime(); |
239 |
240 |
240 test(checkDateTime.Year()==aDateTime->Year()); |
241 test(checkDateTime.Year()==aDateTime->Year()); |
264 MakeFile(_L("Y2KTEST.tst")); |
265 MakeFile(_L("Y2KTEST.tst")); |
265 |
266 |
266 CFileMan* fileMan=CFileMan::NewL(TheFs); |
267 CFileMan* fileMan=CFileMan::NewL(TheFs); |
267 |
268 |
268 TInt r=fileMan->Attribs(_L("Y2KTEST.tst"),KEntryAttHidden,KEntryAttNormal,*aTime); |
269 TInt r=fileMan->Attribs(_L("Y2KTEST.tst"),KEntryAttHidden,KEntryAttNormal,*aTime); |
269 test(r==KErrNone); |
270 test_KErrNone(r); |
270 |
271 |
271 TEntry entry; |
272 TEntry entry; |
272 r=TheFs.Entry(_L("Y2KTEST.tst"),entry); |
273 r=TheFs.Entry(_L("Y2KTEST.tst"),entry); |
273 test(r==KErrNone); |
274 test_KErrNone(r); |
274 |
275 |
275 TTime check=entry.iModified; |
276 TTime check=entry.iModified; |
276 TDateTime checkDateTime=check.DateTime(); |
277 TDateTime checkDateTime=check.DateTime(); |
277 |
278 |
278 test(checkDateTime.Year()==aDateTime->Year()); |
279 test(checkDateTime.Year()==aDateTime->Year()); |
290 |
291 |
291 check.FormatL(gDateBuf,_L("%*D%X%N%Y %1 %2 %3")); |
292 check.FormatL(gDateBuf,_L("%*D%X%N%Y %1 %2 %3")); |
292 test.Printf(_L("Valid date: %S\n"),&gDateBuf); |
293 test.Printf(_L("Valid date: %S\n"),&gDateBuf); |
293 |
294 |
294 r=TheFs.Delete(_L("Y2KTEST.tst")); |
295 r=TheFs.Delete(_L("Y2KTEST.tst")); |
295 test(r==KErrNone); |
296 test_KErrNone(r); |
296 |
297 |
297 delete fileMan; |
298 delete fileMan; |
298 } |
299 } |
299 |
300 |
300 // Valid dates to be tested for year 2000 compliance |
301 // Valid dates to be tested for year 2000 compliance |
491 tempDateTime=aDateTime; |
492 tempDateTime=aDateTime; |
492 tempTime=aTime; |
493 tempTime=aTime; |
493 for (i=0;i<KMaxValidDateTimes;i++) |
494 for (i=0;i<KMaxValidDateTimes;i++) |
494 { |
495 { |
495 TRAPD(error,testCFileManAttribsL(tempDateTime, tempTime, ETrue)); |
496 TRAPD(error,testCFileManAttribsL(tempDateTime, tempTime, ETrue)); |
496 test(error==KErrNone); |
497 test_KErrNone(error); |
497 tempDateTime++; |
498 tempDateTime++; |
498 tempTime++; |
499 tempTime++; |
499 } |
500 } |
500 } |
501 } |
501 |
502 |
564 tempTime=aTime; |
565 tempTime=aTime; |
565 for (i=0;i<KMaxInvalidDateTimes;i++) |
566 for (i=0;i<KMaxInvalidDateTimes;i++) |
566 { |
567 { |
567 test.Printf(_L("Invalid date: %S\n"),&invalidDates[i]); |
568 test.Printf(_L("Invalid date: %S\n"),&invalidDates[i]); |
568 TRAPD(error,testCFileManAttribsL(tempDateTime, tempTime, EFalse)); |
569 TRAPD(error,testCFileManAttribsL(tempDateTime, tempTime, EFalse)); |
569 test(error==KErrNone); |
570 test_KErrNone(error); |
570 tempDateTime++; |
571 tempDateTime++; |
571 tempTime++; |
572 tempTime++; |
572 } |
573 } |
573 } |
574 } |
574 |
575 |
588 |
589 |
589 for (;i<KMaxValidDateTimes;i++) |
590 for (;i<KMaxValidDateTimes;i++) |
590 { |
591 { |
591 // Dummy time is used to initialise validDateTime[i] before calling SetX() |
592 // Dummy time is used to initialise validDateTime[i] before calling SetX() |
592 r=validDateTime[i].Set(1998,EJune,23,11,11,11,0); |
593 r=validDateTime[i].Set(1998,EJune,23,11,11,11,0); |
593 test(r==KErrNone); |
594 test_KErrNone(r); |
594 r=validDateTime[i].SetYear(testYearValid[i]); |
595 r=validDateTime[i].SetYear(testYearValid[i]); |
595 test(r==KErrNone); |
596 test_KErrNone(r); |
596 r=validDateTime[i].SetMonth(testMonthValid[i]); |
597 r=validDateTime[i].SetMonth(testMonthValid[i]); |
597 test(r==KErrNone); |
598 test_KErrNone(r); |
598 r=validDateTime[i].SetDay(testDayValid[i]); |
599 r=validDateTime[i].SetDay(testDayValid[i]); |
599 test(r==KErrNone); |
600 test_KErrNone(r); |
600 validTime[i]=validDateTime[i]; |
601 validTime[i]=validDateTime[i]; |
601 } |
602 } |
602 |
603 |
603 // Set up an array of invalid TDateTimes and TTimes to be tested for Y2K compliance |
604 // Set up an array of invalid TDateTimes and TTimes to be tested for Y2K compliance |
604 |
605 |
608 |
609 |
609 for (i=0;i<KMaxInvalidDateTimes;i++) |
610 for (i=0;i<KMaxInvalidDateTimes;i++) |
610 { |
611 { |
611 // Dummy time is used to initialise validDateTime[i] before calling SetX() |
612 // Dummy time is used to initialise validDateTime[i] before calling SetX() |
612 r=invalidDateTime[i].Set(1998,EJune,22,11,11,11,0); |
613 r=invalidDateTime[i].Set(1998,EJune,22,11,11,11,0); |
613 test(r==KErrNone); |
614 test_KErrNone(r); |
614 r=invalidDateTime[i].SetYear(testYearInvalid[i]); |
615 r=invalidDateTime[i].SetYear(testYearInvalid[i]); |
615 test(r==KErrNone); |
616 test_KErrNone(r); |
616 r=invalidDateTime[i].SetMonth(testMonthInvalid[i]); |
617 r=invalidDateTime[i].SetMonth(testMonthInvalid[i]); |
617 test(r==KErrNone); |
618 test_KErrNone(r); |
618 r=invalidDateTime[i].SetDay(testDayInvalid[i]); |
619 r=invalidDateTime[i].SetDay(testDayInvalid[i]); |
619 test(r==KErrGeneral); // This will fail because it is an invalid date |
620 test_Value(r, r == KErrGeneral); // This will fail because it is an invalid date |
620 r=invalidDateTime[i].SetDay(testDayInvalid[i]-1); |
621 r=invalidDateTime[i].SetDay(testDayInvalid[i]-1); |
621 test(r==KErrNone); // Set it one day less |
622 test_KErrNone(r); // Set it one day less |
622 invalidTime[i]=invalidDateTime[i]; |
623 invalidTime[i]=invalidDateTime[i]; |
623 invalidTime[i]+=extraDay; // Add on an extra day. This should bump the |
624 invalidTime[i]+=extraDay; // Add on an extra day. This should bump the |
624 } // date onto the next month, NOT set the day |
625 } // date onto the next month, NOT set the day |
625 // to the invalid date in invalidDateTime[i] |
626 // to the invalid date in invalidDateTime[i] |
626 |
627 |
633 // Do testing on aDrive |
634 // Do testing on aDrive |
634 // |
635 // |
635 { |
636 { |
636 |
637 |
637 TInt r=TheFs.MkDirAll(_L("\\F32-TST\\YEAR 2000 TESTS\\")); |
638 TInt r=TheFs.MkDirAll(_L("\\F32-TST\\YEAR 2000 TESTS\\")); |
638 test(r==KErrNone || r==KErrAlreadyExists); |
639 test_Value(r, r == KErrNone || r==KErrAlreadyExists); |
639 TRAP(r,CallTests()); |
640 TRAP(r,CallTests()); |
640 if (r==KErrNone) |
641 if (r==KErrNone) |
641 TheFs.ResourceCountMarkEnd(); |
642 TheFs.ResourceCountMarkEnd(); |
642 else |
643 else |
643 { |
644 { |
644 test.Printf(_L("Error: Leave %d\n"),r); |
645 test.Printf(_L("Error: Leave %d\n"),r); |
645 test(0); |
646 test(0); |
646 } |
647 } |
647 r=TheFs.RmDir(_L("\\F32-TST\\YEAR 2000 TESTS\\")); |
648 r=TheFs.RmDir(_L("\\F32-TST\\YEAR 2000 TESTS\\")); |
648 test(r==KErrNone); |
649 test_KErrNone(r); |
649 } |
650 } |