Chromium Code Reviews| Index: chrome_frame/test/policy_settings_unittest.cc |
| diff --git a/chrome_frame/test/policy_settings_unittest.cc b/chrome_frame/test/policy_settings_unittest.cc |
| index f3d5e120862e9b793244c19749110b81671113a4..b6578f7862f8fbdcb8a322977e4348801a619b5c 100644 |
| --- a/chrome_frame/test/policy_settings_unittest.cc |
| +++ b/chrome_frame/test/policy_settings_unittest.cc |
| @@ -11,6 +11,7 @@ |
| #include "base/win/registry.h" |
| #include "chrome_frame/policy_settings.h" |
| #include "chrome_frame/test/chrome_frame_test_utils.h" |
| +#include "content/public/common/content_switches.h" |
| #include "policy/policy_constants.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| @@ -88,16 +89,16 @@ bool SetCFContentTypes(HKEY policy_root, const wchar_t* content_types[], |
| return true; |
| } |
| -bool SetChromeApplicationLocale(HKEY policy_root, const wchar_t* locale) { |
| - RegKey policy_key; |
| - if (!InitializePolicyKey(policy_root, &policy_key)) |
| - return false; |
| - |
| - std::wstring application_locale_value( |
| - ASCIIToWide(policy::key::kApplicationLocaleValue)); |
| - EXPECT_EQ(ERROR_SUCCESS, |
| - policy_key.WriteValue(application_locale_value.c_str(), locale)); |
| - return true; |
| +bool SetCFPolicyString(HKEY policy_root, const char* policy_name, |
|
Mattias Nissler (ping if slow)
2012/03/26 11:04:41
nit: declare each parameter on separate line
tommi (sloooow) - chröme
2012/03/26 11:24:37
this is the convention in this file so if you don'
Mattias Nissler (ping if slow)
2012/03/26 11:40:55
I'd rather encourage you to fix the entire file, b
tommi (sloooow) - chröme
2012/03/26 11:48:18
Done.
|
| + const wchar_t* value) { |
| + RegKey policy_key; |
| + if (!InitializePolicyKey(policy_root, &policy_key)) |
| + return false; |
| + |
| + std::wstring policy_name_str(ASCIIToWide(policy_name)); |
| + EXPECT_EQ(ERROR_SUCCESS, |
| + policy_key.WriteValue(policy_name_str.c_str(), value)); |
| + return true; |
| } |
| } // end namespace |
| @@ -206,7 +207,8 @@ TEST_F(PolicySettingsTest, ApplicationLocale) { |
| HKEY root[] = { HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER }; |
| for (int i = 0; i < arraysize(root); ++i) { |
| - SetChromeApplicationLocale(root[i], kTestApplicationLocale); |
| + SetCFPolicyString(root[i], policy::key::kApplicationLocaleValue, |
| + kTestApplicationLocale); |
| ResetPolicySettings(); |
| EXPECT_EQ(std::wstring(kTestApplicationLocale), |
| PolicySettings::GetInstance()->ApplicationLocale()); |
| @@ -214,3 +216,33 @@ TEST_F(PolicySettingsTest, ApplicationLocale) { |
| DeleteChromeFramePolicyEntries(root[i]); |
| } |
| } |
| + |
| +TEST_F(PolicySettingsTest, AdditionalLaunchParameters) { |
| + EXPECT_TRUE(PolicySettings::GetInstance()-> |
| + AdditionalLaunchParameters().GetProgram().empty()); |
| + |
| + std::string test_switches("--"); |
| + test_switches += switches::kEnableMediaStream; |
| + test_switches += " --"; |
| + test_switches += switches::kEnableMediaSource; |
| + |
| + HKEY root[] = { HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER }; |
| + for (int i = 0; i < arraysize(root); ++i) { |
| + SetCFPolicyString(root[i], policy::key::kAdditionalLaunchParameters, |
| + ASCIIToWide(test_switches).c_str()); |
| + ResetPolicySettings(); |
| + const CommandLine& additional_params = |
| + PolicySettings::GetInstance()->AdditionalLaunchParameters(); |
| + EXPECT_TRUE(additional_params.HasSwitch(switches::kEnableMediaStream)); |
| + EXPECT_TRUE(additional_params.HasSwitch(switches::kEnableMediaSource)); |
| + |
| + FilePath program_path(FILE_PATH_LITERAL("my_chrome.exe")); |
| + CommandLine new_cmd_line(program_path); |
| + new_cmd_line.AppendArguments(additional_params, false); |
| + EXPECT_NE(new_cmd_line.GetProgram(), additional_params.GetProgram()); |
| + EXPECT_TRUE(new_cmd_line.HasSwitch(switches::kEnableMediaStream)); |
| + EXPECT_TRUE(new_cmd_line.HasSwitch(switches::kEnableMediaSource)); |
| + |
| + DeleteChromeFramePolicyEntries(root[i]); |
| + } |
| +} |