Chromium Code Reviews| Index: chrome/browser/chromeos/extensions/info_private_apitest.cc |
| diff --git a/chrome/browser/chromeos/extensions/info_private_apitest.cc b/chrome/browser/chromeos/extensions/info_private_apitest.cc |
| index 6fdb457b1b582debf9cd99eb3e53b3e9e0ea44b4..554fa3aacba2756ab65403b26a01fe59480705e9 100644 |
| --- a/chrome/browser/chromeos/extensions/info_private_apitest.cc |
| +++ b/chrome/browser/chromeos/extensions/info_private_apitest.cc |
| @@ -2,13 +2,53 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| +#include "base/json/json_writer.h" |
| +#include "base/values.h" |
| #include "chrome/browser/chromeos/settings/cros_settings.h" |
| #include "chrome/browser/extensions/extension_apitest.h" |
| +#include "chrome/common/chrome_switches.h" |
| #include "chrome/common/pref_names.h" |
| +#include "chromeos/chromeos_switches.h" |
| #include "chromeos/settings/cros_settings_names.h" |
| #include "components/prefs/pref_service.h" |
| -IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ChromeOSInfoPrivateTest) { |
| +namespace { |
| + |
| +const char kTestAppId[] = "ljoammodoonkhnehlncldjelhidljdpi"; |
| + |
| +} // namespace |
| + |
| +class ChromeOSInfoPrivateTest : public ExtensionApiTest { |
| + public: |
| + ChromeOSInfoPrivateTest() {} |
| + ~ChromeOSInfoPrivateTest() override {} |
| + |
| + protected: |
| + std::string GenerateTestName(const std::string& test_name) { |
| + std::string result; |
| + base::JSONWriter::Write(base::StringValue(test_name), &result); |
| + return result; |
| + } |
| + |
| + void EnableKioskSession() { |
| + base::CommandLine::ForCurrentProcess()->AppendSwitch( |
| + switches::kForceAppMode); |
| + base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(switches::kAppId, |
| + kTestAppId); |
| + } |
| + |
| + void MakeArcAvailable() { |
| + base::CommandLine::ForCurrentProcess()->AppendSwitch( |
| + chromeos::switches::kArcAvailable); |
| + } |
| + |
| + void EnableArc() { |
| + base::CommandLine::ForCurrentProcess()->AppendSwitch( |
| + chromeos::switches::kEnableArc); |
| + } |
| +}; |
| + |
| +IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, TestGetAndSet) { |
| // Set the initial timezone different from what JS function |
| // timezoneSetTest() will attempt to set. |
| base::StringValue initial_timezone("America/Los_Angeles"); |
| @@ -27,7 +67,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ChromeOSInfoPrivateTest) { |
| ASSERT_FALSE(profile()->GetPrefs()->GetBoolean( |
| prefs::kLanguageSendFunctionKeys)); |
| - ASSERT_TRUE(RunComponentExtensionTest("chromeos_info_private")) << message_; |
| + ASSERT_TRUE(RunComponentExtensionTest("chromeos_info_private/basic")) |
| + << message_; |
| // Check that all accessibility settings have been flipped by the test. |
| ASSERT_TRUE(prefs->GetBoolean(prefs::kAccessibilityLargeCursorEnabled)); |
| @@ -39,3 +80,28 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ChromeOSInfoPrivateTest) { |
| ASSERT_TRUE(prefs->GetBoolean(prefs::kLanguageSendFunctionKeys)); |
| } |
| + |
| +// TODO(steel): Investigate merging the following tests. |
| + |
| +IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, Kiosk) { |
| + EnableKioskSession(); |
| + ASSERT_TRUE(RunPlatformAppTestWithArg("chromeos_info_private/extended", |
| + GenerateTestName("kiosk").c_str())) |
|
Devlin
2016/09/07 23:08:43
Why not just "kiosk"?
Rahul Chaturvedi
2016/09/07 23:40:55
Done.
|
| + << message_; |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, ArcAvailable) { |
| + MakeArcAvailable(); |
| + ASSERT_TRUE( |
| + RunPlatformAppTestWithArg("chromeos_info_private/extended", |
| + GenerateTestName("arc available").c_str())) |
| + << message_; |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, ArcEnabled) { |
| + EnableArc(); |
| + ASSERT_TRUE( |
| + RunPlatformAppTestWithArg("chromeos_info_private/extended", |
| + GenerateTestName("arc enabled").c_str())) |
| + << message_; |
| +} |