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

Side by Side Diff: base/files/file_unittest.cc

Issue 109273002: Convert base::MemoryMappedFile to use File instead of PlatformFile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "base/file_util.h" 5 #include "base/file_util.h"
6 #include "base/files/file.h" 6 #include "base/files/file.h"
7 #include "base/files/scoped_temp_dir.h" 7 #include "base/files/scoped_temp_dir.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 26 matching lines...) Expand all
37 EXPECT_TRUE(file.IsValid()); 37 EXPECT_TRUE(file.IsValid());
38 EXPECT_FALSE(file.created()); 38 EXPECT_FALSE(file.created());
39 EXPECT_EQ(base::File::FILE_OK, file.error()); 39 EXPECT_EQ(base::File::FILE_OK, file.error());
40 40
41 // This time verify closing the file. 41 // This time verify closing the file.
42 file.Close(); 42 file.Close();
43 EXPECT_FALSE(file.IsValid()); 43 EXPECT_FALSE(file.IsValid());
44 } 44 }
45 45
46 { 46 {
47 // Open an existing file through Initialize
48 File file;
49 file.Initialize(file_path, base::File::FLAG_OPEN | base::File::FLAG_READ);
50 EXPECT_TRUE(file.IsValid());
51 EXPECT_FALSE(file.created());
52 EXPECT_EQ(base::File::FILE_OK, file.error());
53
54 // This time verify closing the file.
55 file.Close();
56 EXPECT_FALSE(file.IsValid());
57 }
58
59 {
47 // Create a file that exists. 60 // Create a file that exists.
48 File file(file_path, base::File::FLAG_CREATE | base::File::FLAG_READ); 61 File file(file_path, base::File::FLAG_CREATE | base::File::FLAG_READ);
49 EXPECT_FALSE(file.IsValid()); 62 EXPECT_FALSE(file.IsValid());
50 EXPECT_FALSE(file.created()); 63 EXPECT_FALSE(file.created());
51 EXPECT_EQ(base::File::FILE_ERROR_EXISTS, file.error()); 64 EXPECT_EQ(base::File::FILE_ERROR_EXISTS, file.error());
52 } 65 }
53 66
54 { 67 {
55 // Create or overwrite a file. 68 // Create or overwrite a file.
56 File file(file_path, 69 File file(file_path,
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 int bytes_read = file.Read(0, data_read_1, 227 int bytes_read = file.Read(0, data_read_1,
215 kTestDataSize + kAppendDataSize); 228 kTestDataSize + kAppendDataSize);
216 EXPECT_EQ(kTestDataSize + kAppendDataSize, bytes_read); 229 EXPECT_EQ(kTestDataSize + kAppendDataSize, bytes_read);
217 for (int i = 0; i < kTestDataSize; i++) 230 for (int i = 0; i < kTestDataSize; i++)
218 EXPECT_EQ(data_to_write[i], data_read_1[i]); 231 EXPECT_EQ(data_to_write[i], data_read_1[i]);
219 for (int i = 0; i < kAppendDataSize; i++) 232 for (int i = 0; i < kAppendDataSize; i++)
220 EXPECT_EQ(append_data_to_write[i], data_read_1[kTestDataSize + i]); 233 EXPECT_EQ(append_data_to_write[i], data_read_1[kTestDataSize + i]);
221 } 234 }
222 235
223 236
224 TEST(File, Truncate) { 237 TEST(File, Length) {
225 base::ScopedTempDir temp_dir; 238 base::ScopedTempDir temp_dir;
226 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 239 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
227 FilePath file_path = temp_dir.path().AppendASCII("truncate_file"); 240 FilePath file_path = temp_dir.path().AppendASCII("truncate_file");
228 File file(file_path, 241 File file(file_path,
229 base::File::FLAG_CREATE | base::File::FLAG_READ | 242 base::File::FLAG_CREATE | base::File::FLAG_READ |
230 base::File::FLAG_WRITE); 243 base::File::FLAG_WRITE);
231 ASSERT_TRUE(file.IsValid()); 244 ASSERT_TRUE(file.IsValid());
245 EXPECT_EQ(0, file.GetLength());
232 246
233 // Write "test" to the file. 247 // Write "test" to the file.
234 char data_to_write[] = "test"; 248 char data_to_write[] = "test";
235 int kTestDataSize = 4; 249 int kTestDataSize = 4;
236 int bytes_written = file.Write(0, data_to_write, kTestDataSize); 250 int bytes_written = file.Write(0, data_to_write, kTestDataSize);
237 EXPECT_EQ(kTestDataSize, bytes_written); 251 EXPECT_EQ(kTestDataSize, bytes_written);
238 252
239 // Extend the file. 253 // Extend the file.
240 const int kExtendedFileLength = 10; 254 const int kExtendedFileLength = 10;
241 int64 file_size = 0; 255 int64 file_size = 0;
242 EXPECT_TRUE(file.Truncate(kExtendedFileLength)); 256 EXPECT_TRUE(file.SetLength(kExtendedFileLength));
257 EXPECT_EQ(kExtendedFileLength, file.GetLength());
243 EXPECT_TRUE(GetFileSize(file_path, &file_size)); 258 EXPECT_TRUE(GetFileSize(file_path, &file_size));
244 EXPECT_EQ(kExtendedFileLength, file_size); 259 EXPECT_EQ(kExtendedFileLength, file_size);
245 260
246 // Make sure the file was zero-padded. 261 // Make sure the file was zero-padded.
247 char data_read[32]; 262 char data_read[32];
248 int bytes_read = file.Read(0, data_read, static_cast<int>(file_size)); 263 int bytes_read = file.Read(0, data_read, static_cast<int>(file_size));
249 EXPECT_EQ(file_size, bytes_read); 264 EXPECT_EQ(file_size, bytes_read);
250 for (int i = 0; i < kTestDataSize; i++) 265 for (int i = 0; i < kTestDataSize; i++)
251 EXPECT_EQ(data_to_write[i], data_read[i]); 266 EXPECT_EQ(data_to_write[i], data_read[i]);
252 for (int i = kTestDataSize; i < file_size; i++) 267 for (int i = kTestDataSize; i < file_size; i++)
253 EXPECT_EQ(0, data_read[i]); 268 EXPECT_EQ(0, data_read[i]);
254 269
255 // Truncate the file. 270 // Truncate the file.
256 const int kTruncatedFileLength = 2; 271 const int kTruncatedFileLength = 2;
257 EXPECT_TRUE(file.Truncate(kTruncatedFileLength)); 272 EXPECT_TRUE(file.SetLength(kTruncatedFileLength));
273 EXPECT_EQ(kTruncatedFileLength, file.GetLength());
258 EXPECT_TRUE(GetFileSize(file_path, &file_size)); 274 EXPECT_TRUE(GetFileSize(file_path, &file_size));
259 EXPECT_EQ(kTruncatedFileLength, file_size); 275 EXPECT_EQ(kTruncatedFileLength, file_size);
260 276
261 // Make sure the file was truncated. 277 // Make sure the file was truncated.
262 bytes_read = file.Read(0, data_read, kTestDataSize); 278 bytes_read = file.Read(0, data_read, kTestDataSize);
263 EXPECT_EQ(file_size, bytes_read); 279 EXPECT_EQ(file_size, bytes_read);
264 for (int i = 0; i < file_size; i++) 280 for (int i = 0; i < file_size; i++)
265 EXPECT_EQ(data_to_write[i], data_read[i]); 281 EXPECT_EQ(data_to_write[i], data_read[i]);
266 } 282 }
267 283
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 367
352 char buffer[kDataSize]; 368 char buffer[kDataSize];
353 int first_chunk_size = kDataSize / 2; 369 int first_chunk_size = kDataSize / 2;
354 EXPECT_EQ(first_chunk_size, file.ReadAtCurrentPos(buffer, first_chunk_size)); 370 EXPECT_EQ(first_chunk_size, file.ReadAtCurrentPos(buffer, first_chunk_size));
355 EXPECT_EQ(kDataSize - first_chunk_size, 371 EXPECT_EQ(kDataSize - first_chunk_size,
356 file.ReadAtCurrentPos(buffer + first_chunk_size, 372 file.ReadAtCurrentPos(buffer + first_chunk_size,
357 kDataSize - first_chunk_size)); 373 kDataSize - first_chunk_size));
358 EXPECT_EQ(std::string(buffer, buffer + kDataSize), 374 EXPECT_EQ(std::string(buffer, buffer + kDataSize),
359 std::string(kData)); 375 std::string(kData));
360 } 376 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698