| Index: chrome/browser/policy/policy_path_parser_unittest.cc
|
| diff --git a/chrome/browser/policy/policy_path_parser_unittest.cc b/chrome/browser/policy/policy_path_parser_unittest.cc
|
| index 633ef785d9c7ce3e082027a7401fdacde3c254dd..8fec18957de5df41b9d71c8e322a548c87ff4565 100644
|
| --- a/chrome/browser/policy/policy_path_parser_unittest.cc
|
| +++ b/chrome/browser/policy/policy_path_parser_unittest.cc
|
| @@ -20,13 +20,41 @@ class PolicyPathParserTests : public testing::Test {
|
| }
|
| };
|
|
|
| -#if defined(OS_MACOSX)
|
| -// http://crbug.com/327520
|
| -#define MAYBE_AllPlatformVariables DISABLED_AllPlatformVariables
|
| -#else
|
| -#define MAYBE_AllPlatformVariables AllPlatformVariables
|
| -#endif
|
| -TEST_F(PolicyPathParserTests, MAYBE_AllPlatformVariables) {
|
| +namespace path_parser {
|
| +
|
| +// The test needs access to a routine that is not exposed via the public header.
|
| +void ReplaceVariableInPathWithValue(
|
| + const base::FilePath::StringType& variable,
|
| + const policy::path_parser::internal::GetValueFuncPtr& value_func_ptr,
|
| + base::FilePath::StringType* path);
|
| +
|
| +} // namespace path_parser;
|
| +
|
| +bool GetBuggy(base::FilePath::StringType* value) {
|
| + *value = base::FilePath::StringType(FILE_PATH_LITERAL("ok"));
|
| + return true;
|
| +}
|
| +
|
| +TEST_F(PolicyPathParserTests, ReplaceVariableInPathWithValue) {
|
| + // This is custom variable with custom callback. It should replace ${buggy}
|
| + // with ok.
|
| + base::FilePath::StringType custom_vars(FILE_PATH_LITERAL("//$C/${buggy}"));
|
| + base::FilePath::StringType custom_vars_expected(FILE_PATH_LITERAL("//$C/ok"));
|
| + base::FilePath::StringType buggy(FILE_PATH_LITERAL("${buggy}"));
|
| +
|
| + path_parser::ReplaceVariableInPathWithValue(buggy, &GetBuggy, &custom_vars);
|
| + ASSERT_EQ(custom_vars, custom_vars_expected);
|
| +
|
| + // There is no ${buggy} in input, so it should remain unchanged.
|
| + base::FilePath::StringType custom2_vars(FILE_PATH_LITERAL("//$C/ok"));
|
| + base::FilePath::StringType custom2_vars_expected(
|
| + FILE_PATH_LITERAL("//$C/ok"));
|
| +
|
| + path_parser::ReplaceVariableInPathWithValue(buggy, &GetBuggy, &custom2_vars);
|
| + ASSERT_EQ(custom2_vars, custom2_vars_expected);
|
| +}
|
| +
|
| +TEST_F(PolicyPathParserTests, CommonExpandPathVariables) {
|
| // No vars whatsoever no substitution should occur.
|
| base::FilePath::StringType no_vars(FILE_PATH_LITERAL("//$C/shares"));
|
| base::FilePath::StringType no_vars_result =
|
| @@ -50,7 +78,15 @@ TEST_F(PolicyPathParserTests, MAYBE_AllPlatformVariables) {
|
| ASSERT_EQ(quotes_result, no_quotes);
|
| quotes_result = path_parser::ExpandPathVariables(double_quotes);
|
| ASSERT_EQ(quotes_result, no_quotes);
|
| +}
|
|
|
| +#if defined(OS_MACOSX)
|
| +// http://crbug.com/327520
|
| +#define MAYBE_AllPlatformVariables DISABLED_AllPlatformVariables
|
| +#else
|
| +#define MAYBE_AllPlatformVariables AllPlatformVariables
|
| +#endif
|
| +TEST_F(PolicyPathParserTests, MAYBE_AllPlatformVariables) {
|
| // Both should have been substituted.
|
| base::FilePath::StringType vars(
|
| FILE_PATH_LITERAL("${user_name}${machine_name}"));
|
|
|