Chromium Code Reviews| Index: base/path_service_unittest.cc | 
| diff --git a/base/path_service_unittest.cc b/base/path_service_unittest.cc | 
| index d3110f929c139505245136d1068b1aaded57e0a6..eef334bda539edb2fcf4ea979cf14a3f6707f92d 100644 | 
| --- a/base/path_service_unittest.cc | 
| +++ b/base/path_service_unittest.cc | 
| @@ -28,32 +28,41 @@ namespace { | 
| bool ReturnsValidPath(int dir_type) { | 
| FilePath path; | 
| bool result = PathService::Get(dir_type, &path); | 
| + // Some paths might not exist on some platforms in which case confirming | 
| + // |result| is true and !path.empty() is the best we can do. | 
| + bool check_path_exists = true; | 
| #if defined(OS_POSIX) | 
| // If chromium has never been started on this account, the cache path may not | 
| // exist. | 
| if (dir_type == base::DIR_CACHE) | 
| - return result && !path.empty(); | 
| + check_path_exists = false; | 
| #endif | 
| #if defined(OS_LINUX) | 
| // On the linux try-bots: a path is returned (e.g. /home/chrome-bot/Desktop), | 
| // but it doesn't exist. | 
| if (dir_type == base::DIR_USER_DESKTOP) | 
| - return result && !path.empty(); | 
| + check_path_exists = false; | 
| #endif | 
| #if defined(OS_WIN) | 
| - // On Windows XP, the Quick Launch folder for the "Default User" doesn't exist | 
| - // by default. At least confirm that the path returned begins with the | 
| - // Default User's profile path. | 
| - if (dir_type == base::DIR_DEFAULT_USER_QUICK_LAUNCH && | 
| - base::win::GetVersion() < base::win::VERSION_VISTA) { | 
| - wchar_t default_profile_path[MAX_PATH]; | 
| - DWORD size = arraysize(default_profile_path); | 
| - return (result && | 
| - ::GetDefaultUserProfileDirectory(default_profile_path, &size) && | 
| - StartsWith(path.value(), default_profile_path, false)); | 
| + if (dir_type == base::DIR_DEFAULT_USER_QUICK_LAUNCH) { | 
| + // On Windows XP, the Quick Launch folder for the "Default User" doesn't | 
| + // exist by default. At least confirm that the path returned begins with the | 
| + // Default User's profile path. | 
| + if (base::win::GetVersion() < base::win::VERSION_VISTA) { | 
| + wchar_t default_profile_path[MAX_PATH]; | 
| + DWORD size = arraysize(default_profile_path); | 
| + return (result && | 
| + ::GetDefaultUserProfileDirectory(default_profile_path, &size) && | 
| + StartsWith(path.value(), default_profile_path, false)); | 
| + } | 
| + } else if (dir_type == base::DIR_TASKBAR_PINS) { | 
| + // There is no pinned-to-taskbar shortcuts prior to Win7. | 
| + if(base::win::GetVersion() < base::win::VERSION_WIN7) | 
| + check_path_exists = false; | 
| } | 
| #endif | 
| - return result && !path.empty() && file_util::PathExists(path); | 
| + return result && !path.empty() && (!check_path_exists || | 
| + file_util::PathExists(path)); | 
| 
 
robertshield
2012/11/06 14:31:46
nice :)
 
 | 
| } | 
| #if defined(OS_WIN) |