Lines Matching refs:File
3 // found in the LICENSE file.
5 #include "base/files/file.h"
17 using base::File;
26 // Don't create a File at all.
27 File file;
28 EXPECT_FALSE(file.IsValid());
29 EXPECT_EQ(base::File::FILE_ERROR_FAILED, file.error_details());
31 File file2(base::File::FILE_ERROR_TOO_MANY_OPENED);
33 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, file2.error_details());
37 // Open a file that doesn't exist.
38 File file(file_path, base::File::FLAG_OPEN | base::File::FLAG_READ);
39 EXPECT_FALSE(file.IsValid());
40 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, file.error_details());
44 // Open or create a file.
45 File file(file_path, base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_READ);
46 EXPECT_TRUE(file.IsValid());
47 EXPECT_TRUE(file.created());
48 EXPECT_EQ(base::File::FILE_OK, file.error_details());
52 // Open an existing file.
53 File file(file_path, base::File::FLAG_OPEN | base::File::FLAG_READ);
54 EXPECT_TRUE(file.IsValid());
55 EXPECT_FALSE(file.created());
56 EXPECT_EQ(base::File::FILE_OK, file.error_details());
58 // This time verify closing the file.
59 file.Close();
60 EXPECT_FALSE(file.IsValid());
64 // Open an existing file through Initialize
65 File file;
66 file.Initialize(file_path, base::File::FLAG_OPEN | base::File::FLAG_READ);
67 EXPECT_TRUE(file.IsValid());
68 EXPECT_FALSE(file.created());
69 EXPECT_EQ(base::File::FILE_OK, file.error_details());
71 // This time verify closing the file.
72 file.Close();
73 EXPECT_FALSE(file.IsValid());
77 // Create a file that exists.
78 File file(file_path, base::File::FLAG_CREATE | base::File::FLAG_READ);
79 EXPECT_FALSE(file.IsValid());
80 EXPECT_FALSE(file.created());
81 EXPECT_EQ(base::File::FILE_ERROR_EXISTS, file.error_details());
85 // Create or overwrite a file.
86 File file(file_path,
87 base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE);
88 EXPECT_TRUE(file.IsValid());
89 EXPECT_TRUE(file.created());
90 EXPECT_EQ(base::File::FILE_OK, file.error_details());
94 // Create a delete-on-close file.
96 File file(file_path,
97 base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_READ |
98 base::File::FLAG_DELETE_ON_CLOSE);
99 EXPECT_TRUE(file.IsValid());
100 EXPECT_TRUE(file.created());
101 EXPECT_EQ(base::File::FILE_OK, file.error_details());
113 File file(file_path, base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_ASYNC);
114 EXPECT_TRUE(file.IsValid());
115 EXPECT_TRUE(file.async());
119 File file(file_path, base::File::FLAG_OPEN_ALWAYS);
120 EXPECT_TRUE(file.IsValid());
121 EXPECT_FALSE(file.async());
130 // Create a file.
131 File file(file_path,
132 base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_READ |
133 base::File::FLAG_SHARE_DELETE);
134 EXPECT_TRUE(file.IsValid());
135 EXPECT_TRUE(file.created());
136 EXPECT_EQ(base::File::FILE_OK, file.error_details());
138 // Open an existing file and mark it as delete on close.
139 File same_file(file_path,
140 base::File::FLAG_OPEN | base::File::FLAG_DELETE_ON_CLOSE |
141 base::File::FLAG_READ);
142 EXPECT_TRUE(file.IsValid());
144 EXPECT_EQ(base::File::FILE_OK, same_file.error_details());
146 // Close both handles and check that the file is gone.
147 file.Close();
156 File file(file_path,
157 base::File::FLAG_CREATE | base::File::FLAG_READ |
158 base::File::FLAG_WRITE);
159 ASSERT_TRUE(file.IsValid());
164 // Write 0 bytes to the file.
165 int bytes_written = file.Write(0, data_to_write, 0);
168 // Write "test" to the file.
169 bytes_written = file.Write(0, data_to_write, kTestDataSize);
174 int bytes_read = file.Read(kTestDataSize, data_read_1, kTestDataSize);
177 // Read from somewhere in the middle of the file.
179 bytes_read = file.Read(kPartialReadOffset, data_read_1, kTestDataSize);
185 bytes_read = file.Read(0, data_read_1, 0);
188 // Read the entire file.
189 bytes_read = file.Read(0, data_read_1, kTestDataSize);
195 bytes_read = file.ReadNoBestEffort(0, data_read_1, kTestDataSize);
200 // Write past the end of the file.
203 bytes_written = file.Write(kOffsetBeyondEndOfFile,
207 // Make sure the file was extended.
212 // Make sure the file was zero-padded.
214 bytes_read = file.Read(0, data_read_2, static_cast<int>(file_size));
228 File file(file_path, base::File::FLAG_CREATE | base::File::FLAG_APPEND);
229 ASSERT_TRUE(file.IsValid());
234 // Write 0 bytes to the file.
235 int bytes_written = file.Write(0, data_to_write, 0);
238 // Write "test" to the file.
239 bytes_written = file.Write(0, data_to_write, kTestDataSize);
242 file.Close();
243 File file2(file_path,
244 base::File::FLAG_OPEN | base::File::FLAG_READ |
245 base::File::FLAG_APPEND);
248 // Test passing the file around.
249 file = std::move(file2);
251 ASSERT_TRUE(file.IsValid());
256 // Append "78" to the file.
257 bytes_written = file.Write(0, append_data_to_write, kAppendDataSize);
260 // Read the entire file.
262 int bytes_read = file.Read(0, data_read_1,
276 File file(file_path,
277 base::File::FLAG_CREATE | base::File::FLAG_READ |
278 base::File::FLAG_WRITE);
279 ASSERT_TRUE(file.IsValid());
280 EXPECT_EQ(0, file.GetLength());
282 // Write "test" to the file.
285 int bytes_written = file.Write(0, data_to_write, kTestDataSize);
288 // Extend the file.
291 EXPECT_TRUE(file.SetLength(kExtendedFileLength));
292 EXPECT_EQ(kExtendedFileLength, file.GetLength());
296 // Make sure the file was zero-padded.
298 int bytes_read = file.Read(0, data_read, static_cast<int>(file_size));
305 // Truncate the file.
307 EXPECT_TRUE(file.SetLength(kTruncatedFileLength));
308 EXPECT_EQ(kTruncatedFileLength, file.GetLength());
312 // Make sure the file was truncated.
313 bytes_read = file.Read(0, data_read, kTestDataSize);
327 File file(temp_dir.path().AppendASCII("touch_get_info_file"),
328 base::File::FLAG_CREATE | base::File::FLAG_WRITE |
329 base::File::FLAG_WRITE_ATTRIBUTES);
330 ASSERT_TRUE(file.IsValid());
332 // Get info for a newly created file.
333 base::File::Info info;
334 EXPECT_TRUE(file.GetInfo(&info));
347 // Write "test" to the file.
350 int bytes_written = file.Write(0, data, kTestDataSize);
362 EXPECT_TRUE(file.SetTimes(new_last_accessed, new_last_modified));
364 // Make sure the file info was updated accordingly.
365 EXPECT_TRUE(file.GetInfo(&info));
391 File file(file_path,
392 base::File::FLAG_CREATE | base::File::FLAG_READ |
393 base::File::FLAG_WRITE);
394 EXPECT_TRUE(file.IsValid());
398 EXPECT_EQ(kDataSize, file.Write(0, kData, kDataSize));
400 EXPECT_EQ(0, file.Seek(base::File::FROM_BEGIN, 0));
404 EXPECT_EQ(first_chunk_size, file.ReadAtCurrentPos(buffer, first_chunk_size));
406 file.ReadAtCurrentPos(buffer + first_chunk_size,
415 File file(file_path,
416 base::File::FLAG_CREATE | base::File::FLAG_READ |
417 base::File::FLAG_WRITE);
418 EXPECT_TRUE(file.IsValid());
424 EXPECT_EQ(first_chunk_size, file.WriteAtCurrentPos(kData, first_chunk_size));
426 file.WriteAtCurrentPos(kData + first_chunk_size,
430 EXPECT_EQ(kDataSize, file.Read(0, buffer, kDataSize));
438 File file(file_path,
439 base::File::FLAG_CREATE | base::File::FLAG_READ |
440 base::File::FLAG_WRITE);
441 ASSERT_TRUE(file.IsValid());
444 EXPECT_EQ(kOffset, file.Seek(base::File::FROM_BEGIN, kOffset));
445 EXPECT_EQ(2 * kOffset, file.Seek(base::File::FROM_CURRENT, kOffset));
446 EXPECT_EQ(kOffset, file.Seek(base::File::FROM_CURRENT, -kOffset));
447 EXPECT_TRUE(file.SetLength(kOffset * 2));
448 EXPECT_EQ(kOffset, file.Seek(base::File::FROM_END, -kOffset));
454 FilePath file_path = temp_dir.path().AppendASCII("file");
455 File file(file_path,(base::File::FLAG_CREATE |
456 base::File::FLAG_READ |
457 base::File::FLAG_WRITE));
458 ASSERT_TRUE(file.IsValid());
460 File file2(file.Duplicate());
467 ASSERT_EQ(0, file.Seek(base::File::FROM_CURRENT, 0));
468 ASSERT_EQ(0, file2.Seek(base::File::FROM_CURRENT, 0));
469 ASSERT_EQ(kDataLen, file.WriteAtCurrentPos(kData, kDataLen));
470 ASSERT_EQ(kDataLen, file.Seek(base::File::FROM_CURRENT, 0));
471 ASSERT_EQ(kDataLen, file2.Seek(base::File::FROM_CURRENT, 0));
472 file.Close();
481 FilePath file_path = temp_dir.path().AppendASCII("file");
482 File file(file_path,(base::File::FLAG_CREATE |
483 base::File::FLAG_READ |
484 base::File::FLAG_WRITE |
485 base::File::FLAG_DELETE_ON_CLOSE));
486 ASSERT_TRUE(file.IsValid());
487 File file2(file.Duplicate());
489 file.Close();
501 base::File dir(
511 base::File::Info info;