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

Unified Diff: chrome/browser/chromeos/arc/arc_session_manager_unittest.cc

Issue 2707133006: Start ARC and sign in after Chrome OS login (Closed)
Patch Set: rebase to ToT Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/arc/arc_session_manager.cc ('k') | chrome/browser/chromeos/note_taking_helper.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/arc/arc_session_manager_unittest.cc
diff --git a/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc b/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc
index efdfe629e5ffb024eff224ebad20fb3453129379..fae9ccc8b2b78e04def4d318673e6128bab12328 100644
--- a/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc
+++ b/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc
@@ -35,6 +35,7 @@
#include "chrome/browser/prefs/pref_service_syncable_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h"
+#include "chrome/browser/ui/app_list/arc/arc_app_test.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_profile.h"
@@ -434,6 +435,45 @@ TEST_F(ArcSessionManagerTest, IgnoreSecondErrorReporting) {
arc_session_manager()->Shutdown();
}
+class ArcSessionManagerArcAlwaysStartTest : public ArcSessionManagerTest {
+ public:
+ ArcSessionManagerArcAlwaysStartTest() = default;
+
+ void SetUp() override {
+ SetArcAlwaysStartForTesting();
+ ArcSessionManagerTest::SetUp();
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ArcSessionManagerArcAlwaysStartTest);
+};
+
+TEST_F(ArcSessionManagerArcAlwaysStartTest, BaseWorkflow) {
+ // TODO(victorhsieh): Consider also tracking sign-in activity, which is
+ // initiated from the Android side.
+ EXPECT_TRUE(arc_session_manager()->arc_start_time().is_null());
+
+ arc_session_manager()->SetProfile(profile());
+
+ // By default ARC is not enabled.
+ EXPECT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state());
+
+ // When ARC is always started, ArcSessionManager should always be in ACTIVE
+ // state.
+ arc_session_manager()->RequestEnable();
+ base::RunLoop().RunUntilIdle();
+ ASSERT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
+
+ arc_session_manager()->StartArcForTesting();
+
+ EXPECT_FALSE(arc_session_manager()->arc_start_time().is_null());
+
+ ASSERT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
+ ASSERT_TRUE(arc_session_manager()->IsSessionRunning());
+
+ arc_session_manager()->Shutdown();
+}
+
class ArcSessionManagerPolicyTest
: public ArcSessionManagerTest,
public testing::WithParamInterface<std::tuple<base::Value, base::Value>> {
« no previous file with comments | « chrome/browser/chromeos/arc/arc_session_manager.cc ('k') | chrome/browser/chromeos/note_taking_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698