| 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_path_watcher.h" | 5 #include "base/files/file_path_watcher.h" |
| 6 | 6 |
| 7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
| 8 #include <windows.h> | 8 #include <windows.h> |
| 9 #include <aclapi.h> | 9 #include <aclapi.h> |
| 10 #elif defined(OS_POSIX) | 10 #elif defined(OS_POSIX) |
| (...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 521 // Create "$dir/subdir/subdir_child_dir/child_dir_file1". | 521 // Create "$dir/subdir/subdir_child_dir/child_dir_file1". |
| 522 FilePath child_dir_file1(subdir_child_dir.AppendASCII("child_dir_file1")); | 522 FilePath child_dir_file1(subdir_child_dir.AppendASCII("child_dir_file1")); |
| 523 ASSERT_TRUE(WriteFile(child_dir_file1, "content v2")); | 523 ASSERT_TRUE(WriteFile(child_dir_file1, "content v2")); |
| 524 ASSERT_TRUE(WaitForEvents()); | 524 ASSERT_TRUE(WaitForEvents()); |
| 525 | 525 |
| 526 // Write into "$dir/subdir/subdir_child_dir/child_dir_file1". | 526 // Write into "$dir/subdir/subdir_child_dir/child_dir_file1". |
| 527 ASSERT_TRUE(WriteFile(child_dir_file1, "content")); | 527 ASSERT_TRUE(WriteFile(child_dir_file1, "content")); |
| 528 ASSERT_TRUE(WaitForEvents()); | 528 ASSERT_TRUE(WaitForEvents()); |
| 529 | 529 |
| 530 // Modify "$dir/subdir/subdir_child_dir/child_dir_file1" attributes. | 530 // Modify "$dir/subdir/subdir_child_dir/child_dir_file1" attributes. |
| 531 ASSERT_TRUE(file_util::MakeFileUnreadable(child_dir_file1)); | 531 ASSERT_TRUE(base::MakeFileUnreadable(child_dir_file1)); |
| 532 ASSERT_TRUE(WaitForEvents()); | 532 ASSERT_TRUE(WaitForEvents()); |
| 533 | 533 |
| 534 // Delete "$dir/subdir/subdir_file1". | 534 // Delete "$dir/subdir/subdir_file1". |
| 535 ASSERT_TRUE(base::DeleteFile(subdir_file1, false)); | 535 ASSERT_TRUE(base::DeleteFile(subdir_file1, false)); |
| 536 ASSERT_TRUE(WaitForEvents()); | 536 ASSERT_TRUE(WaitForEvents()); |
| 537 | 537 |
| 538 // Delete "$dir/subdir/subdir_child_dir/child_dir_file1". | 538 // Delete "$dir/subdir/subdir_child_dir/child_dir_file1". |
| 539 ASSERT_TRUE(base::DeleteFile(child_dir_file1, false)); | 539 ASSERT_TRUE(base::DeleteFile(child_dir_file1, false)); |
| 540 ASSERT_TRUE(WaitForEvents()); | 540 ASSERT_TRUE(WaitForEvents()); |
| 541 DeleteDelegateOnFileThread(delegate.release()); | 541 DeleteDelegateOnFileThread(delegate.release()); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 } | 611 } |
| 612 | 612 |
| 613 // Verify that changing attributes on a file is caught | 613 // Verify that changing attributes on a file is caught |
| 614 TEST_F(FilePathWatcherTest, FileAttributesChanged) { | 614 TEST_F(FilePathWatcherTest, FileAttributesChanged) { |
| 615 ASSERT_TRUE(WriteFile(test_file(), "content")); | 615 ASSERT_TRUE(WriteFile(test_file(), "content")); |
| 616 FilePathWatcher watcher; | 616 FilePathWatcher watcher; |
| 617 scoped_ptr<TestDelegate> delegate(new TestDelegate(collector())); | 617 scoped_ptr<TestDelegate> delegate(new TestDelegate(collector())); |
| 618 ASSERT_TRUE(SetupWatch(test_file(), &watcher, delegate.get(), false)); | 618 ASSERT_TRUE(SetupWatch(test_file(), &watcher, delegate.get(), false)); |
| 619 | 619 |
| 620 // Now make sure we get notified if the file is modified. | 620 // Now make sure we get notified if the file is modified. |
| 621 ASSERT_TRUE(file_util::MakeFileUnreadable(test_file())); | 621 ASSERT_TRUE(base::MakeFileUnreadable(test_file())); |
| 622 ASSERT_TRUE(WaitForEvents()); | 622 ASSERT_TRUE(WaitForEvents()); |
| 623 DeleteDelegateOnFileThread(delegate.release()); | 623 DeleteDelegateOnFileThread(delegate.release()); |
| 624 } | 624 } |
| 625 | 625 |
| 626 #if defined(OS_LINUX) | 626 #if defined(OS_LINUX) |
| 627 | 627 |
| 628 // Verify that creating a symlink is caught. | 628 // Verify that creating a symlink is caught. |
| 629 TEST_F(FilePathWatcherTest, CreateLink) { | 629 TEST_F(FilePathWatcherTest, CreateLink) { |
| 630 FilePathWatcher watcher; | 630 FilePathWatcher watcher; |
| 631 scoped_ptr<TestDelegate> delegate(new TestDelegate(collector())); | 631 scoped_ptr<TestDelegate> delegate(new TestDelegate(collector())); |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 863 ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, false)); | 863 ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, false)); |
| 864 ASSERT_TRUE(WaitForEvents()); | 864 ASSERT_TRUE(WaitForEvents()); |
| 865 ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, true)); | 865 ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, true)); |
| 866 DeleteDelegateOnFileThread(delegate.release()); | 866 DeleteDelegateOnFileThread(delegate.release()); |
| 867 } | 867 } |
| 868 | 868 |
| 869 #endif // OS_MACOSX | 869 #endif // OS_MACOSX |
| 870 } // namespace | 870 } // namespace |
| 871 | 871 |
| 872 } // namespace base | 872 } // namespace base |
| OLD | NEW |