Chromium Code Reviews| 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 { |