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

Unified Diff: chrome/browser/ui/ash/session_controller_client_unittest.cc

Issue 2923083002: chromeos: Convert system tray session length limit to mojo (Closed)
Patch Set: Created 3 years, 6 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
Index: chrome/browser/ui/ash/session_controller_client_unittest.cc
diff --git a/chrome/browser/ui/ash/session_controller_client_unittest.cc b/chrome/browser/ui/ash/session_controller_client_unittest.cc
index 1f230d2ea27a2c60c42fe745b0330d392238a4bd..34675df866b2578b6a4f87f96774f7a662cdde41 100644
--- a/chrome/browser/ui/ash/session_controller_client_unittest.cc
+++ b/chrome/browser/ui/ash/session_controller_client_unittest.cc
@@ -10,6 +10,7 @@
#include "base/macros.h"
#include "base/run_loop.h"
+#include "base/time/time.h"
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
@@ -125,6 +126,14 @@ class TestSessionController : public ash::mojom::SessionController {
void NotifyChromeLockAnimationsComplete() override {}
void RunUnlockAnimation(RunUnlockAnimationCallback callback) override {}
void NotifyChromeTerminating() override {}
+ void SetSessionLengthLimit(base::TimeDelta length_limit,
+ base::TimeTicks start_time) override {
+ last_session_length_limit_ = length_limit;
+ last_session_start_time_ = start_time;
+ }
+
+ base::TimeDelta last_session_length_limit_;
+ base::TimeTicks last_session_start_time_;
private:
mojo::Binding<ash::mojom::SessionController> binding_;
@@ -518,3 +527,27 @@ TEST_F(SessionControllerClientTest, UserPrefsChange) {
EXPECT_FALSE(
session_controller.last_session_info()->should_lock_screen_automatically);
}
+
+TEST_F(SessionControllerClientTest, SessionLengthLimit) {
+ // Create an object to test and connect it to our test interface.
+ SessionControllerClient client;
+ TestSessionController session_controller;
+ client.session_controller_ = session_controller.CreateInterfacePtrAndBind();
+ client.Init();
+ SessionControllerClient::FlushForTesting();
+
+ // By default there is no session length limit.
+ EXPECT_TRUE(session_controller.last_session_length_limit_.is_zero());
+ EXPECT_TRUE(session_controller.last_session_start_time_.is_null());
+
+ // Setting a session length limit in local state sends it to ash.
+ const base::TimeDelta length_limit = base::TimeDelta::FromHours(1);
+ const base::TimeTicks start_time = base::TimeTicks::Now();
+ PrefService* local_state = TestingBrowserProcess::GetGlobal()->local_state();
+ local_state->SetInteger(prefs::kSessionLengthLimit,
+ length_limit.InMilliseconds());
+ local_state->SetInt64(prefs::kSessionStartTime, start_time.ToInternalValue());
+ SessionControllerClient::FlushForTesting();
+ EXPECT_EQ(length_limit, session_controller.last_session_length_limit_);
+ EXPECT_EQ(start_time, session_controller.last_session_start_time_);
+}

Powered by Google App Engine
This is Rietveld 408576698