Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(548)

Side by Side Diff: chrome/browser/chromeos/extensions/info_private_apitest.cc

Issue 2648213004: Migrate --enable-arc and --arc-available part 1. (Closed)
Patch Set: address comments. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/values.h" 5 #include "base/values.h"
6 #include "chrome/browser/chromeos/arc/arc_session_manager.h"
6 #include "chrome/browser/chromeos/settings/cros_settings.h" 7 #include "chrome/browser/chromeos/settings/cros_settings.h"
7 #include "chrome/browser/extensions/extension_apitest.h" 8 #include "chrome/browser/extensions/extension_apitest.h"
8 #include "chrome/common/chrome_switches.h" 9 #include "chrome/common/chrome_switches.h"
9 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
10 #include "chromeos/chromeos_switches.h"
11 #include "chromeos/settings/cros_settings_names.h" 11 #include "chromeos/settings/cros_settings_names.h"
12 #include "components/arc/arc_util.h"
12 #include "components/prefs/pref_service.h" 13 #include "components/prefs/pref_service.h"
13 14
14 namespace { 15 namespace {
15 16
16 const char kTestAppId[] = "ljoammodoonkhnehlncldjelhidljdpi"; 17 const char kTestAppId[] = "ljoammodoonkhnehlncldjelhidljdpi";
17 18
18 } // namespace 19 } // namespace
19 20
20 class ChromeOSInfoPrivateTest : public ExtensionApiTest { 21 class ChromeOSInfoPrivateTest : public ExtensionApiTest {
21 public: 22 public:
22 ChromeOSInfoPrivateTest() {} 23 ChromeOSInfoPrivateTest() {}
23 ~ChromeOSInfoPrivateTest() override {} 24 ~ChromeOSInfoPrivateTest() override {}
24 25
25 protected: 26 protected:
26 void EnableKioskSession() { 27 void EnableKioskSession() {
27 base::CommandLine::ForCurrentProcess()->AppendSwitch( 28 base::CommandLine::ForCurrentProcess()->AppendSwitch(
28 switches::kForceAppMode); 29 switches::kForceAppMode);
29 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(switches::kAppId, 30 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(switches::kAppId,
30 kTestAppId); 31 kTestAppId);
31 } 32 }
32
33 void MakeArcAvailable() {
34 base::CommandLine::ForCurrentProcess()->AppendSwitch(
35 chromeos::switches::kArcAvailable);
36 }
37
38 void EnableArc() {
39 base::CommandLine::ForCurrentProcess()->AppendSwitch(
40 chromeos::switches::kEnableArc);
41 }
42 }; 33 };
43 34
44 IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, TestGetAndSet) { 35 IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, TestGetAndSet) {
45 // Set the initial timezone different from what JS function 36 // Set the initial timezone different from what JS function
46 // timezoneSetTest() will attempt to set. 37 // timezoneSetTest() will attempt to set.
47 base::StringValue initial_timezone("America/Los_Angeles"); 38 base::StringValue initial_timezone("America/Los_Angeles");
48 chromeos::CrosSettings::Get()->Set(chromeos::kSystemTimezone, 39 chromeos::CrosSettings::Get()->Set(chromeos::kSystemTimezone,
49 initial_timezone); 40 initial_timezone);
50 41
51 // Check that accessibility settings are set to default values. 42 // Check that accessibility settings are set to default values.
(...skipping 24 matching lines...) Expand all
76 67
77 // TODO(steel): Investigate merging the following tests. 68 // TODO(steel): Investigate merging the following tests.
78 69
79 IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, Kiosk) { 70 IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, Kiosk) {
80 EnableKioskSession(); 71 EnableKioskSession();
81 ASSERT_TRUE( 72 ASSERT_TRUE(
82 RunPlatformAppTestWithArg("chromeos_info_private/extended", "kiosk")) 73 RunPlatformAppTestWithArg("chromeos_info_private/extended", "kiosk"))
83 << message_; 74 << message_;
84 } 75 }
85 76
86 IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, ArcAvailable) { 77 IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, ArcNotAvailable) {
87 MakeArcAvailable(); 78 ASSERT_TRUE(RunPlatformAppTestWithArg("chromeos_info_private/extended",
79 "arc not-available"))
80 << message_;
81 }
82
83 class ChromeOSArcInfoPrivateTest : public ChromeOSInfoPrivateTest {
84 public:
85 ChromeOSArcInfoPrivateTest() = default;
86 ~ChromeOSArcInfoPrivateTest() override = default;
87
88 void SetUpCommandLine(base::CommandLine* command_line) override {
89 ExtensionApiTest::SetUpCommandLine(command_line);
90 // Make ARC enabled for ArcAvailable/ArcEnabled tests.
91 arc::SetArcAvailableCommandLineForTesting(command_line);
92 }
93
94 private:
95 DISALLOW_COPY_AND_ASSIGN(ChromeOSArcInfoPrivateTest);
96 };
97
98 IN_PROC_BROWSER_TEST_F(ChromeOSArcInfoPrivateTest, ArcEnabled) {
99 ASSERT_TRUE(RunPlatformAppTestWithArg("chromeos_info_private/extended",
100 "arc enabled"))
101 << message_;
102 }
103
104 IN_PROC_BROWSER_TEST_F(ChromeOSArcInfoPrivateTest, ArcAvailable) {
105 // Even if ARC is available, ARC may not be able to be enabled. (Please
106 // see ArcSessionManager::IsAllowedForProfile() for details).
107 // In such cases, we expect "available". However, current testing framework
108 // does not seem to run with such cases, unfortunately. So, here directly
109 // control the function.
110 arc::ArcSessionManager::DisallowForTesting();
88 ASSERT_TRUE(RunPlatformAppTestWithArg("chromeos_info_private/extended", 111 ASSERT_TRUE(RunPlatformAppTestWithArg("chromeos_info_private/extended",
89 "arc available")) 112 "arc available"))
90 << message_; 113 << message_;
91 } 114 }
92
93 IN_PROC_BROWSER_TEST_F(ChromeOSInfoPrivateTest, ArcEnabled) {
94 EnableArc();
95 ASSERT_TRUE(RunPlatformAppTestWithArg("chromeos_info_private/extended",
96 "arc enabled"))
97 << message_;
98 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698