OLD | NEW |
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/files/file_util_proxy.h" | 5 #include "base/files/file_util_proxy.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 EXPECT_TRUE(ReadFileToString(path_, &data)); | 218 EXPECT_TRUE(ReadFileToString(path_, &data)); |
219 EXPECT_EQ("test", data); | 219 EXPECT_EQ("test", data); |
220 | 220 |
221 // Make sure we can & do delete the created file to prevent leaks on the bots. | 221 // Make sure we can & do delete the created file to prevent leaks on the bots. |
222 EXPECT_TRUE(base::DeleteFile(path_, false)); | 222 EXPECT_TRUE(base::DeleteFile(path_, false)); |
223 } | 223 } |
224 | 224 |
225 TEST_F(FileUtilProxyTest, GetFileInfo_File) { | 225 TEST_F(FileUtilProxyTest, GetFileInfo_File) { |
226 // Setup. | 226 // Setup. |
227 ASSERT_EQ(4, file_util::WriteFile(test_path(), "test", 4)); | 227 ASSERT_EQ(4, file_util::WriteFile(test_path(), "test", 4)); |
228 PlatformFileInfo expected_info; | 228 File::Info expected_info; |
229 GetFileInfo(test_path(), &expected_info); | 229 GetFileInfo(test_path(), &expected_info); |
230 | 230 |
231 // Run. | 231 // Run. |
232 FileUtilProxy::GetFileInfo( | 232 FileUtilProxy::GetFileInfo( |
233 file_task_runner(), | 233 file_task_runner(), |
234 test_path(), | 234 test_path(), |
235 Bind(&FileUtilProxyTest::DidGetFileInfo, weak_factory_.GetWeakPtr())); | 235 Bind(&FileUtilProxyTest::DidGetFileInfo, weak_factory_.GetWeakPtr())); |
236 MessageLoop::current()->Run(); | 236 MessageLoop::current()->Run(); |
237 | 237 |
238 // Verify. | 238 // Verify. |
239 EXPECT_EQ(PLATFORM_FILE_OK, error_); | 239 EXPECT_EQ(PLATFORM_FILE_OK, error_); |
240 EXPECT_EQ(expected_info.size, file_info_.size); | 240 EXPECT_EQ(expected_info.size, file_info_.size); |
241 EXPECT_EQ(expected_info.is_directory, file_info_.is_directory); | 241 EXPECT_EQ(expected_info.is_directory, file_info_.is_directory); |
242 EXPECT_EQ(expected_info.is_symbolic_link, file_info_.is_symbolic_link); | 242 EXPECT_EQ(expected_info.is_symbolic_link, file_info_.is_symbolic_link); |
243 EXPECT_EQ(expected_info.last_modified, file_info_.last_modified); | 243 EXPECT_EQ(expected_info.last_modified, file_info_.last_modified); |
244 EXPECT_EQ(expected_info.last_accessed, file_info_.last_accessed); | 244 EXPECT_EQ(expected_info.last_accessed, file_info_.last_accessed); |
245 EXPECT_EQ(expected_info.creation_time, file_info_.creation_time); | 245 EXPECT_EQ(expected_info.creation_time, file_info_.creation_time); |
246 } | 246 } |
247 | 247 |
248 TEST_F(FileUtilProxyTest, GetFileInfo_Directory) { | 248 TEST_F(FileUtilProxyTest, GetFileInfo_Directory) { |
249 // Setup. | 249 // Setup. |
250 ASSERT_TRUE(base::CreateDirectory(test_path())); | 250 ASSERT_TRUE(base::CreateDirectory(test_path())); |
251 PlatformFileInfo expected_info; | 251 File::Info expected_info; |
252 GetFileInfo(test_path(), &expected_info); | 252 GetFileInfo(test_path(), &expected_info); |
253 | 253 |
254 // Run. | 254 // Run. |
255 FileUtilProxy::GetFileInfo( | 255 FileUtilProxy::GetFileInfo( |
256 file_task_runner(), | 256 file_task_runner(), |
257 test_path(), | 257 test_path(), |
258 Bind(&FileUtilProxyTest::DidGetFileInfo, weak_factory_.GetWeakPtr())); | 258 Bind(&FileUtilProxyTest::DidGetFileInfo, weak_factory_.GetWeakPtr())); |
259 MessageLoop::current()->Run(); | 259 MessageLoop::current()->Run(); |
260 | 260 |
261 // Verify. | 261 // Verify. |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 file_task_runner(), | 334 file_task_runner(), |
335 GetTestPlatformFile(PLATFORM_FILE_CREATE | | 335 GetTestPlatformFile(PLATFORM_FILE_CREATE | |
336 PLATFORM_FILE_WRITE | | 336 PLATFORM_FILE_WRITE | |
337 PLATFORM_FILE_WRITE_ATTRIBUTES), | 337 PLATFORM_FILE_WRITE_ATTRIBUTES), |
338 last_accessed_time, | 338 last_accessed_time, |
339 last_modified_time, | 339 last_modified_time, |
340 Bind(&FileUtilProxyTest::DidFinish, weak_factory_.GetWeakPtr())); | 340 Bind(&FileUtilProxyTest::DidFinish, weak_factory_.GetWeakPtr())); |
341 MessageLoop::current()->Run(); | 341 MessageLoop::current()->Run(); |
342 EXPECT_EQ(PLATFORM_FILE_OK, error_); | 342 EXPECT_EQ(PLATFORM_FILE_OK, error_); |
343 | 343 |
344 PlatformFileInfo info; | 344 File::Info info; |
345 GetFileInfo(test_path(), &info); | 345 GetFileInfo(test_path(), &info); |
346 | 346 |
347 // The returned values may only have the seconds precision, so we cast | 347 // The returned values may only have the seconds precision, so we cast |
348 // the double values to int here. | 348 // the double values to int here. |
349 EXPECT_EQ(static_cast<int>(last_modified_time.ToDoubleT()), | 349 EXPECT_EQ(static_cast<int>(last_modified_time.ToDoubleT()), |
350 static_cast<int>(info.last_modified.ToDoubleT())); | 350 static_cast<int>(info.last_modified.ToDoubleT())); |
351 EXPECT_EQ(static_cast<int>(last_accessed_time.ToDoubleT()), | 351 EXPECT_EQ(static_cast<int>(last_accessed_time.ToDoubleT()), |
352 static_cast<int>(info.last_accessed.ToDoubleT())); | 352 static_cast<int>(info.last_accessed.ToDoubleT())); |
353 } | 353 } |
354 | 354 |
355 TEST_F(FileUtilProxyTest, Truncate_Shrink) { | 355 TEST_F(FileUtilProxyTest, Truncate_Shrink) { |
356 // Setup. | 356 // Setup. |
357 const char kTestData[] = "0123456789"; | 357 const char kTestData[] = "0123456789"; |
358 ASSERT_EQ(10, file_util::WriteFile(test_path(), kTestData, 10)); | 358 ASSERT_EQ(10, file_util::WriteFile(test_path(), kTestData, 10)); |
359 PlatformFileInfo info; | 359 File::Info info; |
360 GetFileInfo(test_path(), &info); | 360 GetFileInfo(test_path(), &info); |
361 ASSERT_EQ(10, info.size); | 361 ASSERT_EQ(10, info.size); |
362 | 362 |
363 // Run. | 363 // Run. |
364 FileUtilProxy::Truncate( | 364 FileUtilProxy::Truncate( |
365 file_task_runner(), | 365 file_task_runner(), |
366 GetTestPlatformFile(PLATFORM_FILE_OPEN | PLATFORM_FILE_WRITE), | 366 GetTestPlatformFile(PLATFORM_FILE_OPEN | PLATFORM_FILE_WRITE), |
367 7, | 367 7, |
368 Bind(&FileUtilProxyTest::DidFinish, weak_factory_.GetWeakPtr())); | 368 Bind(&FileUtilProxyTest::DidFinish, weak_factory_.GetWeakPtr())); |
369 MessageLoop::current()->Run(); | 369 MessageLoop::current()->Run(); |
370 | 370 |
371 // Verify. | 371 // Verify. |
372 GetFileInfo(test_path(), &info); | 372 GetFileInfo(test_path(), &info); |
373 ASSERT_EQ(7, info.size); | 373 ASSERT_EQ(7, info.size); |
374 | 374 |
375 char buffer[7]; | 375 char buffer[7]; |
376 EXPECT_EQ(7, base::ReadFile(test_path(), buffer, 7)); | 376 EXPECT_EQ(7, base::ReadFile(test_path(), buffer, 7)); |
377 int i = 0; | 377 int i = 0; |
378 for (; i < 7; ++i) | 378 for (; i < 7; ++i) |
379 EXPECT_EQ(kTestData[i], buffer[i]); | 379 EXPECT_EQ(kTestData[i], buffer[i]); |
380 } | 380 } |
381 | 381 |
382 TEST_F(FileUtilProxyTest, Truncate_Expand) { | 382 TEST_F(FileUtilProxyTest, Truncate_Expand) { |
383 // Setup. | 383 // Setup. |
384 const char kTestData[] = "9876543210"; | 384 const char kTestData[] = "9876543210"; |
385 ASSERT_EQ(10, file_util::WriteFile(test_path(), kTestData, 10)); | 385 ASSERT_EQ(10, file_util::WriteFile(test_path(), kTestData, 10)); |
386 PlatformFileInfo info; | 386 File::Info info; |
387 GetFileInfo(test_path(), &info); | 387 GetFileInfo(test_path(), &info); |
388 ASSERT_EQ(10, info.size); | 388 ASSERT_EQ(10, info.size); |
389 | 389 |
390 // Run. | 390 // Run. |
391 FileUtilProxy::Truncate( | 391 FileUtilProxy::Truncate( |
392 file_task_runner(), | 392 file_task_runner(), |
393 GetTestPlatformFile(PLATFORM_FILE_OPEN | PLATFORM_FILE_WRITE), | 393 GetTestPlatformFile(PLATFORM_FILE_OPEN | PLATFORM_FILE_WRITE), |
394 53, | 394 53, |
395 Bind(&FileUtilProxyTest::DidFinish, weak_factory_.GetWeakPtr())); | 395 Bind(&FileUtilProxyTest::DidFinish, weak_factory_.GetWeakPtr())); |
396 MessageLoop::current()->Run(); | 396 MessageLoop::current()->Run(); |
397 | 397 |
398 // Verify. | 398 // Verify. |
399 GetFileInfo(test_path(), &info); | 399 GetFileInfo(test_path(), &info); |
400 ASSERT_EQ(53, info.size); | 400 ASSERT_EQ(53, info.size); |
401 | 401 |
402 char buffer[53]; | 402 char buffer[53]; |
403 EXPECT_EQ(53, base::ReadFile(test_path(), buffer, 53)); | 403 EXPECT_EQ(53, base::ReadFile(test_path(), buffer, 53)); |
404 int i = 0; | 404 int i = 0; |
405 for (; i < 10; ++i) | 405 for (; i < 10; ++i) |
406 EXPECT_EQ(kTestData[i], buffer[i]); | 406 EXPECT_EQ(kTestData[i], buffer[i]); |
407 for (; i < 53; ++i) | 407 for (; i < 53; ++i) |
408 EXPECT_EQ(0, buffer[i]); | 408 EXPECT_EQ(0, buffer[i]); |
409 } | 409 } |
410 | 410 |
411 } // namespace base | 411 } // namespace base |
OLD | NEW |