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 <set> | 5 #include <set> |
6 #include <string> | 6 #include <string> |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 itr != file_list.end(); ++itr) | 91 itr != file_list.end(); ++itr) |
92 EXPECT_TRUE(content->insert(itr->name).second); | 92 EXPECT_TRUE(content->insert(itr->name).second); |
93 } | 93 } |
94 | 94 |
95 void PopulateDirectoryWithTestCases(const base::FilePath& dir, | 95 void PopulateDirectoryWithTestCases(const base::FilePath& dir, |
96 const FilteringTestCase* test_cases, | 96 const FilteringTestCase* test_cases, |
97 size_t n) { | 97 size_t n) { |
98 for (size_t i = 0; i < n; ++i) { | 98 for (size_t i = 0; i < n; ++i) { |
99 base::FilePath path = dir.Append(test_cases[i].path); | 99 base::FilePath path = dir.Append(test_cases[i].path); |
100 if (test_cases[i].is_directory) { | 100 if (test_cases[i].is_directory) { |
101 ASSERT_TRUE(file_util::CreateDirectory(path)); | 101 ASSERT_TRUE(base::CreateDirectory(path)); |
102 } else { | 102 } else { |
103 ASSERT_TRUE(test_cases[i].content != NULL); | 103 ASSERT_TRUE(test_cases[i].content != NULL); |
104 int len = strlen(test_cases[i].content); | 104 int len = strlen(test_cases[i].content); |
105 ASSERT_EQ(len, file_util::WriteFile(path, test_cases[i].content, len)); | 105 ASSERT_EQ(len, file_util::WriteFile(path, test_cases[i].content, len)); |
106 } | 106 } |
107 } | 107 } |
108 } | 108 } |
109 | 109 |
110 } // namespace | 110 } // namespace |
111 | 111 |
112 class NativeMediaFileUtilTest : public testing::Test { | 112 class NativeMediaFileUtilTest : public testing::Test { |
113 public: | 113 public: |
114 NativeMediaFileUtilTest() | 114 NativeMediaFileUtilTest() |
115 : io_thread_(content::BrowserThread::IO, &message_loop_) { | 115 : io_thread_(content::BrowserThread::IO, &message_loop_) { |
116 } | 116 } |
117 | 117 |
118 virtual void SetUp() { | 118 virtual void SetUp() { |
119 ASSERT_TRUE(data_dir_.CreateUniqueTempDir()); | 119 ASSERT_TRUE(data_dir_.CreateUniqueTempDir()); |
120 ASSERT_TRUE(file_util::CreateDirectory(root_path())); | 120 ASSERT_TRUE(base::CreateDirectory(root_path())); |
121 | 121 |
122 scoped_refptr<quota::SpecialStoragePolicy> storage_policy = | 122 scoped_refptr<quota::SpecialStoragePolicy> storage_policy = |
123 new quota::MockSpecialStoragePolicy(); | 123 new quota::MockSpecialStoragePolicy(); |
124 | 124 |
125 ScopedVector<fileapi::FileSystemBackend> additional_providers; | 125 ScopedVector<fileapi::FileSystemBackend> additional_providers; |
126 additional_providers.push_back(new MediaFileSystemBackend( | 126 additional_providers.push_back(new MediaFileSystemBackend( |
127 data_dir_.path(), base::MessageLoopProxy::current().get())); | 127 data_dir_.path(), base::MessageLoopProxy::current().get())); |
128 | 128 |
129 file_system_context_ = new fileapi::FileSystemContext( | 129 file_system_context_ = new fileapi::FileSystemContext( |
130 base::MessageLoopProxy::current().get(), | 130 base::MessageLoopProxy::current().get(), |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 for (int loop_count = 0; loop_count < 2; ++loop_count) { | 280 for (int loop_count = 0; loop_count < 2; ++loop_count) { |
281 if (loop_count == 1) { | 281 if (loop_count == 1) { |
282 PopulateDirectoryWithTestCases(root_path(), | 282 PopulateDirectoryWithTestCases(root_path(), |
283 kFilteringTestCases, | 283 kFilteringTestCases, |
284 arraysize(kFilteringTestCases)); | 284 arraysize(kFilteringTestCases)); |
285 } | 285 } |
286 for (size_t i = 0; i < arraysize(kFilteringTestCases); ++i) { | 286 for (size_t i = 0; i < arraysize(kFilteringTestCases); ++i) { |
287 // Always start with an empty destination directory. | 287 // Always start with an empty destination directory. |
288 // Copying to a non-empty destination directory is an invalid operation. | 288 // Copying to a non-empty destination directory is an invalid operation. |
289 ASSERT_TRUE(base::DeleteFile(dest_path, true)); | 289 ASSERT_TRUE(base::DeleteFile(dest_path, true)); |
290 ASSERT_TRUE(file_util::CreateDirectory(dest_path)); | 290 ASSERT_TRUE(base::CreateDirectory(dest_path)); |
291 | 291 |
292 FileSystemURL root_url = CreateURL(FPL("")); | 292 FileSystemURL root_url = CreateURL(FPL("")); |
293 FileSystemURL url = CreateURL(kFilteringTestCases[i].path); | 293 FileSystemURL url = CreateURL(kFilteringTestCases[i].path); |
294 | 294 |
295 std::string test_name = base::StringPrintf( | 295 std::string test_name = base::StringPrintf( |
296 "CopySourceFiltering run %d test %" PRIuS, loop_count, i); | 296 "CopySourceFiltering run %d test %" PRIuS, loop_count, i); |
297 base::PlatformFileError expectation = base::PLATFORM_FILE_OK; | 297 base::PlatformFileError expectation = base::PLATFORM_FILE_OK; |
298 if (loop_count == 0 || !kFilteringTestCases[i].visible) { | 298 if (loop_count == 0 || !kFilteringTestCases[i].visible) { |
299 // If the source does not exist or is not visible. | 299 // If the source does not exist or is not visible. |
300 expectation = base::PLATFORM_FILE_ERROR_NOT_FOUND; | 300 expectation = base::PLATFORM_FILE_ERROR_NOT_FOUND; |
(...skipping 12 matching lines...) Expand all Loading... |
313 } | 313 } |
314 | 314 |
315 TEST_F(NativeMediaFileUtilTest, CopyDestFiltering) { | 315 TEST_F(NativeMediaFileUtilTest, CopyDestFiltering) { |
316 // Run the loop twice. The first run has no destination files. | 316 // Run the loop twice. The first run has no destination files. |
317 // The second run does. | 317 // The second run does. |
318 for (int loop_count = 0; loop_count < 2; ++loop_count) { | 318 for (int loop_count = 0; loop_count < 2; ++loop_count) { |
319 if (loop_count == 1) { | 319 if (loop_count == 1) { |
320 // Reset the test directory between the two loops to remove old | 320 // Reset the test directory between the two loops to remove old |
321 // directories and create new ones that should pre-exist. | 321 // directories and create new ones that should pre-exist. |
322 ASSERT_TRUE(base::DeleteFile(root_path(), true)); | 322 ASSERT_TRUE(base::DeleteFile(root_path(), true)); |
323 ASSERT_TRUE(file_util::CreateDirectory(root_path())); | 323 ASSERT_TRUE(base::CreateDirectory(root_path())); |
324 PopulateDirectoryWithTestCases(root_path(), | 324 PopulateDirectoryWithTestCases(root_path(), |
325 kFilteringTestCases, | 325 kFilteringTestCases, |
326 arraysize(kFilteringTestCases)); | 326 arraysize(kFilteringTestCases)); |
327 } | 327 } |
328 | 328 |
329 // Always create a dummy source data file. | 329 // Always create a dummy source data file. |
330 base::FilePath src_path = root_path().AppendASCII("foo.jpg"); | 330 base::FilePath src_path = root_path().AppendASCII("foo.jpg"); |
331 FileSystemURL src_url = CreateURL(FPL("foo.jpg")); | 331 FileSystemURL src_url = CreateURL(FPL("foo.jpg")); |
332 static const char kDummyData[] = "dummy"; | 332 static const char kDummyData[] = "dummy"; |
333 ASSERT_TRUE(file_util::WriteFile(src_path, kDummyData, strlen(kDummyData))); | 333 ASSERT_TRUE(file_util::WriteFile(src_path, kDummyData, strlen(kDummyData))); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 for (int loop_count = 0; loop_count < 2; ++loop_count) { | 385 for (int loop_count = 0; loop_count < 2; ++loop_count) { |
386 if (loop_count == 1) { | 386 if (loop_count == 1) { |
387 PopulateDirectoryWithTestCases(root_path(), | 387 PopulateDirectoryWithTestCases(root_path(), |
388 kFilteringTestCases, | 388 kFilteringTestCases, |
389 arraysize(kFilteringTestCases)); | 389 arraysize(kFilteringTestCases)); |
390 } | 390 } |
391 for (size_t i = 0; i < arraysize(kFilteringTestCases); ++i) { | 391 for (size_t i = 0; i < arraysize(kFilteringTestCases); ++i) { |
392 // Always start with an empty destination directory. | 392 // Always start with an empty destination directory. |
393 // Moving to a non-empty destination directory is an invalid operation. | 393 // Moving to a non-empty destination directory is an invalid operation. |
394 ASSERT_TRUE(base::DeleteFile(dest_path, true)); | 394 ASSERT_TRUE(base::DeleteFile(dest_path, true)); |
395 ASSERT_TRUE(file_util::CreateDirectory(dest_path)); | 395 ASSERT_TRUE(base::CreateDirectory(dest_path)); |
396 | 396 |
397 FileSystemURL root_url = CreateURL(FPL("")); | 397 FileSystemURL root_url = CreateURL(FPL("")); |
398 FileSystemURL url = CreateURL(kFilteringTestCases[i].path); | 398 FileSystemURL url = CreateURL(kFilteringTestCases[i].path); |
399 | 399 |
400 std::string test_name = base::StringPrintf( | 400 std::string test_name = base::StringPrintf( |
401 "MoveSourceFiltering run %d test %" PRIuS, loop_count, i); | 401 "MoveSourceFiltering run %d test %" PRIuS, loop_count, i); |
402 base::PlatformFileError expectation = base::PLATFORM_FILE_OK; | 402 base::PlatformFileError expectation = base::PLATFORM_FILE_OK; |
403 if (loop_count == 0 || !kFilteringTestCases[i].visible) { | 403 if (loop_count == 0 || !kFilteringTestCases[i].visible) { |
404 // If the source does not exist or is not visible. | 404 // If the source does not exist or is not visible. |
405 expectation = base::PLATFORM_FILE_ERROR_NOT_FOUND; | 405 expectation = base::PLATFORM_FILE_ERROR_NOT_FOUND; |
(...skipping 10 matching lines...) Expand all Loading... |
416 } | 416 } |
417 | 417 |
418 TEST_F(NativeMediaFileUtilTest, MoveDestFiltering) { | 418 TEST_F(NativeMediaFileUtilTest, MoveDestFiltering) { |
419 // Run the loop twice. The first run has no destination files. | 419 // Run the loop twice. The first run has no destination files. |
420 // The second run does. | 420 // The second run does. |
421 for (int loop_count = 0; loop_count < 2; ++loop_count) { | 421 for (int loop_count = 0; loop_count < 2; ++loop_count) { |
422 if (loop_count == 1) { | 422 if (loop_count == 1) { |
423 // Reset the test directory between the two loops to remove old | 423 // Reset the test directory between the two loops to remove old |
424 // directories and create new ones that should pre-exist. | 424 // directories and create new ones that should pre-exist. |
425 ASSERT_TRUE(base::DeleteFile(root_path(), true)); | 425 ASSERT_TRUE(base::DeleteFile(root_path(), true)); |
426 ASSERT_TRUE(file_util::CreateDirectory(root_path())); | 426 ASSERT_TRUE(base::CreateDirectory(root_path())); |
427 PopulateDirectoryWithTestCases(root_path(), | 427 PopulateDirectoryWithTestCases(root_path(), |
428 kFilteringTestCases, | 428 kFilteringTestCases, |
429 arraysize(kFilteringTestCases)); | 429 arraysize(kFilteringTestCases)); |
430 } | 430 } |
431 | 431 |
432 for (size_t i = 0; i < arraysize(kFilteringTestCases); ++i) { | 432 for (size_t i = 0; i < arraysize(kFilteringTestCases); ++i) { |
433 if (loop_count == 0 && kFilteringTestCases[i].is_directory) { | 433 if (loop_count == 0 && kFilteringTestCases[i].is_directory) { |
434 // These directories do not exist in this case, so Copy() will not | 434 // These directories do not exist in this case, so Copy() will not |
435 // treat them as directories. Thus invalidating these test cases. | 435 // treat them as directories. Thus invalidating these test cases. |
436 continue; | 436 continue; |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
561 expected_error = base::PLATFORM_FILE_OK; | 561 expected_error = base::PLATFORM_FILE_OK; |
562 else | 562 else |
563 expected_error = base::PLATFORM_FILE_ERROR_SECURITY; | 563 expected_error = base::PLATFORM_FILE_ERROR_SECURITY; |
564 error = base::PLATFORM_FILE_ERROR_FAILED; | 564 error = base::PLATFORM_FILE_ERROR_FAILED; |
565 operation_runner()->CreateSnapshotFile(url, | 565 operation_runner()->CreateSnapshotFile(url, |
566 base::Bind(CreateSnapshotCallback, &error)); | 566 base::Bind(CreateSnapshotCallback, &error)); |
567 base::MessageLoop::current()->RunUntilIdle(); | 567 base::MessageLoop::current()->RunUntilIdle(); |
568 ASSERT_EQ(expected_error, error); | 568 ASSERT_EQ(expected_error, error); |
569 } | 569 } |
570 } | 570 } |
OLD | NEW |