Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(885)

Side by Side Diff: components/filesystem/file_impl_unittest.cc

Issue 2589663003: mojo:: Rename mojo::GetProxy() to mojo::MakeRequest() (Closed)
Patch Set: Rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/files/file.h" 10 #include "base/files/file.h"
(...skipping 10 matching lines...) Expand all
21 mojom::DirectoryPtr directory; 21 mojom::DirectoryPtr directory;
22 GetTemporaryRoot(&directory); 22 GetTemporaryRoot(&directory);
23 mojom::FileError error; 23 mojom::FileError error;
24 bool handled = false; 24 bool handled = false;
25 25
26 { 26 {
27 // Create my_file. 27 // Create my_file.
28 mojom::FilePtr file; 28 mojom::FilePtr file;
29 error = mojom::FileError::FAILED; 29 error = mojom::FileError::FAILED;
30 handled = 30 handled =
31 directory->OpenFile("my_file", GetProxy(&file), 31 directory->OpenFile("my_file", MakeRequest(&file),
32 mojom::kFlagWrite | mojom::kFlagCreate, &error); 32 mojom::kFlagWrite | mojom::kFlagCreate, &error);
33 ASSERT_TRUE(handled); 33 ASSERT_TRUE(handled);
34 EXPECT_EQ(mojom::FileError::OK, error); 34 EXPECT_EQ(mojom::FileError::OK, error);
35 35
36 // Write to it. 36 // Write to it.
37 std::vector<uint8_t> bytes_to_write; 37 std::vector<uint8_t> bytes_to_write;
38 bytes_to_write.push_back(static_cast<uint8_t>('h')); 38 bytes_to_write.push_back(static_cast<uint8_t>('h'));
39 bytes_to_write.push_back(static_cast<uint8_t>('e')); 39 bytes_to_write.push_back(static_cast<uint8_t>('e'));
40 bytes_to_write.push_back(static_cast<uint8_t>('l')); 40 bytes_to_write.push_back(static_cast<uint8_t>('l'));
41 bytes_to_write.push_back(static_cast<uint8_t>('l')); 41 bytes_to_write.push_back(static_cast<uint8_t>('l'));
(...skipping 17 matching lines...) Expand all
59 error = mojom::FileError::FAILED; 59 error = mojom::FileError::FAILED;
60 handled = directory->Rename("my_file", "your_file", &error); 60 handled = directory->Rename("my_file", "your_file", &error);
61 ASSERT_TRUE(handled); 61 ASSERT_TRUE(handled);
62 EXPECT_EQ(mojom::FileError::OK, error); 62 EXPECT_EQ(mojom::FileError::OK, error);
63 63
64 { 64 {
65 // Open my_file again. 65 // Open my_file again.
66 mojom::FilePtr file; 66 mojom::FilePtr file;
67 error = mojom::FileError::FAILED; 67 error = mojom::FileError::FAILED;
68 bool handled = 68 bool handled =
69 directory->OpenFile("your_file", GetProxy(&file), 69 directory->OpenFile("your_file", MakeRequest(&file),
70 mojom::kFlagRead | mojom::kFlagOpen, &error); 70 mojom::kFlagRead | mojom::kFlagOpen, &error);
71 ASSERT_TRUE(handled); 71 ASSERT_TRUE(handled);
72 EXPECT_EQ(mojom::FileError::OK, error); 72 EXPECT_EQ(mojom::FileError::OK, error);
73 73
74 // Read from it. 74 // Read from it.
75 base::Optional<std::vector<uint8_t>> bytes_read; 75 base::Optional<std::vector<uint8_t>> bytes_read;
76 error = mojom::FileError::FAILED; 76 error = mojom::FileError::FAILED;
77 handled = file->Read(3, 1, mojom::Whence::FROM_BEGIN, &error, &bytes_read); 77 handled = file->Read(3, 1, mojom::Whence::FROM_BEGIN, &error, &bytes_read);
78 ASSERT_TRUE(handled); 78 ASSERT_TRUE(handled);
79 EXPECT_EQ(mojom::FileError::OK, error); 79 EXPECT_EQ(mojom::FileError::OK, error);
(...skipping 17 matching lines...) Expand all
97 bytes_to_write.push_back(static_cast<uint8_t>('e')); 97 bytes_to_write.push_back(static_cast<uint8_t>('e'));
98 bytes_to_write.push_back(static_cast<uint8_t>('l')); 98 bytes_to_write.push_back(static_cast<uint8_t>('l'));
99 bytes_to_write.push_back(static_cast<uint8_t>('l')); 99 bytes_to_write.push_back(static_cast<uint8_t>('l'));
100 bytes_to_write.push_back(static_cast<uint8_t>('o')); 100 bytes_to_write.push_back(static_cast<uint8_t>('o'));
101 101
102 { 102 {
103 // Create my_file. 103 // Create my_file.
104 mojom::FilePtr file; 104 mojom::FilePtr file;
105 error = mojom::FileError::FAILED; 105 error = mojom::FileError::FAILED;
106 bool handled = 106 bool handled =
107 directory->OpenFile("my_file", GetProxy(&file), 107 directory->OpenFile("my_file", MakeRequest(&file),
108 mojom::kFlagWrite | mojom::kFlagCreate, &error); 108 mojom::kFlagWrite | mojom::kFlagCreate, &error);
109 ASSERT_TRUE(handled); 109 ASSERT_TRUE(handled);
110 EXPECT_EQ(mojom::FileError::OK, error); 110 EXPECT_EQ(mojom::FileError::OK, error);
111 111
112 // Write to it. 112 // Write to it.
113 error = mojom::FileError::FAILED; 113 error = mojom::FileError::FAILED;
114 uint32_t num_bytes_written = 0; 114 uint32_t num_bytes_written = 0;
115 handled = file->Write(bytes_to_write, 0, mojom::Whence::FROM_CURRENT, 115 handled = file->Write(bytes_to_write, 0, mojom::Whence::FROM_CURRENT,
116 &error, &num_bytes_written); 116 &error, &num_bytes_written);
117 ASSERT_TRUE(handled); 117 ASSERT_TRUE(handled);
118 EXPECT_EQ(mojom::FileError::OK, error); 118 EXPECT_EQ(mojom::FileError::OK, error);
119 EXPECT_EQ(bytes_to_write.size(), num_bytes_written); 119 EXPECT_EQ(bytes_to_write.size(), num_bytes_written);
120 120
121 // Close it. 121 // Close it.
122 error = mojom::FileError::FAILED; 122 error = mojom::FileError::FAILED;
123 handled = file->Close((&error)); 123 handled = file->Close((&error));
124 ASSERT_TRUE(handled); 124 ASSERT_TRUE(handled);
125 EXPECT_EQ(mojom::FileError::OK, error); 125 EXPECT_EQ(mojom::FileError::OK, error);
126 } 126 }
127 127
128 { 128 {
129 // Open my_file again, this time with read only mode. 129 // Open my_file again, this time with read only mode.
130 mojom::FilePtr file; 130 mojom::FilePtr file;
131 error = mojom::FileError::FAILED; 131 error = mojom::FileError::FAILED;
132 bool handled = 132 bool handled =
133 directory->OpenFile("my_file", GetProxy(&file), 133 directory->OpenFile("my_file", MakeRequest(&file),
134 mojom::kFlagRead | mojom::kFlagOpen, &error); 134 mojom::kFlagRead | mojom::kFlagOpen, &error);
135 ASSERT_TRUE(handled); 135 ASSERT_TRUE(handled);
136 EXPECT_EQ(mojom::FileError::OK, error); 136 EXPECT_EQ(mojom::FileError::OK, error);
137 137
138 // Try to write in read mode; it should fail. 138 // Try to write in read mode; it should fail.
139 error = mojom::FileError::OK; 139 error = mojom::FileError::OK;
140 uint32_t num_bytes_written = 0; 140 uint32_t num_bytes_written = 0;
141 handled = file->Write(bytes_to_write, 0, mojom::Whence::FROM_CURRENT, 141 handled = file->Write(bytes_to_write, 0, mojom::Whence::FROM_CURRENT,
142 &error, &num_bytes_written); 142 &error, &num_bytes_written);
143 143
(...skipping 12 matching lines...) Expand all
156 TEST_F(FileImplTest, OpenInAppendMode) { 156 TEST_F(FileImplTest, OpenInAppendMode) {
157 mojom::DirectoryPtr directory; 157 mojom::DirectoryPtr directory;
158 GetTemporaryRoot(&directory); 158 GetTemporaryRoot(&directory);
159 mojom::FileError error; 159 mojom::FileError error;
160 160
161 { 161 {
162 // Create my_file. 162 // Create my_file.
163 mojom::FilePtr file; 163 mojom::FilePtr file;
164 error = mojom::FileError::FAILED; 164 error = mojom::FileError::FAILED;
165 bool handled = 165 bool handled =
166 directory->OpenFile("my_file", GetProxy(&file), 166 directory->OpenFile("my_file", MakeRequest(&file),
167 mojom::kFlagWrite | mojom::kFlagCreate, &error); 167 mojom::kFlagWrite | mojom::kFlagCreate, &error);
168 ASSERT_TRUE(handled); 168 ASSERT_TRUE(handled);
169 EXPECT_EQ(mojom::FileError::OK, error); 169 EXPECT_EQ(mojom::FileError::OK, error);
170 170
171 // Write to it. 171 // Write to it.
172 std::vector<uint8_t> bytes_to_write; 172 std::vector<uint8_t> bytes_to_write;
173 bytes_to_write.push_back(static_cast<uint8_t>('h')); 173 bytes_to_write.push_back(static_cast<uint8_t>('h'));
174 bytes_to_write.push_back(static_cast<uint8_t>('e')); 174 bytes_to_write.push_back(static_cast<uint8_t>('e'));
175 bytes_to_write.push_back(static_cast<uint8_t>('l')); 175 bytes_to_write.push_back(static_cast<uint8_t>('l'));
176 bytes_to_write.push_back(static_cast<uint8_t>('l')); 176 bytes_to_write.push_back(static_cast<uint8_t>('l'));
(...skipping 11 matching lines...) Expand all
188 handled = file->Close(&error); 188 handled = file->Close(&error);
189 ASSERT_TRUE(handled); 189 ASSERT_TRUE(handled);
190 EXPECT_EQ(mojom::FileError::OK, error); 190 EXPECT_EQ(mojom::FileError::OK, error);
191 } 191 }
192 192
193 { 193 {
194 // Append to my_file. 194 // Append to my_file.
195 mojom::FilePtr file; 195 mojom::FilePtr file;
196 error = mojom::FileError::FAILED; 196 error = mojom::FileError::FAILED;
197 bool handled = 197 bool handled =
198 directory->OpenFile("my_file", GetProxy(&file), 198 directory->OpenFile("my_file", MakeRequest(&file),
199 mojom::kFlagAppend | mojom::kFlagOpen, &error); 199 mojom::kFlagAppend | mojom::kFlagOpen, &error);
200 ASSERT_TRUE(handled); 200 ASSERT_TRUE(handled);
201 EXPECT_EQ(mojom::FileError::OK, error); 201 EXPECT_EQ(mojom::FileError::OK, error);
202 202
203 // Write to it. 203 // Write to it.
204 std::vector<uint8_t> bytes_to_write; 204 std::vector<uint8_t> bytes_to_write;
205 bytes_to_write.push_back(static_cast<uint8_t>('g')); 205 bytes_to_write.push_back(static_cast<uint8_t>('g'));
206 bytes_to_write.push_back(static_cast<uint8_t>('o')); 206 bytes_to_write.push_back(static_cast<uint8_t>('o'));
207 bytes_to_write.push_back(static_cast<uint8_t>('o')); 207 bytes_to_write.push_back(static_cast<uint8_t>('o'));
208 bytes_to_write.push_back(static_cast<uint8_t>('d')); 208 bytes_to_write.push_back(static_cast<uint8_t>('d'));
(...skipping 13 matching lines...) Expand all
222 handled = file->Close((&error)); 222 handled = file->Close((&error));
223 ASSERT_TRUE(handled); 223 ASSERT_TRUE(handled);
224 EXPECT_EQ(mojom::FileError::OK, error); 224 EXPECT_EQ(mojom::FileError::OK, error);
225 } 225 }
226 226
227 { 227 {
228 // Open my_file again. 228 // Open my_file again.
229 mojom::FilePtr file; 229 mojom::FilePtr file;
230 error = mojom::FileError::FAILED; 230 error = mojom::FileError::FAILED;
231 bool handled = 231 bool handled =
232 directory->OpenFile("my_file", GetProxy(&file), 232 directory->OpenFile("my_file", MakeRequest(&file),
233 mojom::kFlagRead | mojom::kFlagOpen, &error); 233 mojom::kFlagRead | mojom::kFlagOpen, &error);
234 ASSERT_TRUE(handled); 234 ASSERT_TRUE(handled);
235 EXPECT_EQ(mojom::FileError::OK, error); 235 EXPECT_EQ(mojom::FileError::OK, error);
236 236
237 // Read from it. 237 // Read from it.
238 base::Optional<std::vector<uint8_t>> bytes_read; 238 base::Optional<std::vector<uint8_t>> bytes_read;
239 error = mojom::FileError::FAILED; 239 error = mojom::FileError::FAILED;
240 handled = file->Read(12, 0, mojom::Whence::FROM_BEGIN, &error, &bytes_read); 240 handled = file->Read(12, 0, mojom::Whence::FROM_BEGIN, &error, &bytes_read);
241 ASSERT_TRUE(handled); 241 ASSERT_TRUE(handled);
242 EXPECT_EQ(mojom::FileError::OK, error); 242 EXPECT_EQ(mojom::FileError::OK, error);
243 ASSERT_TRUE(bytes_read.has_value()); 243 ASSERT_TRUE(bytes_read.has_value());
244 ASSERT_EQ(12u, bytes_read.value().size()); 244 ASSERT_EQ(12u, bytes_read.value().size());
245 EXPECT_EQ(static_cast<uint8_t>('l'), bytes_read.value()[3]); 245 EXPECT_EQ(static_cast<uint8_t>('l'), bytes_read.value()[3]);
246 EXPECT_EQ(static_cast<uint8_t>('o'), bytes_read.value()[4]); 246 EXPECT_EQ(static_cast<uint8_t>('o'), bytes_read.value()[4]);
247 EXPECT_EQ(static_cast<uint8_t>('g'), bytes_read.value()[5]); 247 EXPECT_EQ(static_cast<uint8_t>('g'), bytes_read.value()[5]);
248 EXPECT_EQ(static_cast<uint8_t>('o'), bytes_read.value()[6]); 248 EXPECT_EQ(static_cast<uint8_t>('o'), bytes_read.value()[6]);
249 } 249 }
250 } 250 }
251 251
252 TEST_F(FileImplTest, OpenInTruncateMode) { 252 TEST_F(FileImplTest, OpenInTruncateMode) {
253 mojom::DirectoryPtr directory; 253 mojom::DirectoryPtr directory;
254 GetTemporaryRoot(&directory); 254 GetTemporaryRoot(&directory);
255 mojom::FileError error; 255 mojom::FileError error;
256 256
257 { 257 {
258 // Create my_file. 258 // Create my_file.
259 mojom::FilePtr file; 259 mojom::FilePtr file;
260 error = mojom::FileError::FAILED; 260 error = mojom::FileError::FAILED;
261 bool handled = 261 bool handled =
262 directory->OpenFile("my_file", GetProxy(&file), 262 directory->OpenFile("my_file", MakeRequest(&file),
263 mojom::kFlagWrite | mojom::kFlagCreate, &error); 263 mojom::kFlagWrite | mojom::kFlagCreate, &error);
264 ASSERT_TRUE(handled); 264 ASSERT_TRUE(handled);
265 EXPECT_EQ(mojom::FileError::OK, error); 265 EXPECT_EQ(mojom::FileError::OK, error);
266 266
267 // Write to it. 267 // Write to it.
268 std::vector<uint8_t> bytes_to_write; 268 std::vector<uint8_t> bytes_to_write;
269 bytes_to_write.push_back(static_cast<uint8_t>('h')); 269 bytes_to_write.push_back(static_cast<uint8_t>('h'));
270 bytes_to_write.push_back(static_cast<uint8_t>('e')); 270 bytes_to_write.push_back(static_cast<uint8_t>('e'));
271 bytes_to_write.push_back(static_cast<uint8_t>('l')); 271 bytes_to_write.push_back(static_cast<uint8_t>('l'));
272 bytes_to_write.push_back(static_cast<uint8_t>('l')); 272 bytes_to_write.push_back(static_cast<uint8_t>('l'));
(...skipping 11 matching lines...) Expand all
284 handled = file->Close(&error); 284 handled = file->Close(&error);
285 ASSERT_TRUE(handled); 285 ASSERT_TRUE(handled);
286 EXPECT_EQ(mojom::FileError::OK, error); 286 EXPECT_EQ(mojom::FileError::OK, error);
287 } 287 }
288 288
289 { 289 {
290 // Append to my_file. 290 // Append to my_file.
291 mojom::FilePtr file; 291 mojom::FilePtr file;
292 error = mojom::FileError::FAILED; 292 error = mojom::FileError::FAILED;
293 bool handled = directory->OpenFile( 293 bool handled = directory->OpenFile(
294 "my_file", GetProxy(&file), 294 "my_file", MakeRequest(&file),
295 mojom::kFlagWrite | mojom::kFlagOpenTruncated, &error); 295 mojom::kFlagWrite | mojom::kFlagOpenTruncated, &error);
296 ASSERT_TRUE(handled); 296 ASSERT_TRUE(handled);
297 EXPECT_EQ(mojom::FileError::OK, error); 297 EXPECT_EQ(mojom::FileError::OK, error);
298 298
299 // Write to it. 299 // Write to it.
300 std::vector<uint8_t> bytes_to_write; 300 std::vector<uint8_t> bytes_to_write;
301 bytes_to_write.push_back(static_cast<uint8_t>('g')); 301 bytes_to_write.push_back(static_cast<uint8_t>('g'));
302 bytes_to_write.push_back(static_cast<uint8_t>('o')); 302 bytes_to_write.push_back(static_cast<uint8_t>('o'));
303 bytes_to_write.push_back(static_cast<uint8_t>('o')); 303 bytes_to_write.push_back(static_cast<uint8_t>('o'));
304 bytes_to_write.push_back(static_cast<uint8_t>('d')); 304 bytes_to_write.push_back(static_cast<uint8_t>('d'));
(...skipping 13 matching lines...) Expand all
318 handled = file->Close(&error); 318 handled = file->Close(&error);
319 ASSERT_TRUE(handled); 319 ASSERT_TRUE(handled);
320 EXPECT_EQ(mojom::FileError::OK, error); 320 EXPECT_EQ(mojom::FileError::OK, error);
321 } 321 }
322 322
323 { 323 {
324 // Open my_file again. 324 // Open my_file again.
325 mojom::FilePtr file; 325 mojom::FilePtr file;
326 error = mojom::FileError::FAILED; 326 error = mojom::FileError::FAILED;
327 bool handled = 327 bool handled =
328 directory->OpenFile("my_file", GetProxy(&file), 328 directory->OpenFile("my_file", MakeRequest(&file),
329 mojom::kFlagRead | mojom::kFlagOpen, &error); 329 mojom::kFlagRead | mojom::kFlagOpen, &error);
330 ASSERT_TRUE(handled); 330 ASSERT_TRUE(handled);
331 EXPECT_EQ(mojom::FileError::OK, error); 331 EXPECT_EQ(mojom::FileError::OK, error);
332 332
333 // Read from it. 333 // Read from it.
334 base::Optional<std::vector<uint8_t>> bytes_read; 334 base::Optional<std::vector<uint8_t>> bytes_read;
335 error = mojom::FileError::FAILED; 335 error = mojom::FileError::FAILED;
336 handled = file->Read(7, 0, mojom::Whence::FROM_BEGIN, &error, &bytes_read); 336 handled = file->Read(7, 0, mojom::Whence::FROM_BEGIN, &error, &bytes_read);
337 ASSERT_TRUE(handled); 337 ASSERT_TRUE(handled);
338 EXPECT_EQ(mojom::FileError::OK, error); 338 EXPECT_EQ(mojom::FileError::OK, error);
(...skipping 10 matching lines...) Expand all
349 // least second-resolution support though. 349 // least second-resolution support though.
350 TEST_F(FileImplTest, StatTouch) { 350 TEST_F(FileImplTest, StatTouch) {
351 mojom::DirectoryPtr directory; 351 mojom::DirectoryPtr directory;
352 GetTemporaryRoot(&directory); 352 GetTemporaryRoot(&directory);
353 mojom::FileError error; 353 mojom::FileError error;
354 354
355 // Create my_file. 355 // Create my_file.
356 mojom::FilePtr file; 356 mojom::FilePtr file;
357 error = mojom::FileError::FAILED; 357 error = mojom::FileError::FAILED;
358 bool handled = 358 bool handled =
359 directory->OpenFile("my_file", GetProxy(&file), 359 directory->OpenFile("my_file", MakeRequest(&file),
360 mojom::kFlagWrite | mojom::kFlagCreate, &error); 360 mojom::kFlagWrite | mojom::kFlagCreate, &error);
361 ASSERT_TRUE(handled); 361 ASSERT_TRUE(handled);
362 EXPECT_EQ(mojom::FileError::OK, error); 362 EXPECT_EQ(mojom::FileError::OK, error);
363 363
364 // Stat it. 364 // Stat it.
365 error = mojom::FileError::FAILED; 365 error = mojom::FileError::FAILED;
366 mojom::FileInformationPtr file_info; 366 mojom::FileInformationPtr file_info;
367 handled = file->Stat(&error, &file_info); 367 handled = file->Stat(&error, &file_info);
368 ASSERT_TRUE(handled); 368 ASSERT_TRUE(handled);
369 EXPECT_EQ(mojom::FileError::OK, error); 369 EXPECT_EQ(mojom::FileError::OK, error);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 420
421 TEST_F(FileImplTest, TellSeek) { 421 TEST_F(FileImplTest, TellSeek) {
422 mojom::DirectoryPtr directory; 422 mojom::DirectoryPtr directory;
423 GetTemporaryRoot(&directory); 423 GetTemporaryRoot(&directory);
424 mojom::FileError error; 424 mojom::FileError error;
425 425
426 // Create my_file. 426 // Create my_file.
427 mojom::FilePtr file; 427 mojom::FilePtr file;
428 error = mojom::FileError::FAILED; 428 error = mojom::FileError::FAILED;
429 bool handled = 429 bool handled =
430 directory->OpenFile("my_file", GetProxy(&file), 430 directory->OpenFile("my_file", MakeRequest(&file),
431 mojom::kFlagWrite | mojom::kFlagCreate, &error); 431 mojom::kFlagWrite | mojom::kFlagCreate, &error);
432 ASSERT_TRUE(handled); 432 ASSERT_TRUE(handled);
433 EXPECT_EQ(mojom::FileError::OK, error); 433 EXPECT_EQ(mojom::FileError::OK, error);
434 434
435 // Write to it. 435 // Write to it.
436 std::vector<uint8_t> bytes_to_write(1000, '!'); 436 std::vector<uint8_t> bytes_to_write(1000, '!');
437 error = mojom::FileError::FAILED; 437 error = mojom::FileError::FAILED;
438 uint32_t num_bytes_written = 0; 438 uint32_t num_bytes_written = 0;
439 handled = file->Write(bytes_to_write, 0, mojom::Whence::FROM_CURRENT, &error, 439 handled = file->Write(bytes_to_write, 0, mojom::Whence::FROM_CURRENT, &error,
440 &num_bytes_written); 440 &num_bytes_written);
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 506
507 TEST_F(FileImplTest, Dup) { 507 TEST_F(FileImplTest, Dup) {
508 mojom::DirectoryPtr directory; 508 mojom::DirectoryPtr directory;
509 GetTemporaryRoot(&directory); 509 GetTemporaryRoot(&directory);
510 mojom::FileError error; 510 mojom::FileError error;
511 511
512 // Create my_file. 512 // Create my_file.
513 mojom::FilePtr file1; 513 mojom::FilePtr file1;
514 error = mojom::FileError::FAILED; 514 error = mojom::FileError::FAILED;
515 bool handled = directory->OpenFile( 515 bool handled = directory->OpenFile(
516 "my_file", GetProxy(&file1), 516 "my_file", MakeRequest(&file1),
517 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); 517 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error);
518 ASSERT_TRUE(handled); 518 ASSERT_TRUE(handled);
519 EXPECT_EQ(mojom::FileError::OK, error); 519 EXPECT_EQ(mojom::FileError::OK, error);
520 520
521 // Write to it. 521 // Write to it.
522 std::vector<uint8_t> bytes_to_write; 522 std::vector<uint8_t> bytes_to_write;
523 bytes_to_write.push_back(static_cast<uint8_t>('h')); 523 bytes_to_write.push_back(static_cast<uint8_t>('h'));
524 bytes_to_write.push_back(static_cast<uint8_t>('e')); 524 bytes_to_write.push_back(static_cast<uint8_t>('e'));
525 bytes_to_write.push_back(static_cast<uint8_t>('l')); 525 bytes_to_write.push_back(static_cast<uint8_t>('l'));
526 bytes_to_write.push_back(static_cast<uint8_t>('l')); 526 bytes_to_write.push_back(static_cast<uint8_t>('l'));
527 bytes_to_write.push_back(static_cast<uint8_t>('o')); 527 bytes_to_write.push_back(static_cast<uint8_t>('o'));
528 error = mojom::FileError::FAILED; 528 error = mojom::FileError::FAILED;
529 uint32_t num_bytes_written = 0; 529 uint32_t num_bytes_written = 0;
530 handled = file1->Write(bytes_to_write, 0, mojom::Whence::FROM_CURRENT, &error, 530 handled = file1->Write(bytes_to_write, 0, mojom::Whence::FROM_CURRENT, &error,
531 &num_bytes_written); 531 &num_bytes_written);
532 ASSERT_TRUE(handled); 532 ASSERT_TRUE(handled);
533 EXPECT_EQ(mojom::FileError::OK, error); 533 EXPECT_EQ(mojom::FileError::OK, error);
534 EXPECT_EQ(bytes_to_write.size(), num_bytes_written); 534 EXPECT_EQ(bytes_to_write.size(), num_bytes_written);
535 const int end_hello_pos = static_cast<int>(num_bytes_written); 535 const int end_hello_pos = static_cast<int>(num_bytes_written);
536 536
537 // Dup it. 537 // Dup it.
538 mojom::FilePtr file2; 538 mojom::FilePtr file2;
539 error = mojom::FileError::FAILED; 539 error = mojom::FileError::FAILED;
540 handled = file1->Dup(GetProxy(&file2), &error); 540 handled = file1->Dup(MakeRequest(&file2), &error);
541 ASSERT_TRUE(handled); 541 ASSERT_TRUE(handled);
542 EXPECT_EQ(mojom::FileError::OK, error); 542 EXPECT_EQ(mojom::FileError::OK, error);
543 543
544 // |file2| should have the same position. 544 // |file2| should have the same position.
545 error = mojom::FileError::FAILED; 545 error = mojom::FileError::FAILED;
546 int64_t position = -1; 546 int64_t position = -1;
547 handled = file2->Tell(&error, &position); 547 handled = file2->Tell(&error, &position);
548 ASSERT_TRUE(handled); 548 ASSERT_TRUE(handled);
549 EXPECT_EQ(mojom::FileError::OK, error); 549 EXPECT_EQ(mojom::FileError::OK, error);
550 EXPECT_EQ(end_hello_pos, position); 550 EXPECT_EQ(end_hello_pos, position);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 const uint32_t kTruncatedSize = 654; 600 const uint32_t kTruncatedSize = 654;
601 601
602 mojom::DirectoryPtr directory; 602 mojom::DirectoryPtr directory;
603 GetTemporaryRoot(&directory); 603 GetTemporaryRoot(&directory);
604 mojom::FileError error; 604 mojom::FileError error;
605 605
606 // Create my_file. 606 // Create my_file.
607 mojom::FilePtr file; 607 mojom::FilePtr file;
608 error = mojom::FileError::FAILED; 608 error = mojom::FileError::FAILED;
609 bool handled = 609 bool handled =
610 directory->OpenFile("my_file", GetProxy(&file), 610 directory->OpenFile("my_file", MakeRequest(&file),
611 mojom::kFlagWrite | mojom::kFlagCreate, &error); 611 mojom::kFlagWrite | mojom::kFlagCreate, &error);
612 ASSERT_TRUE(handled); 612 ASSERT_TRUE(handled);
613 EXPECT_EQ(mojom::FileError::OK, error); 613 EXPECT_EQ(mojom::FileError::OK, error);
614 614
615 // Write to it. 615 // Write to it.
616 std::vector<uint8_t> bytes_to_write(kInitialSize, '!'); 616 std::vector<uint8_t> bytes_to_write(kInitialSize, '!');
617 error = mojom::FileError::FAILED; 617 error = mojom::FileError::FAILED;
618 uint32_t num_bytes_written = 0; 618 uint32_t num_bytes_written = 0;
619 handled = file->Write(bytes_to_write, 0, mojom::Whence::FROM_CURRENT, &error, 619 handled = file->Write(bytes_to_write, 0, mojom::Whence::FROM_CURRENT, &error,
620 &num_bytes_written); 620 &num_bytes_written);
(...skipping 29 matching lines...) Expand all
650 TEST_F(FileImplTest, AsHandle) { 650 TEST_F(FileImplTest, AsHandle) {
651 mojom::DirectoryPtr directory; 651 mojom::DirectoryPtr directory;
652 GetTemporaryRoot(&directory); 652 GetTemporaryRoot(&directory);
653 mojom::FileError error; 653 mojom::FileError error;
654 654
655 { 655 {
656 // Create my_file. 656 // Create my_file.
657 mojom::FilePtr file1; 657 mojom::FilePtr file1;
658 error = mojom::FileError::FAILED; 658 error = mojom::FileError::FAILED;
659 bool handled = directory->OpenFile( 659 bool handled = directory->OpenFile(
660 "my_file", GetProxy(&file1), 660 "my_file", MakeRequest(&file1),
661 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); 661 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error);
662 ASSERT_TRUE(handled); 662 ASSERT_TRUE(handled);
663 EXPECT_EQ(mojom::FileError::OK, error); 663 EXPECT_EQ(mojom::FileError::OK, error);
664 664
665 // Fetch the file. 665 // Fetch the file.
666 error = mojom::FileError::FAILED; 666 error = mojom::FileError::FAILED;
667 base::File raw_file; 667 base::File raw_file;
668 handled = file1->AsHandle(&error, &raw_file); 668 handled = file1->AsHandle(&error, &raw_file);
669 ASSERT_TRUE(handled); 669 ASSERT_TRUE(handled);
670 EXPECT_EQ(mojom::FileError::OK, error); 670 EXPECT_EQ(mojom::FileError::OK, error);
671 671
672 ASSERT_TRUE(raw_file.IsValid()); 672 ASSERT_TRUE(raw_file.IsValid());
673 EXPECT_EQ(5, raw_file.WriteAtCurrentPos("hello", 5)); 673 EXPECT_EQ(5, raw_file.WriteAtCurrentPos("hello", 5));
674 } 674 }
675 675
676 { 676 {
677 // Reopen my_file. 677 // Reopen my_file.
678 mojom::FilePtr file2; 678 mojom::FilePtr file2;
679 error = mojom::FileError::FAILED; 679 error = mojom::FileError::FAILED;
680 bool handled = 680 bool handled =
681 directory->OpenFile("my_file", GetProxy(&file2), 681 directory->OpenFile("my_file", MakeRequest(&file2),
682 mojom::kFlagRead | mojom::kFlagOpen, &error); 682 mojom::kFlagRead | mojom::kFlagOpen, &error);
683 ASSERT_TRUE(handled); 683 ASSERT_TRUE(handled);
684 EXPECT_EQ(mojom::FileError::OK, error); 684 EXPECT_EQ(mojom::FileError::OK, error);
685 685
686 // Verify that we wrote data raw on the file descriptor. 686 // Verify that we wrote data raw on the file descriptor.
687 base::Optional<std::vector<uint8_t>> bytes_read; 687 base::Optional<std::vector<uint8_t>> bytes_read;
688 error = mojom::FileError::FAILED; 688 error = mojom::FileError::FAILED;
689 handled = file2->Read(5, 0, mojom::Whence::FROM_BEGIN, &error, &bytes_read); 689 handled = file2->Read(5, 0, mojom::Whence::FROM_BEGIN, &error, &bytes_read);
690 ASSERT_TRUE(handled); 690 ASSERT_TRUE(handled);
691 EXPECT_EQ(mojom::FileError::OK, error); 691 EXPECT_EQ(mojom::FileError::OK, error);
692 ASSERT_TRUE(bytes_read.has_value()); 692 ASSERT_TRUE(bytes_read.has_value());
693 ASSERT_EQ(5u, bytes_read.value().size()); 693 ASSERT_EQ(5u, bytes_read.value().size());
694 EXPECT_EQ(static_cast<uint8_t>('h'), bytes_read.value()[0]); 694 EXPECT_EQ(static_cast<uint8_t>('h'), bytes_read.value()[0]);
695 EXPECT_EQ(static_cast<uint8_t>('e'), bytes_read.value()[1]); 695 EXPECT_EQ(static_cast<uint8_t>('e'), bytes_read.value()[1]);
696 EXPECT_EQ(static_cast<uint8_t>('l'), bytes_read.value()[2]); 696 EXPECT_EQ(static_cast<uint8_t>('l'), bytes_read.value()[2]);
697 EXPECT_EQ(static_cast<uint8_t>('l'), bytes_read.value()[3]); 697 EXPECT_EQ(static_cast<uint8_t>('l'), bytes_read.value()[3]);
698 EXPECT_EQ(static_cast<uint8_t>('o'), bytes_read.value()[4]); 698 EXPECT_EQ(static_cast<uint8_t>('o'), bytes_read.value()[4]);
699 } 699 }
700 } 700 }
701 701
702 TEST_F(FileImplTest, SimpleLockUnlock) { 702 TEST_F(FileImplTest, SimpleLockUnlock) {
703 mojom::DirectoryPtr directory; 703 mojom::DirectoryPtr directory;
704 GetTemporaryRoot(&directory); 704 GetTemporaryRoot(&directory);
705 mojom::FileError error; 705 mojom::FileError error;
706 706
707 // Create my_file. 707 // Create my_file.
708 mojom::FilePtr file; 708 mojom::FilePtr file;
709 error = mojom::FileError::FAILED; 709 error = mojom::FileError::FAILED;
710 bool handled = directory->OpenFile( 710 bool handled = directory->OpenFile(
711 "my_file", GetProxy(&file), 711 "my_file", MakeRequest(&file),
712 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); 712 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error);
713 ASSERT_TRUE(handled); 713 ASSERT_TRUE(handled);
714 EXPECT_EQ(mojom::FileError::OK, error); 714 EXPECT_EQ(mojom::FileError::OK, error);
715 715
716 // Lock the file. 716 // Lock the file.
717 error = mojom::FileError::FAILED; 717 error = mojom::FileError::FAILED;
718 handled = file->Lock(&error); 718 handled = file->Lock(&error);
719 ASSERT_TRUE(handled); 719 ASSERT_TRUE(handled);
720 EXPECT_EQ(mojom::FileError::OK, error); 720 EXPECT_EQ(mojom::FileError::OK, error);
721 721
722 // Unlock the file. 722 // Unlock the file.
723 error = mojom::FileError::FAILED; 723 error = mojom::FileError::FAILED;
724 handled = file->Unlock(&error); 724 handled = file->Unlock(&error);
725 ASSERT_TRUE(handled); 725 ASSERT_TRUE(handled);
726 EXPECT_EQ(mojom::FileError::OK, error); 726 EXPECT_EQ(mojom::FileError::OK, error);
727 } 727 }
728 728
729 TEST_F(FileImplTest, CantDoubleLock) { 729 TEST_F(FileImplTest, CantDoubleLock) {
730 mojom::DirectoryPtr directory; 730 mojom::DirectoryPtr directory;
731 GetTemporaryRoot(&directory); 731 GetTemporaryRoot(&directory);
732 mojom::FileError error; 732 mojom::FileError error;
733 733
734 // Create my_file. 734 // Create my_file.
735 mojom::FilePtr file; 735 mojom::FilePtr file;
736 error = mojom::FileError::FAILED; 736 error = mojom::FileError::FAILED;
737 bool handled = directory->OpenFile( 737 bool handled = directory->OpenFile(
738 "my_file", GetProxy(&file), 738 "my_file", MakeRequest(&file),
739 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error); 739 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagCreate, &error);
740 ASSERT_TRUE(handled); 740 ASSERT_TRUE(handled);
741 EXPECT_EQ(mojom::FileError::OK, error); 741 EXPECT_EQ(mojom::FileError::OK, error);
742 742
743 // Lock the file. 743 // Lock the file.
744 error = mojom::FileError::FAILED; 744 error = mojom::FileError::FAILED;
745 handled = file->Lock(&error); 745 handled = file->Lock(&error);
746 ASSERT_TRUE(handled); 746 ASSERT_TRUE(handled);
747 EXPECT_EQ(mojom::FileError::OK, error); 747 EXPECT_EQ(mojom::FileError::OK, error);
748 748
749 // Lock the file again. 749 // Lock the file again.
750 error = mojom::FileError::OK; 750 error = mojom::FileError::OK;
751 handled = file->Lock(&error); 751 handled = file->Lock(&error);
752 ASSERT_TRUE(handled); 752 ASSERT_TRUE(handled);
753 EXPECT_EQ(mojom::FileError::FAILED, error); 753 EXPECT_EQ(mojom::FileError::FAILED, error);
754 } 754 }
755 755
756 TEST_F(FileImplTest, ClosingFileClearsLock) { 756 TEST_F(FileImplTest, ClosingFileClearsLock) {
757 mojom::DirectoryPtr directory; 757 mojom::DirectoryPtr directory;
758 GetTemporaryRoot(&directory); 758 GetTemporaryRoot(&directory);
759 mojom::FileError error; 759 mojom::FileError error;
760 760
761 { 761 {
762 // Create my_file. 762 // Create my_file.
763 mojom::FilePtr file; 763 mojom::FilePtr file;
764 error = mojom::FileError::FAILED; 764 error = mojom::FileError::FAILED;
765 bool handled = directory->OpenFile( 765 bool handled = directory->OpenFile(
766 "my_file", GetProxy(&file), 766 "my_file", MakeRequest(&file),
767 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagOpenAlways, &error); 767 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagOpenAlways, &error);
768 ASSERT_TRUE(handled); 768 ASSERT_TRUE(handled);
769 EXPECT_EQ(mojom::FileError::OK, error); 769 EXPECT_EQ(mojom::FileError::OK, error);
770 770
771 // Lock the file. 771 // Lock the file.
772 error = mojom::FileError::FAILED; 772 error = mojom::FileError::FAILED;
773 handled = file->Lock(&error); 773 handled = file->Lock(&error);
774 ASSERT_TRUE(handled); 774 ASSERT_TRUE(handled);
775 EXPECT_EQ(mojom::FileError::OK, error); 775 EXPECT_EQ(mojom::FileError::OK, error);
776 } 776 }
777 777
778 { 778 {
779 // Open the file again. 779 // Open the file again.
780 mojom::FilePtr file; 780 mojom::FilePtr file;
781 error = mojom::FileError::FAILED; 781 error = mojom::FileError::FAILED;
782 bool handled = directory->OpenFile( 782 bool handled = directory->OpenFile(
783 "my_file", GetProxy(&file), 783 "my_file", MakeRequest(&file),
784 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagOpenAlways, &error); 784 mojom::kFlagRead | mojom::kFlagWrite | mojom::kFlagOpenAlways, &error);
785 ASSERT_TRUE(handled); 785 ASSERT_TRUE(handled);
786 EXPECT_EQ(mojom::FileError::OK, error); 786 EXPECT_EQ(mojom::FileError::OK, error);
787 787
788 // The file shouldn't be locked (and we check by trying to lock it). 788 // The file shouldn't be locked (and we check by trying to lock it).
789 error = mojom::FileError::FAILED; 789 error = mojom::FileError::FAILED;
790 handled = file->Lock(&error); 790 handled = file->Lock(&error);
791 ASSERT_TRUE(handled); 791 ASSERT_TRUE(handled);
792 EXPECT_EQ(mojom::FileError::OK, error); 792 EXPECT_EQ(mojom::FileError::OK, error);
793 } 793 }
794 } 794 }
795 795
796 } // namespace 796 } // namespace
797 } // namespace filesystem 797 } // namespace filesystem
OLDNEW
« no previous file with comments | « components/filesystem/directory_impl_unittest.cc ('k') | components/filesystem/files_test_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698