OLD | NEW |
1 // Copyright (c) 2008-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2008-2009 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 #import <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/mac_util.h" | 8 #include "base/mac_util.h" |
9 | 9 |
10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| 11 #include "base/file_util.h" |
11 #include "base/scoped_nsobject.h" | 12 #include "base/scoped_nsobject.h" |
12 #include "base/scoped_ptr.h" | 13 #include "base/scoped_ptr.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
14 #include "testing/platform_test.h" | 15 #include "testing/platform_test.h" |
15 | 16 |
16 typedef PlatformTest MacUtilTest; | 17 typedef PlatformTest MacUtilTest; |
17 | 18 |
18 TEST_F(MacUtilTest, TestFSRef) { | 19 TEST_F(MacUtilTest, TestFSRef) { |
19 FSRef ref; | 20 FSRef ref; |
20 std::string path("/System/Library"); | 21 std::string path("/System/Library"); |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 { "/Applications/Google Foo.app/bar/Foo Helper.app/quux/Foo Helper", | 95 { "/Applications/Google Foo.app/bar/Foo Helper.app/quux/Foo Helper", |
95 "/Applications/Google Foo.app" }, | 96 "/Applications/Google Foo.app" }, |
96 }; | 97 }; |
97 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(valid_inputs); i++) { | 98 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(valid_inputs); i++) { |
98 out = mac_util::GetAppBundlePath(FilePath(valid_inputs[i].in)); | 99 out = mac_util::GetAppBundlePath(FilePath(valid_inputs[i].in)); |
99 EXPECT_FALSE(out.empty()) << "loop: " << i; | 100 EXPECT_FALSE(out.empty()) << "loop: " << i; |
100 EXPECT_STREQ(valid_inputs[i].expected_out, | 101 EXPECT_STREQ(valid_inputs[i].expected_out, |
101 out.value().c_str()) << "loop: " << i; | 102 out.value().c_str()) << "loop: " << i; |
102 } | 103 } |
103 } | 104 } |
| 105 |
| 106 TEST_F(MacUtilTest, TestExcludeFileFromBackups) { |
| 107 NSString* homeDirectory = NSHomeDirectory(); |
| 108 NSString* dummyFilePath = |
| 109 [homeDirectory stringByAppendingPathComponent:@"DummyFile"]; |
| 110 const char* dummy_file_path = [dummyFilePath fileSystemRepresentation]; |
| 111 ASSERT_TRUE(dummy_file_path); |
| 112 FilePath file_path(dummy_file_path); |
| 113 // It is not actually necessary to have a physical file in order to |
| 114 // set its exclusion property. |
| 115 NSURL* fileURL = [NSURL URLWithString:dummyFilePath]; |
| 116 // Reset the exclusion in case it was set previously. |
| 117 mac_util::SetFileBackupExclusion(file_path, false); |
| 118 Boolean excludeByPath; |
| 119 // Initial state should be non-excluded. |
| 120 EXPECT_FALSE(CSBackupIsItemExcluded((CFURLRef)fileURL, &excludeByPath)); |
| 121 // Exclude the file. |
| 122 EXPECT_TRUE(mac_util::SetFileBackupExclusion(file_path, true)); |
| 123 EXPECT_TRUE(CSBackupIsItemExcluded((CFURLRef)fileURL, &excludeByPath)); |
| 124 // Un-exclude the file. |
| 125 EXPECT_TRUE(mac_util::SetFileBackupExclusion(file_path, false)); |
| 126 EXPECT_FALSE(CSBackupIsItemExcluded((CFURLRef)fileURL, &excludeByPath)); |
| 127 } |
OLD | NEW |