Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8230)

Unified Diff: chrome_frame/test/policy_settings_unittest.cc

Issue 9836037: Adding policy support to Chrome Frame's launcher so that additional parameters can be passed to Chr… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Handle XP as well and add tests Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« chrome_frame/policy_settings.cc ('K') | « chrome_frame/policy_settings.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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]);
+ }
+}
« chrome_frame/policy_settings.cc ('K') | « chrome_frame/policy_settings.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698