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..d3fe9edab43fde427e5af3dde991f87d403305f8 100644 |
| --- a/chrome/browser/chromeos/extensions/info_private_apitest.cc |
| +++ b/chrome/browser/chromeos/extensions/info_private_apitest.cc |
| @@ -2,13 +2,57 @@ |
| // 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 kTestNameKey[] = "testName"; |
| +const char kTestAppId[] = "ljoammodoonkhnehlncldjelhidljdpi"; |
| + |
| +} // namespace |
| + |
| +// This class contains chrome.chromeosInfoPrivate API tests. |
|
Devlin
2016/09/06 23:04:53
nit: I don't think this comment adds much that isn
Rahul Chaturvedi
2016/09/06 23:19:35
Done.
|
| +class ChromeOSInfoPrivateTest : public ExtensionApiTest { |
| + public: |
| + ChromeOSInfoPrivateTest() {} |
| + ~ChromeOSInfoPrivateTest() override {} |
| + |
| + protected: |
| + std::string GenerateTestName(const std::string& test_name) { |
| + base::DictionaryValue test_arg; |
| + std::string result; |
| + test_arg.SetString(kTestNameKey, test_name); |
| + base::JSONWriter::Write(test_arg, &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, Basic) { |
| // Set the initial timezone different from what JS function |
| // timezoneSetTest() will attempt to set. |
| base::StringValue initial_timezone("America/Los_Angeles"); |
| @@ -27,7 +71,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 +84,26 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, ChromeOSInfoPrivateTest) { |
| ASSERT_TRUE(prefs->GetBoolean(prefs::kLanguageSendFunctionKeys)); |
| } |
| + |
| +IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, Kiosk) { |
| + EnableKioskSession(); |
| + ASSERT_TRUE(RunPlatformAppTestWithArg("chromeos_info_private/extended", |
|
Devlin
2016/09/06 23:04:53
This file doesn't exist
Rahul Chaturvedi
2016/09/06 23:19:35
Done.
|
| + GenerateTestName("kiosk").c_str())) |
| + << 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_; |
| +} |