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

Unified Diff: chrome/browser/chromeos/login/login_screen_policy_browsertest.cc

Issue 2816543004: Login screen IME policy does not apply in user session (Closed)
Patch Set: Addressed comments, fixed browser_tests for real. Created 3 years, 8 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
« no previous file with comments | « no previous file | chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/login/login_screen_policy_browsertest.cc
diff --git a/chrome/browser/chromeos/login/login_screen_policy_browsertest.cc b/chrome/browser/chromeos/login/login_screen_policy_browsertest.cc
index 5d0d29c0afd3535406c75e5174fd904311c67575..caf1ce5079e9e11fbf8c5158076424c580e0ec1f 100644
--- a/chrome/browser/chromeos/login/login_screen_policy_browsertest.cc
+++ b/chrome/browser/chromeos/login/login_screen_policy_browsertest.cc
@@ -6,7 +6,10 @@
#include "base/memory/ref_counted.h"
#include "base/threading/thread_task_runner_handle.h"
#include "chrome/browser/browser_process.h"
+#include "chrome/browser/chromeos/login/login_wizard.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
+#include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h"
+#include "chrome/browser/chromeos/login/ui/login_display_host.h"
#include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h"
#include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
@@ -15,6 +18,8 @@
#include "chrome/test/base/ui_test_utils.h"
#include "chromeos/chromeos_switches.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "components/prefs/pref_service.h"
+#include "components/prefs/scoped_user_pref_update.h"
#include "components/user_manager/user_manager.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -24,6 +29,10 @@
namespace em = enterprise_management;
+namespace {
+const char kTestUser[] = "test-user@example.com";
+} // namespace
+
namespace chromeos {
class LoginScreenPolicyTest : public policy::DevicePolicyCrosBrowserTest {
@@ -32,11 +41,6 @@ class LoginScreenPolicyTest : public policy::DevicePolicyCrosBrowserTest {
const char* cros_setting_name);
protected:
- void SetUpCommandLine(base::CommandLine* command_line) override {
- command_line->AppendSwitch(switches::kLoginManager);
- command_line->AppendSwitch(switches::kForceLoginManagerInTests);
xiyuan 2017/04/12 19:33:44 This would make the browser test to run in a stub
pmarko 2017/04/12 20:29:32 Done.
- }
-
void SetUpInProcessBrowserTestFixture() override {
InstallOwnerKey();
MarkAsEnterpriseOwned();
@@ -49,6 +53,12 @@ class LoginScreenPolicyTest : public policy::DevicePolicyCrosBrowserTest {
FROM_HERE, base::Bind(&chrome::AttemptExit));
base::RunLoop().RunUntilIdle();
}
+
+ void RegisterUser(const std::string& user_id) {
+ ListPrefUpdate users_pref(g_browser_process->local_state(),
+ "LoggedInUsers");
+ users_pref->AppendIfNotPresent(base::MakeUnique<base::Value>(user_id));
+ }
};
void LoginScreenPolicyTest::RefreshDevicePolicyAndWaitForSettingChange(
@@ -74,7 +84,15 @@ IN_PROC_BROWSER_TEST_F(LoginScreenPolicyTest, DisableSupervisedUsers) {
EXPECT_TRUE(user_manager::UserManager::Get()->AreSupervisedUsersAllowed());
}
+IN_PROC_BROWSER_TEST_F(LoginScreenPolicyTest, PRE_RestrictInputMethods) {
+ RegisterUser(kTestUser);
+ StartupUtils::MarkOobeCompleted();
+}
+
IN_PROC_BROWSER_TEST_F(LoginScreenPolicyTest, RestrictInputMethods) {
+ ShowLoginWizard(OobeScreen::SCREEN_SPECIAL_LOGIN);
+ OobeScreenWaiter(OobeScreen::SCREEN_ACCOUNT_PICKER).Wait();
+
input_method::InputMethodManager* imm =
input_method::InputMethodManager::Get();
ASSERT_TRUE(imm);
@@ -96,6 +114,9 @@ IN_PROC_BROWSER_TEST_F(LoginScreenPolicyTest, RestrictInputMethods) {
chromeos::kDeviceLoginScreenInputMethods);
ASSERT_EQ(0U, imm->GetActiveIMEState()->GetAllowedInputMethods().size());
+
+ base::ThreadTaskRunnerHandle::Get()->DeleteSoon(
+ FROM_HERE, LoginDisplayHost::default_host());
xiyuan 2017/04/12 19:33:44 Think this is not necessary.
pmarko 2017/04/12 20:29:32 Done.
}
class LoginScreenLocalePolicyTest : public LoginScreenPolicyTest {
« no previous file with comments | « no previous file | chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698