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]); |
+ } |
+} |