| 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..ba8fe92490bca20e442498ed97f25dc74b341a77 100644
|
| --- a/chrome/browser/chromeos/login/login_screen_policy_browsertest.cc
|
| +++ b/chrome/browser/chromeos/login/login_screen_policy_browsertest.cc
|
| @@ -6,7 +6,9 @@
|
| #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/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 +17,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 +28,10 @@
|
|
|
| namespace em = enterprise_management;
|
|
|
| +namespace {
|
| +const char kTestUser[] = "test-user@example.com";
|
| +} // namespace
|
| +
|
| namespace chromeos {
|
|
|
| class LoginScreenPolicyTest : public policy::DevicePolicyCrosBrowserTest {
|
| @@ -37,6 +45,10 @@ class LoginScreenPolicyTest : public policy::DevicePolicyCrosBrowserTest {
|
| command_line->AppendSwitch(switches::kForceLoginManagerInTests);
|
| }
|
|
|
| + void SetUpOnMainThread() override {
|
| + policy::DevicePolicyCrosBrowserTest::SetUpOnMainThread();
|
| + }
|
| +
|
| void SetUpInProcessBrowserTestFixture() override {
|
| InstallOwnerKey();
|
| MarkAsEnterpriseOwned();
|
| @@ -49,6 +61,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 +92,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);
|
|
|