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_; |
+} |