27 { |
28 { |
28 |
29 |
29 test.Next(_L("Test MkDir")); |
30 test.Next(_L("Test MkDir")); |
30 |
31 |
31 TInt r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\")); |
32 TInt r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\")); |
32 test(r==KErrNone); |
33 test_KErrNone(r); |
33 r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\TEST\\")); |
34 r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\TEST\\")); |
34 test(r==KErrPathNotFound); |
35 test_Value(r, r == KErrPathNotFound); |
35 r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\")); |
36 r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\")); |
36 test(r==KErrNone); |
37 test_KErrNone(r); |
37 r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\TEST\\")); |
38 r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\TEST\\")); |
38 test(r==KErrNone); |
39 test_KErrNone(r); |
39 |
40 |
40 test.Next(_L("Test RmDir 1.0")); |
41 test.Next(_L("Test RmDir 1.0")); |
41 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\")); |
42 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\")); |
42 test(r==KErrNone); |
43 test_KErrNone(r); |
43 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\")); |
44 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\")); |
44 test(r==KErrNone); |
45 test_KErrNone(r); |
45 |
46 |
46 test.Next(_L("Test MkDirAll 1.0")); |
47 test.Next(_L("Test MkDirAll 1.0")); |
47 r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\TEST\\")); |
48 r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\TEST\\")); |
48 test(r==KErrNone); |
49 test_KErrNone(r); |
49 |
50 |
50 test.Next(_L("Test RmDir 2.0")); |
51 test.Next(_L("Test RmDir 2.0")); |
51 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\")); |
52 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\")); |
52 test(r==KErrNone); |
53 test_KErrNone(r); |
53 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\")); |
54 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\")); |
54 test(r==KErrNone); |
55 test_KErrNone(r); |
55 |
56 |
56 test.Next(_L("Test MkDirAll 2.0")); |
57 test.Next(_L("Test MkDirAll 2.0")); |
57 r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\")); |
58 r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\")); |
58 test(r==KErrNone); |
59 test_KErrNone(r); |
59 r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\TEST\\")); |
60 r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\TEST\\")); |
60 test(r==KErrNone); |
61 test_KErrNone(r); |
61 |
62 |
62 test.Next(_L("Test RmDir 3.0")); |
63 test.Next(_L("Test RmDir 3.0")); |
63 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\")); |
64 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\")); |
64 test(r==KErrNone); |
65 test_KErrNone(r); |
65 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\")); |
66 r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\")); |
66 test(r==KErrNone); |
67 test_KErrNone(r); |
67 |
68 |
68 test.Next(_L("Test mkdir and rmdir on root")); |
69 test.Next(_L("Test mkdir and rmdir on root")); |
69 r=TheFs.RmDir(_L("\\File.TXT")); |
70 r=TheFs.RmDir(_L("\\File.TXT")); |
70 test(r==KErrInUse); |
71 test_Value(r, r == KErrInUse); |
71 r=TheFs.MkDir(_L("\\asdf.ere")); |
72 r=TheFs.MkDir(_L("\\asdf.ere")); |
72 test(r==KErrAlreadyExists); |
73 test_Value(r, r == KErrAlreadyExists); |
73 r=TheFs.MkDirAll(_L("\\asdf.ere")); |
74 r=TheFs.MkDirAll(_L("\\asdf.ere")); |
74 test(r==KErrAlreadyExists); |
75 test_Value(r, r == KErrAlreadyExists); |
75 |
76 |
76 test.Next(_L("Test error code return values")); |
77 test.Next(_L("Test error code return values")); |
77 r=TheFs.MkDir(_L("\\F32-TST\\\\ABCDEF\\")); |
78 r=TheFs.MkDir(_L("\\F32-TST\\\\ABCDEF\\")); |
78 |
79 |
79 test(r==KErrBadName); |
80 test_Value(r, r == KErrBadName); |
80 |
81 |
81 test.Next(_L("Test MkDir with trailing spaces")); |
82 test.Next(_L("Test MkDir with trailing spaces")); |
82 r=TheFs.MkDir(_L("\\F32-TST\\TESTMKDIR \\")); |
83 r=TheFs.MkDir(_L("\\F32-TST\\TESTMKDIR \\")); |
83 test(r==KErrNone); |
84 test_KErrNone(r); |
84 r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\")); |
85 r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\")); |
85 test(r==KErrNone); |
86 test_KErrNone(r); |
86 r=TheFs.MkDirAll(_L("\\F32-TST\\TESTMKDIR \\NOTCREATED\\NORTHIS \\")); |
87 r=TheFs.MkDirAll(_L("\\F32-TST\\TESTMKDIR \\NOTCREATED\\NORTHIS \\")); |
87 test(r==KErrPathNotFound); |
88 test_Value(r, r == KErrPathNotFound); |
88 r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\NOTCREATED\\")); |
89 r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\NOTCREATED\\")); |
89 test(r==KErrNotFound); |
90 test_Value(r, r == KErrNotFound); |
90 r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\")); |
91 r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\")); |
91 test(r==KErrNone); |
92 test_KErrNone(r); |
92 |
93 |
93 r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\")); |
94 r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\")); |
94 test(r==KErrNone); |
95 test_KErrNone(r); |
95 } |
96 } |
96 |
97 |
97 LOCAL_C void testRename() |
98 LOCAL_C void testRename() |
98 // |
99 // |
99 // Test the rename function. |
100 // Test the rename function. |
100 // |
101 // |
101 { |
102 { |
102 |
103 |
103 test.Next(_L("Test rename directories")); |
104 test.Next(_L("Test rename directories")); |
104 TInt r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\GPQ\\")); |
105 TInt r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\GPQ\\")); |
105 test(r==KErrNone || r==KErrAlreadyExists); |
106 test_Value(r, r == KErrNone || r==KErrAlreadyExists); |
106 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\"),_L("\\F32-TST\\ABCDEF\\LMED")); |
107 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\"),_L("\\F32-TST\\ABCDEF\\LMED")); |
107 test(r==KErrInUse); |
108 test_Value(r, r == KErrInUse); |
108 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\GPQ"),_L("\\F32-TST\\LMED")); |
109 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\GPQ"),_L("\\F32-TST\\LMED")); |
109 test(r==KErrNone); |
110 test_KErrNone(r); |
110 r=TheFs.RmDir(_L("\\F32-TST\\LMED\\")); |
111 r=TheFs.RmDir(_L("\\F32-TST\\LMED\\")); |
111 test(r==KErrNone); |
112 test_KErrNone(r); |
112 |
113 |
113 MakeDir(_L("\\F32-TST\\ABC\\")); |
114 MakeDir(_L("\\F32-TST\\ABC\\")); |
114 MakeFile(_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt")); |
115 MakeFile(_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt")); |
115 MakeFile(_L("\\F32-TST\\asdf.txt")); |
116 MakeFile(_L("\\F32-TST\\asdf.txt")); |
116 |
117 |
117 test.Next(_L("Test rename directory while subfile is open")); |
118 test.Next(_L("Test rename directory while subfile is open")); |
118 RFile f; |
119 RFile f; |
119 r=f.Open(TheFs,_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt"),EFileRead); |
120 r=f.Open(TheFs,_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt"),EFileRead); |
120 test(r==KErrNone); |
121 test_KErrNone(r); |
121 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy")); |
122 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy")); |
122 test(r==KErrInUse); |
123 test_Value(r, r == KErrInUse); |
123 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy")); |
124 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy")); |
124 test(r==KErrInUse); |
125 test_Value(r, r == KErrInUse); |
125 r=TheFs.Rename(_L("\\F32-TST\\ABC"),_L("\\F32-TST\\XXX")); |
126 r=TheFs.Rename(_L("\\F32-TST\\ABC"),_L("\\F32-TST\\XXX")); |
126 test(r==KErrNone); |
127 test_KErrNone(r); |
127 f.Close(); |
128 f.Close(); |
128 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy")); |
129 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy")); |
129 test(r==KErrNone); |
130 test_KErrNone(r); |
130 r=TheFs.Rename(_L("\\F32-TST\\XXX"),_L("\\F32-TST\\ABC")); |
131 r=TheFs.Rename(_L("\\F32-TST\\XXX"),_L("\\F32-TST\\ABC")); |
131 test(r==KErrNone); |
132 test_KErrNone(r); |
132 r=TheFs.Rename(_L("\\"),_L("\\BLARG")); |
133 r=TheFs.Rename(_L("\\"),_L("\\BLARG")); |
133 test(r==KErrBadName); |
134 test_Value(r, r == KErrBadName); |
134 |
135 |
135 r=f.Open(TheFs,_L("\\F32-TST\\asdf.txt"),EFileRead); |
136 r=f.Open(TheFs,_L("\\F32-TST\\asdf.txt"),EFileRead); |
136 test(r==KErrNone); |
137 test_KErrNone(r); |
137 r=TheFs.Rename(_L("\\F32-TST\\xxxyyy"),_L("\\F32-TST\\ABCDEF")); |
138 r=TheFs.Rename(_L("\\F32-TST\\xxxyyy"),_L("\\F32-TST\\ABCDEF")); |
138 test(r==KErrNone); |
139 test_KErrNone(r); |
139 r=TheFs.Rename(_L("\\F32-TST\\"),_L("\\ABCDEF")); |
140 r=TheFs.Rename(_L("\\F32-TST\\"),_L("\\ABCDEF")); |
140 test(r==KErrInUse); |
141 test_Value(r, r == KErrInUse); |
141 f.Close(); |
142 f.Close(); |
142 |
143 |
143 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt")); |
144 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt")); |
144 test(r==KErrNone); |
145 test_KErrNone(r); |
145 r=TheFs.Delete(_L("\\F32-TST\\asdf.txt")); |
146 r=TheFs.Delete(_L("\\F32-TST\\asdf.txt")); |
146 test(r==KErrNone); |
147 test_KErrNone(r); |
147 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\GPQ\\")); |
148 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\GPQ\\")); |
148 test(r==KErrNone); |
149 test_KErrNone(r); |
149 r=TheFs.RmDir(_L("\\F32-TST\\ABC\\")); |
150 r=TheFs.RmDir(_L("\\F32-TST\\ABC\\")); |
150 test(r==KErrNone); |
151 test_KErrNone(r); |
151 |
152 |
152 r=TheFs.Rename(_L("\\TST-E32\\123456"),_L("\\F32-TST\\ABCDEF")); |
153 r=TheFs.Rename(_L("\\TST-E32\\123456"),_L("\\F32-TST\\ABCDEF")); |
153 test(r==KErrPathNotFound); |
154 test_Value(r, r == KErrPathNotFound); |
154 r=TheFs.Rename(_L("\\F32-TST\\123456"),_L("\\F32-TST\\ABCDEF")); |
155 r=TheFs.Rename(_L("\\F32-TST\\123456"),_L("\\F32-TST\\ABCDEF")); |
155 test(r==KErrNotFound); |
156 test_Value(r, r == KErrNotFound); |
156 r=TheFs.Rename(_L("\\TST-E32\\123456"),_L("\\F32-TST\\FEDCBA")); |
157 r=TheFs.Rename(_L("\\TST-E32\\123456"),_L("\\F32-TST\\FEDCBA")); |
157 test(r==KErrPathNotFound); |
158 test_Value(r, r == KErrPathNotFound); |
158 r=TheFs.Rename(_L("\\F32-TST\\FEDCBA"),_L("\\TST-E32\\123456")); |
159 r=TheFs.Rename(_L("\\F32-TST\\FEDCBA"),_L("\\TST-E32\\123456")); |
159 test(r==KErrNotFound); |
160 test_Value(r, r == KErrNotFound); |
160 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\123456")); |
161 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\123456")); |
161 test(r==KErrNone); |
162 test_KErrNone(r); |
162 r=TheFs.Rename(_L("\\F32-TST\\123456"),_L("\\F32-TST\\XYZABC")); |
163 r=TheFs.Rename(_L("\\F32-TST\\123456"),_L("\\F32-TST\\XYZABC")); |
163 test(r==KErrNone); |
164 test_KErrNone(r); |
164 |
165 |
165 test.Next(_L("Test rename files")); |
166 test.Next(_L("Test rename files")); |
166 r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),EFileRead|EFileWrite); |
167 r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),EFileRead|EFileWrite); |
167 test(r==KErrNone); |
168 test_KErrNone(r); |
168 f.Close(); |
169 f.Close(); |
169 r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\XYZABC\\NEWNAME.TXT")); |
170 r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\XYZABC\\NEWNAME.TXT")); |
170 test(r==KErrNone); |
171 test_KErrNone(r); |
171 r=TheFs.Delete(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT")); |
172 r=TheFs.Delete(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT")); |
172 test(r==KErrNone); |
173 test_KErrNone(r); |
173 |
174 |
174 test.Next(_L("Test rename checks for duplicate entries")); |
175 test.Next(_L("Test rename checks for duplicate entries")); |
175 r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\")); |
176 r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\")); |
176 test(r==KErrNone); |
177 test_KErrNone(r); |
177 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\XYZABC")); |
178 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\XYZABC")); |
178 test(r==KErrAlreadyExists); |
179 test_Value(r, r == KErrAlreadyExists); |
179 r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),EFileRead|EFileWrite); |
180 r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),EFileRead|EFileWrite); |
180 test(r==KErrNone); |
181 test_KErrNone(r); |
181 f.Close(); |
182 f.Close(); |
182 r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),EFileRead|EFileWrite); |
183 r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),EFileRead|EFileWrite); |
183 test(r==KErrNone); |
184 test_KErrNone(r); |
184 f.Close(); |
185 f.Close(); |
185 r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\XYZABC\\NEWNAME.TXT")); |
186 r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\XYZABC\\NEWNAME.TXT")); |
186 test(r==KErrAlreadyExists); |
187 test_Value(r, r == KErrAlreadyExists); |
187 |
188 |
188 test.Next(_L("Test rename across directories")); |
189 test.Next(_L("Test rename across directories")); |
189 r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT")); |
190 r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT")); |
190 test(r==KErrNone); |
191 test_KErrNone(r); |
191 r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT")); |
192 r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT")); |
192 test(r==KErrNotFound); |
193 test_Value(r, r == KErrNotFound); |
193 r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\DIFNAME.TXT")); |
194 r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\DIFNAME.TXT")); |
194 test(r==KErrNotFound); |
195 test_Value(r, r == KErrNotFound); |
195 r=TheFs.Rename(_L("\\F32-TST\\XYZABC"),_L("\\F32-TST\\ABCDEF\\XYZABC")); |
196 r=TheFs.Rename(_L("\\F32-TST\\XYZABC"),_L("\\F32-TST\\ABCDEF\\XYZABC")); |
196 test(r==KErrNone); |
197 test_KErrNone(r); |
197 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT")); |
198 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT")); |
198 test(r==KErrNone); |
199 test_KErrNone(r); |
199 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\NewNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT")); |
200 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\NewNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT")); |
200 test(r==KErrNone); |
201 test_KErrNone(r); |
201 test.Next(_L("Test rename across drive error code")); |
202 test.Next(_L("Test rename across drive error code")); |
202 r=TheFs.Rename(_L("Z:\\BLEG"),_L("C:\\FRUM")); |
203 r=TheFs.Rename(_L("Z:\\BLEG"),_L("C:\\FRUM")); |
203 test(r==KErrArgument); |
204 test_Value(r, r == KErrArgument); |
204 test.Next(_L("Test rename to identical names")); |
205 test.Next(_L("Test rename to identical names")); |
205 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT")); |
206 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT")); |
206 test(r==KErrNone); |
207 test_KErrNone(r); |
207 CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),KErrNone); |
208 CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),KErrNone); |
208 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLdnAME.TXT")); |
209 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLdnAME.TXT")); |
209 test(r==KErrNone); |
210 test_KErrNone(r); |
210 CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),KErrNone,EFalse); |
211 CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),KErrNone,EFalse); |
211 CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLdnAME.TXT"),KErrNone,ETrue); |
212 CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLdnAME.TXT"),KErrNone,ETrue); |
212 |
213 |
213 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT")); |
214 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT")); |
214 test(r==KErrNone); |
215 test_KErrNone(r); |
215 test.Next(_L("Test RmDir")); |
216 test.Next(_L("Test RmDir")); |
216 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT")); |
217 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT")); |
217 test(r==KErrNone); |
218 test_KErrNone(r); |
218 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT")); |
219 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT")); |
219 test(r==KErrNone); |
220 test_KErrNone(r); |
220 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\XYZABC\\")); |
221 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\XYZABC\\")); |
221 test(r==KErrNone); |
222 test_KErrNone(r); |
222 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\")); |
223 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\")); |
223 test(r==KErrNone); |
224 test_KErrNone(r); |
224 } |
225 } |
225 LOCAL_C void TestLongFileName() |
226 LOCAL_C void TestLongFileName() |
226 { |
227 { |
227 #ifndef __EPOC32__ //emulator |
228 #ifndef __EPOC32__ //emulator |
228 if (gDriveToTest.GetLowerCase()=='c') |
229 if (gDriveToTest.GetLowerCase()=='c') |
272 { |
273 { |
273 |
274 |
274 test.Next(_L("Test rename case")); |
275 test.Next(_L("Test rename case")); |
275 MakeDir(_L("\\F32-TST\\RENAMECASE\\")); |
276 MakeDir(_L("\\F32-TST\\RENAMECASE\\")); |
276 TInt r=TheFs.SetSessionPath(_L("\\F32-TST\\RENAMECASE\\")); |
277 TInt r=TheFs.SetSessionPath(_L("\\F32-TST\\RENAMECASE\\")); |
277 test(r==KErrNone); |
278 test_KErrNone(r); |
278 |
279 |
279 MakeFile(_L("file1.txt")); |
280 MakeFile(_L("file1.txt")); |
280 MakeFile(_L("FILE2.TXT")); |
281 MakeFile(_L("FILE2.TXT")); |
281 MakeFile(_L("AGENDA")); |
282 MakeFile(_L("AGENDA")); |
282 MakeFile(_L("agenda.one")); |
283 MakeFile(_L("agenda.one")); |
283 |
284 |
284 TEntry entry; |
285 TEntry entry; |
285 r=TheFs.Rename(_L("FILE1.TXT"),_L("FILE1.TXT")); |
286 r=TheFs.Rename(_L("FILE1.TXT"),_L("FILE1.TXT")); |
286 test(r==KErrNone); |
287 test_KErrNone(r); |
287 r=TheFs.Entry(_L("File1.txt"),entry); |
288 r=TheFs.Entry(_L("File1.txt"),entry); |
288 test(r==KErrNone); |
289 test_KErrNone(r); |
289 test(entry.iName==_L("FILE1.TXT")); |
290 test(entry.iName==_L("FILE1.TXT")); |
290 |
291 |
291 r=TheFs.Rename(_L("file2.txt"),_L("file2.txt")); |
292 r=TheFs.Rename(_L("file2.txt"),_L("file2.txt")); |
292 test(r==KErrNone); |
293 test_KErrNone(r); |
293 r=TheFs.Entry(_L("File2.txt"),entry); |
294 r=TheFs.Entry(_L("File2.txt"),entry); |
294 test(r==KErrNone); |
295 test_KErrNone(r); |
295 test(entry.iName==_L("file2.txt")); |
296 test(entry.iName==_L("file2.txt")); |
296 |
297 |
297 r=TheFs.Rename(_L("agenda."),_L("agenda.two")); |
298 r=TheFs.Rename(_L("agenda."),_L("agenda.two")); |
298 test(r==KErrNone); |
299 test_KErrNone(r); |
299 r=TheFs.Entry(_L("Agenda.two"),entry); |
300 r=TheFs.Entry(_L("Agenda.two"),entry); |
300 test(r==KErrNone); |
301 test_KErrNone(r); |
301 test(entry.iName==_L("agenda.two")); |
302 test(entry.iName==_L("agenda.two")); |
302 |
303 |
303 r=TheFs.Rename(_L("AGENDA.ONE"),_L("AGENDA.ONE")); |
304 r=TheFs.Rename(_L("AGENDA.ONE"),_L("AGENDA.ONE")); |
304 test(r==KErrNone); |
305 test_KErrNone(r); |
305 r=TheFs.Entry(_L("Agenda.one"),entry); |
306 r=TheFs.Entry(_L("Agenda.one"),entry); |
306 test(r==KErrNone); |
307 test_KErrNone(r); |
307 test(entry.iName==_L("AGENDA.ONE")); |
308 test(entry.iName==_L("AGENDA.ONE")); |
308 |
309 |
309 r=TheFs.Rename(_L("FILE1.TXT"),_L("file1.txt")); |
310 r=TheFs.Rename(_L("FILE1.TXT"),_L("file1.txt")); |
310 test(r==KErrNone); |
311 test_KErrNone(r); |
311 r=TheFs.Entry(_L("File1.txt"),entry); |
312 r=TheFs.Entry(_L("File1.txt"),entry); |
312 test(r==KErrNone); |
313 test_KErrNone(r); |
313 test(entry.iName==_L("file1.txt")); |
314 test(entry.iName==_L("file1.txt")); |
314 |
315 |
315 r=TheFs.Rename(_L("file2.txt"),_L("FILE2.TXT")); |
316 r=TheFs.Rename(_L("file2.txt"),_L("FILE2.TXT")); |
316 test(r==KErrNone); |
317 test_KErrNone(r); |
317 r=TheFs.Entry(_L("File2.txt"),entry); |
318 r=TheFs.Entry(_L("File2.txt"),entry); |
318 test(r==KErrNone); |
319 test_KErrNone(r); |
319 test(entry.iName==_L("FILE2.TXT")); |
320 test(entry.iName==_L("FILE2.TXT")); |
320 |
321 |
321 r=TheFs.Rename(_L("agenda.two"),_L("AGENDA")); |
322 r=TheFs.Rename(_L("agenda.two"),_L("AGENDA")); |
322 test(r==KErrNone); |
323 test_KErrNone(r); |
323 r=TheFs.Entry(_L("Agenda"),entry); |
324 r=TheFs.Entry(_L("Agenda"),entry); |
324 test(r==KErrNone); |
325 test_KErrNone(r); |
325 test(entry.iName==_L("AGENDA")); |
326 test(entry.iName==_L("AGENDA")); |
326 |
327 |
327 r=TheFs.Rename(_L("AGENDA.ONE"),_L("agenda.one")); |
328 r=TheFs.Rename(_L("AGENDA.ONE"),_L("agenda.one")); |
328 test(r==KErrNone); |
329 test_KErrNone(r); |
329 r=TheFs.Entry(_L("Agenda.one"),entry); |
330 r=TheFs.Entry(_L("Agenda.one"),entry); |
330 test(r==KErrNone); |
331 test_KErrNone(r); |
331 test(entry.iName==_L("agenda.one")); |
332 test(entry.iName==_L("agenda.one")); |
332 |
333 |
333 r=TheFs.Rename(_L("FILE1.TXT"),_L("FILe1.txt")); |
334 r=TheFs.Rename(_L("FILE1.TXT"),_L("FILe1.txt")); |
334 test(r==KErrNone); |
335 test_KErrNone(r); |
335 r=TheFs.Entry(_L("File1.txt"),entry); |
336 r=TheFs.Entry(_L("File1.txt"),entry); |
336 test(r==KErrNone); |
337 test_KErrNone(r); |
337 test(entry.iName==_L("FILe1.txt")); |
338 test(entry.iName==_L("FILe1.txt")); |
338 |
339 |
339 r=TheFs.Rename(_L("file2.txt"),_L("FILE3.TXT")); |
340 r=TheFs.Rename(_L("file2.txt"),_L("FILE3.TXT")); |
340 test(r==KErrNone); |
341 test_KErrNone(r); |
341 r=TheFs.Entry(_L("File3.txt"),entry); |
342 r=TheFs.Entry(_L("File3.txt"),entry); |
342 test(r==KErrNone); |
343 test_KErrNone(r); |
343 test(entry.iName==_L("FILE3.TXT")); |
344 test(entry.iName==_L("FILE3.TXT")); |
344 |
345 |
345 r=TheFs.Rename(_L("agenda."),_L("AGENDA1")); |
346 r=TheFs.Rename(_L("agenda."),_L("AGENDA1")); |
346 test(r==KErrNone); |
347 test_KErrNone(r); |
347 r=TheFs.Entry(_L("Agenda1"),entry); |
348 r=TheFs.Entry(_L("Agenda1"),entry); |
348 test(r==KErrNone); |
349 test_KErrNone(r); |
349 test(entry.iName==_L("AGENDA1")); |
350 test(entry.iName==_L("AGENDA1")); |
350 |
351 |
351 r=TheFs.Rename(_L("AGENDA.ONE"),_L("Agenda.One")); |
352 r=TheFs.Rename(_L("AGENDA.ONE"),_L("Agenda.One")); |
352 test(r==KErrNone); |
353 test_KErrNone(r); |
353 r=TheFs.Entry(_L("Agenda.one"),entry); |
354 r=TheFs.Entry(_L("Agenda.one"),entry); |
354 test(r==KErrNone); |
355 test_KErrNone(r); |
355 test(entry.iName==_L("Agenda.One")); |
356 test(entry.iName==_L("Agenda.One")); |
356 |
357 |
357 r=TheFs.Delete(_L("file1.txt")); |
358 r=TheFs.Delete(_L("file1.txt")); |
358 test(r==KErrNone); |
359 test_KErrNone(r); |
359 r=TheFs.Delete(_L("file3.txt")); |
360 r=TheFs.Delete(_L("file3.txt")); |
360 test(r==KErrNone); |
361 test_KErrNone(r); |
361 r=TheFs.Delete(_L("Agenda1")); |
362 r=TheFs.Delete(_L("Agenda1")); |
362 test(r==KErrNone); |
363 test_KErrNone(r); |
363 r=TheFs.Delete(_L("AGENDA.ONE")); |
364 r=TheFs.Delete(_L("AGENDA.ONE")); |
364 test(r==KErrNone); |
365 test_KErrNone(r); |
365 r=TheFs.RmDir(_L("\\F32-TST\\RENAMECASE\\")); |
366 r=TheFs.RmDir(_L("\\F32-TST\\RENAMECASE\\")); |
366 test(r==KErrNone); |
367 test_KErrNone(r); |
367 r=TheFs.SetSessionPath(gSessionPath); |
368 r=TheFs.SetSessionPath(gSessionPath); |
368 test(r==KErrNone); |
369 test_KErrNone(r); |
369 } |
370 } |
370 |
371 |
371 LOCAL_C void testReplace() |
372 LOCAL_C void testReplace() |
372 // |
373 // |
373 // Test the replace function |
374 // Test the replace function |
374 // |
375 // |
375 { |
376 { |
376 |
377 |
377 test.Next(_L("Test Replace")); |
378 test.Next(_L("Test Replace")); |
378 TInt r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\")); |
379 TInt r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\")); |
379 test(r==KErrNone); |
380 test_KErrNone(r); |
380 r=TheFs.Replace(_L("\\TST-E32\\123456"),_L("\\F32-TST\\ABCDEF")); |
381 r=TheFs.Replace(_L("\\TST-E32\\123456"),_L("\\F32-TST\\ABCDEF")); |
381 test(r==KErrAccessDenied); // Do not replace directories |
382 test_Value(r, r == KErrAccessDenied); // Do not replace directories |
382 r=TheFs.Replace(_L("\\F32-TST\\123456"),_L("\\F32-TST\\ABCDEF")); |
383 r=TheFs.Replace(_L("\\F32-TST\\123456"),_L("\\F32-TST\\ABCDEF")); |
383 test(r==KErrAccessDenied); |
384 test_Value(r, r == KErrAccessDenied); |
384 r=TheFs.Replace(_L("\\TST-E32\\123456"),_L("\\F32-TST\\FEDCBA")); |
385 r=TheFs.Replace(_L("\\TST-E32\\123456"),_L("\\F32-TST\\FEDCBA")); |
385 test(r==KErrPathNotFound); |
386 test_Value(r, r == KErrPathNotFound); |
386 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\123456")); |
387 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\123456")); |
387 test(r==KErrAccessDenied); |
388 test_Value(r, r == KErrAccessDenied); |
388 |
389 |
389 test.Next(_L("Replace a file with itself (8.3 filename)")); |
390 test.Next(_L("Replace a file with itself (8.3 filename)")); |
390 MakeFile(_L("\\F32-TST\\ABCDEF\\TEST1.SPR")); |
391 MakeFile(_L("\\F32-TST\\ABCDEF\\TEST1.SPR")); |
391 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\TEST1.SPR")); |
392 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\TEST1.SPR")); |
392 test(r==KErrNone); |
393 test_KErrNone(r); |
393 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),KErrNone); |
394 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),KErrNone); |
394 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\test1.spr")); |
395 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\test1.spr")); |
395 test(r==KErrNone); |
396 test_KErrNone(r); |
396 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),KErrNone,ETrue); // Replace does not rename existing file |
397 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),KErrNone,ETrue); // Replace does not rename existing file |
397 CheckFileExists(_L("\\F32-TST\\ABCDEF\\test1.spr"),KErrNone,EFalse); |
398 CheckFileExists(_L("\\F32-TST\\ABCDEF\\test1.spr"),KErrNone,EFalse); |
398 |
399 |
399 test.Next(_L("Replace a file with itself (vfat filename)")); |
400 test.Next(_L("Replace a file with itself (vfat filename)")); |
400 MakeFile(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR")); |
401 MakeFile(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR")); |
401 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR")); |
402 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR")); |
402 test(r==KErrNone); |
403 test_KErrNone(r); |
403 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),KErrNone); |
404 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),KErrNone); |
404 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),_L("\\F32-TST\\ABCDEF\\test_sheet(01).spr")); |
405 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),_L("\\F32-TST\\ABCDEF\\test_sheet(01).spr")); |
405 test(r==KErrNone); |
406 test_KErrNone(r); |
406 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),KErrNone,ETrue); // Replace does not rename existing file |
407 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),KErrNone,ETrue); // Replace does not rename existing file |
407 CheckFileExists(_L("\\F32-TST\\ABCDEF\\test_sheet(01).spr"),KErrNone,EFalse); |
408 CheckFileExists(_L("\\F32-TST\\ABCDEF\\test_sheet(01).spr"),KErrNone,EFalse); |
408 |
409 |
409 test.Next(_L("Replace preserves file contents (8.3 filename)")); |
410 test.Next(_L("Replace preserves file contents (8.3 filename)")); |
410 MakeFile(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("Original Data")); |
411 MakeFile(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("Original Data")); |
411 MakeFile(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L8("NewData")); |
412 MakeFile(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L8("NewData")); |
412 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET1.SPR")); |
413 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET1.SPR")); |
413 test(r==KErrNone); |
414 test_KErrNone(r); |
414 CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("NewData")); |
415 CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("NewData")); |
415 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),KErrNotFound); |
416 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),KErrNotFound); |
416 |
417 |
417 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR")); |
418 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR")); |
418 test(r==KErrNone); |
419 test_KErrNone(r); |
419 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET1.SPR")); |
420 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET1.SPR")); |
420 test(r==KErrNone); |
421 test_KErrNone(r); |
421 CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("NewData")); |
422 CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("NewData")); |
422 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),KErrNotFound); |
423 CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),KErrNotFound); |
423 |
424 |
424 test.Next(_L("Replace preserves file contents (vfat fileName)")); |
425 test.Next(_L("Replace preserves file contents (vfat fileName)")); |
425 MakeFile(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("Original Data")); |
426 MakeFile(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("Original Data")); |
426 MakeFile(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L8("NewData")); |
427 MakeFile(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L8("NewData")); |
427 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR")); |
428 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR")); |
428 test(r==KErrNone); |
429 test_KErrNone(r); |
429 CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("NewData")); |
430 CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("NewData")); |
430 CheckFileExists(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),KErrNotFound); |
431 CheckFileExists(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),KErrNotFound); |
431 |
432 |
432 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR")); |
433 r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR")); |
433 test(r==KErrNone); |
434 test_KErrNone(r); |
434 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR")); |
435 r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR")); |
435 test(r==KErrNone); |
436 test_KErrNone(r); |
436 CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("NewData")); |
437 CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("NewData")); |
437 CheckFileExists(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),KErrNotFound); |
438 CheckFileExists(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),KErrNotFound); |
438 |
439 |
439 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\")); |
440 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\")); |
440 test(r==KErrInUse); |
441 test_Value(r, r == KErrInUse); |
441 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR\\")); |
442 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR\\")); |
442 test(r==KErrPathNotFound); |
443 test_Value(r, r == KErrPathNotFound); |
443 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR")); |
444 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR")); |
444 test(r==KErrNone); |
445 test_KErrNone(r); |
445 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR")); |
446 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR")); |
446 test(r==KErrNone); |
447 test_KErrNone(r); |
447 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\TEST1.SPR")); |
448 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\TEST1.SPR")); |
448 test(r==KErrNone); |
449 test_KErrNone(r); |
449 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR")); |
450 r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR")); |
450 test(r==KErrNone); |
451 test_KErrNone(r); |
451 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\")); |
452 r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\")); |
452 test(r==KErrNone); |
453 test_KErrNone(r); |
453 |
454 |
454 test.Next(_L("Check file date is retained")); |
455 test.Next(_L("Check file date is retained")); |
455 MakeFile(_L("OldFile.Old")); |
456 MakeFile(_L("OldFile.Old")); |
456 MakeFile(_L("NewFile.new")); |
457 MakeFile(_L("NewFile.new")); |
457 |
458 |
458 TDateTime newDate(1998,(TMonth)2,3,11,12,0,0); |
459 TDateTime newDate(1998,(TMonth)2,3,11,12,0,0); |
459 TTime newTime(newDate); |
460 TTime newTime(newDate); |
460 |
461 |
461 r=TheFs.SetEntry(_L("NewFile.new"),newTime,0,0); |
462 r=TheFs.SetEntry(_L("NewFile.new"),newTime,0,0); |
462 test(r==KErrNone); |
463 test_KErrNone(r); |
463 |
464 |
464 TEntry entry; |
465 TEntry entry; |
465 r=TheFs.Entry(_L("NewFile.new"),entry); |
466 r=TheFs.Entry(_L("NewFile.new"),entry); |
466 test(r==KErrNone); |
467 test_KErrNone(r); |
467 |
468 |
468 TTime checkReturnedTime=entry.iModified; |
469 TTime checkReturnedTime=entry.iModified; |
469 TDateTime dateTime=checkReturnedTime.DateTime(); |
470 TDateTime dateTime=checkReturnedTime.DateTime(); |
470 |
471 |
471 test(entry.iModified==newTime); |
472 test(entry.iModified==newTime); |
472 |
473 |
473 TDateTime oldDate(1996,(TMonth)2,3,23,0,0,0); |
474 TDateTime oldDate(1996,(TMonth)2,3,23,0,0,0); |
474 TTime oldTime(oldDate); |
475 TTime oldTime(oldDate); |
475 r=TheFs.SetEntry(_L("OldFile.old"),oldTime,0,0); |
476 r=TheFs.SetEntry(_L("OldFile.old"),oldTime,0,0); |
476 test(r==KErrNone); |
477 test_KErrNone(r); |
477 |
478 |
478 TheFs.Replace(_L("NewFile.new"),_L("OldFile.old")); |
479 TheFs.Replace(_L("NewFile.new"),_L("OldFile.old")); |
479 test(r==KErrNone); |
480 test_KErrNone(r); |
480 TTime check; |
481 TTime check; |
481 r=TheFs.Modified(_L("OldFile.old"),check); |
482 r=TheFs.Modified(_L("OldFile.old"),check); |
482 test(r==KErrNone); |
483 test_KErrNone(r); |
483 TDateTime checkDateTime=check.DateTime(); |
484 TDateTime checkDateTime=check.DateTime(); |
484 |
485 |
485 test(checkDateTime.Year()==dateTime.Year()); |
486 test(checkDateTime.Year()==dateTime.Year()); |
486 test(checkDateTime.Month()==dateTime.Month()); |
487 test(checkDateTime.Month()==dateTime.Month()); |
487 test(checkDateTime.Day()==dateTime.Day()); |
488 test(checkDateTime.Day()==dateTime.Day()); |
490 test(checkDateTime.Second()==dateTime.Second()); |
491 test(checkDateTime.Second()==dateTime.Second()); |
491 |
492 |
492 test.Next(_L("Replace 'Agenda' with 'Agenda.'")); |
493 test.Next(_L("Replace 'Agenda' with 'Agenda.'")); |
493 MakeFile(_L("Agenda")); |
494 MakeFile(_L("Agenda")); |
494 r=TheFs.Replace(_L("Agenda"),_L("Agenda.")); |
495 r=TheFs.Replace(_L("Agenda"),_L("Agenda.")); |
495 test(r==KErrNone); |
496 test_KErrNone(r); |
496 CheckFileExists(_L("Agenda"),KErrNone,ETrue); |
497 CheckFileExists(_L("Agenda"),KErrNone,ETrue); |
497 CheckFileExists(_L("Agenda."),KErrNone,ETrue); |
498 CheckFileExists(_L("Agenda."),KErrNone,ETrue); |
498 CheckFileExists(_L("AGENDA"),KErrNone,EFalse); |
499 CheckFileExists(_L("AGENDA"),KErrNone,EFalse); |
499 CheckFileExists(_L("AGENDA."),KErrNone,EFalse); |
500 CheckFileExists(_L("AGENDA."),KErrNone,EFalse); |
500 |
501 |
501 r=TheFs.Replace(_L("Agenda"),_L("Agenda.")); |
502 r=TheFs.Replace(_L("Agenda"),_L("Agenda.")); |
502 test(r==KErrNone); |
503 test_KErrNone(r); |
503 CheckFileExists(_L("Agenda"),KErrNone,ETrue); |
504 CheckFileExists(_L("Agenda"),KErrNone,ETrue); |
504 CheckFileExists(_L("Agenda."),KErrNone,ETrue); |
505 CheckFileExists(_L("Agenda."),KErrNone,ETrue); |
505 CheckFileExists(_L("AGENDA"),KErrNone,EFalse); |
506 CheckFileExists(_L("AGENDA"),KErrNone,EFalse); |
506 CheckFileExists(_L("AGENDA."),KErrNone,EFalse); |
507 CheckFileExists(_L("AGENDA."),KErrNone,EFalse); |
507 |
508 |
508 r=TheFs.Replace(_L("Agenda."),_L("AGENDA")); |
509 r=TheFs.Replace(_L("Agenda."),_L("AGENDA")); |
509 test(r==KErrNone); |
510 test_KErrNone(r); |
510 CheckFileExists(_L("Agenda"),KErrNone,ETrue); // Replace does not rename existing file |
511 CheckFileExists(_L("Agenda"),KErrNone,ETrue); // Replace does not rename existing file |
511 CheckFileExists(_L("Agenda."),KErrNone,ETrue); |
512 CheckFileExists(_L("Agenda."),KErrNone,ETrue); |
512 CheckFileExists(_L("AGENDA"),KErrNone,EFalse); |
513 CheckFileExists(_L("AGENDA"),KErrNone,EFalse); |
513 CheckFileExists(_L("AGENDA."),KErrNone,EFalse); |
514 CheckFileExists(_L("AGENDA."),KErrNone,EFalse); |
514 |
515 |
515 r=TheFs.Replace(_L("AGENDA."),_L("AGENDA.")); // Unchanged, ie still 'Agenda' |
516 r=TheFs.Replace(_L("AGENDA."),_L("AGENDA.")); // Unchanged, ie still 'Agenda' |
516 test(r==KErrNone); |
517 test_KErrNone(r); |
517 CheckFileExists(_L("Agenda"),KErrNone,ETrue); |
518 CheckFileExists(_L("Agenda"),KErrNone,ETrue); |
518 CheckFileExists(_L("Agenda."),KErrNone,ETrue); |
519 CheckFileExists(_L("Agenda."),KErrNone,ETrue); |
519 CheckFileExists(_L("AGENDA"),KErrNone,EFalse); |
520 CheckFileExists(_L("AGENDA"),KErrNone,EFalse); |
520 CheckFileExists(_L("AGENDA."),KErrNone,EFalse); |
521 CheckFileExists(_L("AGENDA."),KErrNone,EFalse); |
521 } |
522 } |
671 test.Next(_L("Create folder with the name of an existing file")); |
672 test.Next(_L("Create folder with the name of an existing file")); |
672 MakeFile(_L("\\BLUE")); |
673 MakeFile(_L("\\BLUE")); |
673 if (!IsTestingLFFS()) |
674 if (!IsTestingLFFS()) |
674 { //FIXME: Bad error codes from LFFS |
675 { //FIXME: Bad error codes from LFFS |
675 r=TheFs.MkDir(_L("\\BLUE\\")); |
676 r=TheFs.MkDir(_L("\\BLUE\\")); |
676 test(r==KErrAccessDenied); |
677 test_Value(r, r == KErrAccessDenied); |
677 MakeFile(_L("\\RED\\BLUE")); |
678 MakeFile(_L("\\RED\\BLUE")); |
678 r=TheFs.MkDir(_L("\\RED\\BLUE\\")); |
679 r=TheFs.MkDir(_L("\\RED\\BLUE\\")); |
679 test(r==KErrAccessDenied); |
680 test_Value(r, r == KErrAccessDenied); |
680 r=TheFs.MkDirAll(_L("\\BLUE\\GREEN\\ORANGE\\")); |
681 r=TheFs.MkDirAll(_L("\\BLUE\\GREEN\\ORANGE\\")); |
681 test(r==KErrAccessDenied); |
682 test_Value(r, r == KErrAccessDenied); |
682 } |
683 } |
683 |
684 |
684 test.Next(_L("Create folder with the name of an existing folder")); |
685 test.Next(_L("Create folder with the name of an existing folder")); |
685 MakeDir(_L("\\VOLVO\\")); |
686 MakeDir(_L("\\VOLVO\\")); |
686 r=TheFs.MkDir(_L("\\VOLVO\\")); |
687 r=TheFs.MkDir(_L("\\VOLVO\\")); |
687 test(r==KErrAlreadyExists); |
688 test_Value(r, r == KErrAlreadyExists); |
688 MakeDir(_L("\\FORD\\VOLKSWAGEN\\")); |
689 MakeDir(_L("\\FORD\\VOLKSWAGEN\\")); |
689 r=TheFs.MkDirAll(_L("\\ford\\volkswagen\\")); |
690 r=TheFs.MkDirAll(_L("\\ford\\volkswagen\\")); |
690 test(r==KErrAlreadyExists); |
691 test_Value(r, r == KErrAlreadyExists); |
691 |
692 |
692 RFile f; |
693 RFile f; |
693 if (!IsTestingLFFS()) |
694 if (!IsTestingLFFS()) |
694 { //FIXME Bad error codes from LFFS |
695 { //FIXME Bad error codes from LFFS |
695 test.Next(_L("Create a file with the name of an existing folder")); |
696 test.Next(_L("Create a file with the name of an existing folder")); |
696 r=f.Create(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite); |
697 r=f.Create(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite); |
697 test(r==KErrAccessDenied); |
698 test_Value(r, r == KErrAccessDenied); |
698 r=f.Replace(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite); |
699 r=f.Replace(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite); |
699 test(r==KErrAccessDenied); |
700 test_Value(r, r == KErrAccessDenied); |
700 r=f.Open(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite); |
701 r=f.Open(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite); |
701 test(r==KErrAccessDenied); |
702 test_Value(r, r == KErrAccessDenied); |
702 r=f.Create(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite); |
703 r=f.Create(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite); |
703 test(r==KErrAccessDenied); |
704 test_Value(r, r == KErrAccessDenied); |
704 r=f.Replace(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite); |
705 r=f.Replace(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite); |
705 test(r==KErrAccessDenied); |
706 test_Value(r, r == KErrAccessDenied); |
706 r=f.Open(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite); |
707 r=f.Open(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite); |
707 test(r==KErrAccessDenied); |
708 test_Value(r, r == KErrAccessDenied); |
708 } |
709 } |
709 |
710 |
710 test.Next(_L("Create a file with the name of an existing file")); |
711 test.Next(_L("Create a file with the name of an existing file")); |
711 r=f.Create(TheFs,_L("\\BLUE"),EFileRead|EFileWrite); |
712 r=f.Create(TheFs,_L("\\BLUE"),EFileRead|EFileWrite); |
712 test(r==KErrAlreadyExists); |
713 test_Value(r, r == KErrAlreadyExists); |
713 } |
714 } |
714 |
715 |
715 LOCAL_C void testSetEntry() |
716 LOCAL_C void testSetEntry() |
716 // |
717 // |
717 // Test set entry |
718 // Test set entry |
724 TTime time(dateTime); |
725 TTime time(dateTime); |
725 MakeFile(_L("DUMENTRY.")); |
726 MakeFile(_L("DUMENTRY.")); |
726 |
727 |
727 RFile f; |
728 RFile f; |
728 TInt r=f.Open(TheFs,_L("dumentry"),EFileRead); |
729 TInt r=f.Open(TheFs,_L("dumentry"),EFileRead); |
729 test(r==KErrNone); |
730 test_KErrNone(r); |
730 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttReadOnly,KEntryAttArchive); |
731 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttReadOnly,KEntryAttArchive); |
731 test(r==KErrInUse); |
732 test_Value(r, r == KErrInUse); |
732 f.Close(); |
733 f.Close(); |
733 |
734 |
734 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttReadOnly,KEntryAttArchive); |
735 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttReadOnly,KEntryAttArchive); |
735 test(r==KErrNone); |
736 test_KErrNone(r); |
736 CheckEntry(_L("DUMEntry"),KEntryAttReadOnly,TTime(dateTime)); |
737 CheckEntry(_L("DUMEntry"),KEntryAttReadOnly,TTime(dateTime)); |
737 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttReadOnly); |
738 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttReadOnly); |
738 test(r==KErrNone); |
739 test_KErrNone(r); |
739 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
740 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
740 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,0); |
741 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,0); |
741 test(r==KErrNone); |
742 test_KErrNone(r); |
742 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
743 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
743 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,0); |
744 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,0); |
744 test(r==KErrNone); |
745 test_KErrNone(r); |
745 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
746 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
746 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,0); |
747 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,0); |
747 test(r==KErrNone); |
748 test_KErrNone(r); |
748 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
749 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
749 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttVolume,0); |
750 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttVolume,0); |
750 test(r==KErrNone); |
751 test_KErrNone(r); |
751 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
752 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
752 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttRemote,0); |
753 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttRemote,0); |
753 test(r==KErrNone); |
754 test_KErrNone(r); |
754 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
755 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
755 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume|KEntryAttRemote,0); |
756 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume|KEntryAttRemote,0); |
756 test(r==KErrNone); |
757 test_KErrNone(r); |
757 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
758 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
758 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttVolume|KEntryAttRemote,0); |
759 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttVolume|KEntryAttRemote,0); |
759 test(r==KErrNone); |
760 test_KErrNone(r); |
760 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
761 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
761 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir); |
762 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir); |
762 test(r==KErrNone); |
763 test_KErrNone(r); |
763 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
764 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
764 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttVolume); |
765 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttVolume); |
765 test(r==KErrNone); |
766 test_KErrNone(r); |
766 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
767 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
767 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttRemote); |
768 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttRemote); |
768 test(r==KErrNone); |
769 test_KErrNone(r); |
769 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
770 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
770 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttVolume); |
771 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttVolume); |
771 test(r==KErrNone); |
772 test_KErrNone(r); |
772 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
773 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
773 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttRemote); |
774 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttRemote); |
774 test(r==KErrNone); |
775 test_KErrNone(r); |
775 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
776 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
776 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttVolume|KEntryAttRemote); |
777 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttVolume|KEntryAttRemote); |
777 test(r==KErrNone); |
778 test_KErrNone(r); |
778 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
779 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
779 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttVolume|KEntryAttRemote); |
780 r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttVolume|KEntryAttRemote); |
780 test(r==KErrNone); |
781 test_KErrNone(r); |
781 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
782 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
782 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,KEntryAttVolume); |
783 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,KEntryAttVolume); |
783 test(r==KErrNone); |
784 test_KErrNone(r); |
784 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
785 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
785 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,KEntryAttRemote); |
786 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,KEntryAttRemote); |
786 test(r==KErrNone); |
787 test_KErrNone(r); |
787 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
788 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
788 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,KEntryAttDir); |
789 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,KEntryAttDir); |
789 test(r==KErrNone); |
790 test_KErrNone(r); |
790 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
791 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
791 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,KEntryAttRemote); |
792 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,KEntryAttRemote); |
792 test(r==KErrNone); |
793 test_KErrNone(r); |
793 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
794 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
794 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,KEntryAttDir); |
795 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,KEntryAttDir); |
795 test(r==KErrNone); |
796 test_KErrNone(r); |
796 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
797 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
797 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,KEntryAttVolume); |
798 r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,KEntryAttVolume); |
798 test(r==KErrNone); |
799 test_KErrNone(r); |
799 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
800 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
800 |
801 |
801 r=f.Open(TheFs,_L("dumentry"),EFileWrite); |
802 r=f.Open(TheFs,_L("dumentry"),EFileWrite); |
802 test(r==KErrNone); |
803 test_KErrNone(r); |
803 |
804 |
804 r=f.SetAtt(KEntryAttDir,0); |
805 r=f.SetAtt(KEntryAttDir,0); |
805 test(r==KErrNone); |
806 test_KErrNone(r); |
806 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
807 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
807 r=f.SetAtt(KEntryAttVolume,KEntryAttDir); |
808 r=f.SetAtt(KEntryAttVolume,KEntryAttDir); |
808 test(r==KErrNone); |
809 test_KErrNone(r); |
809 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
810 CheckEntry(_L("DUMEntry"),0,TTime(dateTime)); |
810 f.Close(); |
811 f.Close(); |
811 r=TheFs.Delete(_L("dumEntry.")); |
812 r=TheFs.Delete(_L("dumEntry.")); |
812 test(r==KErrNone); |
813 test_KErrNone(r); |
813 |
814 |
814 MakeDir(_L("\\DumEntry\\")); |
815 MakeDir(_L("\\DumEntry\\")); |
815 r=TheFs.SetEntry(_L("\\dumentry\\"),time,KEntryAttReadOnly,KEntryAttArchive); |
816 r=TheFs.SetEntry(_L("\\dumentry\\"),time,KEntryAttReadOnly,KEntryAttArchive); |
816 test(r==KErrNone); |
817 test_KErrNone(r); |
817 CheckEntry(_L("\\DUMEntry"),KEntryAttReadOnly|KEntryAttDir,TTime(dateTime)); |
818 CheckEntry(_L("\\DUMEntry"),KEntryAttReadOnly|KEntryAttDir,TTime(dateTime)); |
818 r=TheFs.SetEntry(_L("\\dumentry."),time,0,KEntryAttReadOnly); |
819 r=TheFs.SetEntry(_L("\\dumentry."),time,0,KEntryAttReadOnly); |
819 test(r==KErrNone); |
820 test_KErrNone(r); |
820 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
821 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
821 r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttDir,0); |
822 r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttDir,0); |
822 test(r==KErrNone); |
823 test_KErrNone(r); |
823 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
824 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
824 r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume,0); |
825 r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume,0); |
825 test(r==KErrNone); |
826 test_KErrNone(r); |
826 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
827 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
827 r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume|KEntryAttDir,0); |
828 r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume|KEntryAttDir,0); |
828 test(r==KErrNone); |
829 test_KErrNone(r); |
829 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
830 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
830 r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttVolume|KEntryAttDir); |
831 r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttVolume|KEntryAttDir); |
831 test(r==KErrNone); |
832 test_KErrNone(r); |
832 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
833 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
833 r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttVolume); |
834 r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttVolume); |
834 test(r==KErrNone); |
835 test_KErrNone(r); |
835 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
836 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
836 r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttDir); |
837 r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttDir); |
837 test(r==KErrNone); |
838 test_KErrNone(r); |
838 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
839 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
839 r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume,KEntryAttDir); |
840 r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume,KEntryAttDir); |
840 test(r==KErrNone); |
841 test_KErrNone(r); |
841 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
842 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
842 r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttDir,KEntryAttVolume); |
843 r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttDir,KEntryAttVolume); |
843 test(r==KErrNone); |
844 test_KErrNone(r); |
844 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
845 CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime)); |
845 r=TheFs.RmDir(_L("\\dumEntry\\")); |
846 r=TheFs.RmDir(_L("\\dumEntry\\")); |
846 test(r==KErrNone); |
847 test_KErrNone(r); |
847 } |
848 } |
848 |
849 |
849 |
850 |
850 LOCAL_C void testSetFileAttributes() |
851 LOCAL_C void testSetFileAttributes() |
851 // |
852 // |
857 test.Next(_L("Test RFile::SetAtt()")); |
858 test.Next(_L("Test RFile::SetAtt()")); |
858 |
859 |
859 // Create a file "TEMPFILE.TMP" and set attributes to hidden |
860 // Create a file "TEMPFILE.TMP" and set attributes to hidden |
860 RFile file; |
861 RFile file; |
861 TInt r=file.Replace(TheFs,_L("TEMPFILE.TMP"),0); |
862 TInt r=file.Replace(TheFs,_L("TEMPFILE.TMP"),0); |
862 test(r==KErrNone || r==KErrPathNotFound); |
863 test_Value(r, r == KErrNone || r==KErrPathNotFound); |
863 r=file.SetAtt(KEntryAttHidden,0); |
864 r=file.SetAtt(KEntryAttHidden,0); |
864 test(r==KErrNone); |
865 test_KErrNone(r); |
865 file.Close(); |
866 file.Close(); |
866 |
867 |
867 // Check attributes are as set |
868 // Check attributes are as set |
868 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
869 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
869 TUint atts; |
870 TUint atts; |
870 r=file.Att(atts); |
871 r=file.Att(atts); |
871 test(r==KErrNone); |
872 test_KErrNone(r); |
872 file.Close(); |
873 file.Close(); |
873 test(atts&KEntryAttHidden); |
874 test(atts&KEntryAttHidden); |
874 |
875 |
875 // Change attributes from hidden to system |
876 // Change attributes from hidden to system |
876 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
877 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
877 r=file.SetAtt(KEntryAttSystem,KEntryAttHidden); |
878 r=file.SetAtt(KEntryAttSystem,KEntryAttHidden); |
878 test(r==KErrNone); |
879 test_KErrNone(r); |
879 file.Close(); |
880 file.Close(); |
880 |
881 |
881 // Check attributes have been changed |
882 // Check attributes have been changed |
882 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
883 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
883 r=file.Att(atts); |
884 r=file.Att(atts); |
884 test(r==KErrNone); |
885 test_KErrNone(r); |
885 file.Close(); |
886 file.Close(); |
886 test(atts&KEntryAttSystem); |
887 test(atts&KEntryAttSystem); |
887 |
888 |
888 // Change attributes to normal |
889 // Change attributes to normal |
889 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
890 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
890 r=file.SetAtt(KEntryAttNormal,KEntryAttSystem|KEntryAttArchive); |
891 r=file.SetAtt(KEntryAttNormal,KEntryAttSystem|KEntryAttArchive); |
891 test(r==KErrNone); |
892 test_KErrNone(r); |
892 file.Close(); |
893 file.Close(); |
893 |
894 |
894 // Check attributes have been changed |
895 // Check attributes have been changed |
895 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
896 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
896 r=file.Att(atts); |
897 r=file.Att(atts); |
897 test(r==KErrNone); |
898 test_KErrNone(r); |
898 file.Close(); |
899 file.Close(); |
899 test(atts==KEntryAttNormal); |
900 test(atts==KEntryAttNormal); |
900 |
901 |
901 // Attempt to change attributes from normal file to directory |
902 // Attempt to change attributes from normal file to directory |
902 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
903 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
903 r=file.SetAtt(KEntryAttDir,KEntryAttNormal); |
904 r=file.SetAtt(KEntryAttDir,KEntryAttNormal); |
904 test(r==KErrNone); // Returns KErrNone but DOESN'T change the file to a directory |
905 test_KErrNone(r); // Returns KErrNone but DOESN'T change the file to a directory |
905 file.Close(); |
906 file.Close(); |
906 |
907 |
907 // Check the file has not been changed to a directory |
908 // Check the file has not been changed to a directory |
908 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
909 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
909 r=file.Att(atts); |
910 r=file.Att(atts); |
910 test(r==KErrNone); |
911 test_KErrNone(r); |
911 file.Close(); |
912 file.Close(); |
912 test((TInt)(atts&KEntryAttDir)==KErrNone); |
913 test((TInt)(atts&KEntryAttDir)==KErrNone); |
913 |
914 |
914 // Change the attributes from normal file to hidden file |
915 // Change the attributes from normal file to hidden file |
915 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
916 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
916 r=file.SetAtt(KEntryAttHidden,KEntryAttNormal); |
917 r=file.SetAtt(KEntryAttHidden,KEntryAttNormal); |
917 test(r==KErrNone); |
918 test_KErrNone(r); |
918 file.Close(); |
919 file.Close(); |
919 |
920 |
920 // Check the attributes have been changed |
921 // Check the attributes have been changed |
921 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
922 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
922 r=file.Att(atts); |
923 r=file.Att(atts); |
923 test(r==KErrNone); |
924 test_KErrNone(r); |
924 file.Close(); |
925 file.Close(); |
925 test(atts&KEntryAttHidden); |
926 test(atts&KEntryAttHidden); |
926 |
927 |
927 // Try to change the attributes from hidden file to volume |
928 // Try to change the attributes from hidden file to volume |
928 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
929 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
929 r=file.SetAtt(KEntryAttVolume,KEntryAttHidden); |
930 r=file.SetAtt(KEntryAttVolume,KEntryAttHidden); |
930 test(r==KErrNone); // Returns KErrNone but DOESN'T change the file to a volume |
931 test_KErrNone(r); // Returns KErrNone but DOESN'T change the file to a volume |
931 file.Close(); |
932 file.Close(); |
932 |
933 |
933 // Check that the hidden file has not been changed to a volume |
934 // Check that the hidden file has not been changed to a volume |
934 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
935 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
935 r=file.Att(atts); |
936 r=file.Att(atts); |
936 test(r==KErrNone); |
937 test_KErrNone(r); |
937 file.Close(); |
938 file.Close(); |
938 test((TInt)(atts&KEntryAttVolume)==KErrNone); |
939 test((TInt)(atts&KEntryAttVolume)==KErrNone); |
939 |
940 |
940 // Test RFile::Set() function |
941 // Test RFile::Set() function |
941 |
942 |
942 test.Next(_L("Test RFile::Set()")); |
943 test.Next(_L("Test RFile::Set()")); |
943 |
944 |
944 // Check attributes |
945 // Check attributes |
945 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
946 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
946 r=file.Att(atts); |
947 r=file.Att(atts); |
947 test(r==KErrNone); |
948 test_KErrNone(r); |
948 file.Close(); |
949 file.Close(); |
949 test(atts==KEntryAttNormal); |
950 test(atts==KEntryAttNormal); |
950 |
951 |
951 // Change attributes from hidden to system - and change modification time |
952 // Change attributes from hidden to system - and change modification time |
952 TDateTime dateTime(1998,EMay,25,18,23,0,0); |
953 TDateTime dateTime(1998,EMay,25,18,23,0,0); |
953 TTime modTime1(dateTime); |
954 TTime modTime1(dateTime); |
954 TTime retTime; |
955 TTime retTime; |
955 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
956 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
956 r=file.Set(modTime1,KEntryAttSystem,KEntryAttNormal); |
957 r=file.Set(modTime1,KEntryAttSystem,KEntryAttNormal); |
957 test(r==KErrNone); |
958 test_KErrNone(r); |
958 file.Close(); |
959 file.Close(); |
959 |
960 |
960 // Check attributes have been changed |
961 // Check attributes have been changed |
961 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
962 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
962 r=file.Att(atts); |
963 r=file.Att(atts); |
963 test(r==KErrNone); |
964 test_KErrNone(r); |
964 r=file.Modified(retTime); |
965 r=file.Modified(retTime); |
965 test(r==KErrNone); |
966 test_KErrNone(r); |
966 file.Close(); |
967 file.Close(); |
967 test(atts&KEntryAttSystem); |
968 test(atts&KEntryAttSystem); |
968 test(retTime==modTime1); |
969 test(retTime==modTime1); |
969 |
970 |
970 // Change attributes to normal - and change modification time |
971 // Change attributes to normal - and change modification time |
971 dateTime.Set(1997,EMay,24,17,25,0,0); |
972 dateTime.Set(1997,EMay,24,17,25,0,0); |
972 TTime modTime2(dateTime); |
973 TTime modTime2(dateTime); |
973 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
974 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
974 r=file.Set(modTime2,KEntryAttNormal,KEntryAttSystem|KEntryAttArchive); |
975 r=file.Set(modTime2,KEntryAttNormal,KEntryAttSystem|KEntryAttArchive); |
975 test(r==KErrNone); |
976 test_KErrNone(r); |
976 file.Close(); |
977 file.Close(); |
977 |
978 |
978 // Check attributes have been changed |
979 // Check attributes have been changed |
979 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
980 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
980 r=file.Att(atts); |
981 r=file.Att(atts); |
981 test(r==KErrNone); |
982 test_KErrNone(r); |
982 r=file.Modified(retTime); |
983 r=file.Modified(retTime); |
983 test(r==KErrNone); |
984 test_KErrNone(r); |
984 file.Close(); |
985 file.Close(); |
985 test(atts==KEntryAttNormal); |
986 test(atts==KEntryAttNormal); |
986 test(retTime==modTime2); |
987 test(retTime==modTime2); |
987 |
988 |
988 // Attempt to change attributes from normal file to directory |
989 // Attempt to change attributes from normal file to directory |
989 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
990 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
990 r=file.Set(modTime1,KEntryAttDir,KEntryAttNormal); |
991 r=file.Set(modTime1,KEntryAttDir,KEntryAttNormal); |
991 test(r==KErrNone); // Returns KErrNone but DOESN'T change the file to a directory |
992 test_KErrNone(r); // Returns KErrNone but DOESN'T change the file to a directory |
992 file.Close(); |
993 file.Close(); |
993 |
994 |
994 // Check the file has not been changed to a directory |
995 // Check the file has not been changed to a directory |
995 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
996 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
996 r=file.Att(atts); |
997 r=file.Att(atts); |
997 test(r==KErrNone); |
998 test_KErrNone(r); |
998 r=file.Modified(retTime); |
999 r=file.Modified(retTime); |
999 test(r==KErrNone); |
1000 test_KErrNone(r); |
1000 file.Close(); |
1001 file.Close(); |
1001 test((TInt)(atts&KEntryAttDir)==KErrNone); |
1002 test((TInt)(atts&KEntryAttDir)==KErrNone); |
1002 test(retTime==modTime1);// Modification time should have been set successfully |
1003 test(retTime==modTime1);// Modification time should have been set successfully |
1003 |
1004 |
1004 // Change the attributes from normal file to hidden file - and change modification time |
1005 // Change the attributes from normal file to hidden file - and change modification time |
1005 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
1006 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
1006 r=file.Set(modTime1,KEntryAttHidden,KEntryAttNormal); |
1007 r=file.Set(modTime1,KEntryAttHidden,KEntryAttNormal); |
1007 test(r==KErrNone); |
1008 test_KErrNone(r); |
1008 file.Close(); |
1009 file.Close(); |
1009 |
1010 |
1010 // Check the attributes have been changed |
1011 // Check the attributes have been changed |
1011 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
1012 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
1012 r=file.Att(atts); |
1013 r=file.Att(atts); |
1013 test(r==KErrNone); |
1014 test_KErrNone(r); |
1014 r=file.Modified(retTime); |
1015 r=file.Modified(retTime); |
1015 file.Close(); |
1016 file.Close(); |
1016 test(atts&KEntryAttHidden); |
1017 test(atts&KEntryAttHidden); |
1017 test(retTime==modTime1); |
1018 test(retTime==modTime1); |
1018 |
1019 |
1019 // Try to change the attributes from hidden file to volume |
1020 // Try to change the attributes from hidden file to volume |
1020 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
1021 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
1021 r=file.Set(modTime2,KEntryAttVolume,KEntryAttHidden); |
1022 r=file.Set(modTime2,KEntryAttVolume,KEntryAttHidden); |
1022 test(r==KErrNone); // Returns KErrNone but DOESN'T change the file to a volume |
1023 test_KErrNone(r); // Returns KErrNone but DOESN'T change the file to a volume |
1023 file.Close(); |
1024 file.Close(); |
1024 |
1025 |
1025 // Check that the hidden file has not been changed to a volume |
1026 // Check that the hidden file has not been changed to a volume |
1026 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
1027 file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite); |
1027 r=file.Att(atts); |
1028 r=file.Att(atts); |
1028 test(r==KErrNone); |
1029 test_KErrNone(r); |
1029 r=file.Modified(retTime); |
1030 r=file.Modified(retTime); |
1030 test(r==KErrNone); |
1031 test_KErrNone(r); |
1031 file.Close(); |
1032 file.Close(); |
1032 test((TInt)(atts&KEntryAttVolume)==KErrNone); |
1033 test((TInt)(atts&KEntryAttVolume)==KErrNone); |
1033 test(retTime==modTime2); // Modification time should have been set successfully |
1034 test(retTime==modTime2); // Modification time should have been set successfully |
1034 |
1035 |
1035 r=TheFs.Delete(_L("TEMPFILE.TMP")); |
1036 r=TheFs.Delete(_L("TEMPFILE.TMP")); |