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

Unified Diff: chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos_unittest.cc

Issue 2661283002: cros: Clean up SessionStateDelegate refs in Chrome (Closed)
Patch Set: update browser_finder_chromeos_unittest 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos_unittest.cc
diff --git a/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos_unittest.cc b/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos_unittest.cc
index c54916735870ef63afa775bba83009f1a497f365..e4eec75270b2a07a7da9320ff186ff266644a712 100644
--- a/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos_unittest.cc
+++ b/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos_unittest.cc
@@ -2,24 +2,22 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "ash/common/test/test_session_state_delegate.h"
+#include <memory>
+
#include "ash/test/ash_test_base.h"
-#include "ash/test/ash_test_helper.h"
-#include "ash/test/test_shell_delegate.h"
-#include "base/command_line.h"
#include "base/compiler_specific.h"
+#include "base/format_macros.h"
#include "base/logging.h"
#include "base/macros.h"
+#include "base/strings/stringprintf.h"
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_context_menu.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h"
-#include "chrome/common/chrome_switches.h"
#include "components/signin/core/account_id/account_id.h"
#include "ui/aura/window.h"
#include "ui/base/models/menu_model.h"
-#include "ui/base/ui_base_types.h"
namespace ash {
namespace test {
@@ -28,8 +26,9 @@ namespace test {
class MultiUserContextMenuChromeOSTest : public AshTestBase {
public:
MultiUserContextMenuChromeOSTest()
- : multi_user_window_manager_(NULL),
- user_manager_enabler_(new chromeos::FakeChromeUserManager) {}
+ : multi_user_window_manager_(nullptr),
+ fake_user_manager_(new chromeos::FakeChromeUserManager),
+ user_manager_enabler_(fake_user_manager_) {}
void SetUp() override;
void TearDown() override;
@@ -38,6 +37,18 @@ class MultiUserContextMenuChromeOSTest : public AshTestBase {
// Set up the test environment for this many windows.
void SetUpForThisManyWindows(int windows);
+ // Ensures there are |n| logged-in users.
+ void SetLoggedInUsers(size_t n) {
+ DCHECK_LE(fake_user_manager_->GetLoggedInUsers().size(), n);
+ while (fake_user_manager_->GetLoggedInUsers().size() < n) {
+ AccountId account_id = AccountId::FromUserEmail(
+ base::StringPrintf("generated-user-%" PRIuS "@consumer.example.com",
+ fake_user_manager_->GetLoggedInUsers().size()));
+ fake_user_manager_->AddUser(account_id);
+ fake_user_manager_->LoginUser(account_id);
+ }
+ }
+
aura::Window* window() { return window_; }
chrome::MultiUserWindowManagerChromeOS* multi_user_window_manager() {
return multi_user_window_manager_;
@@ -49,6 +60,8 @@ class MultiUserContextMenuChromeOSTest : public AshTestBase {
// The instance of the MultiUserWindowManager.
chrome::MultiUserWindowManagerChromeOS* multi_user_window_manager_;
+ // Owned by |user_manager_enabler_|.
+ chromeos::FakeChromeUserManager* fake_user_manager_ = nullptr;
chromeos::ScopedUserManagerEnabler user_manager_enabler_;
DISALLOW_COPY_AND_ASSIGN(MultiUserContextMenuChromeOSTest);
@@ -77,11 +90,11 @@ void MultiUserContextMenuChromeOSTest::TearDown() {
// Check that an unowned window will never create a menu.
TEST_F(MultiUserContextMenuChromeOSTest, UnownedWindow) {
- EXPECT_EQ(NULL, CreateMultiUserContextMenu(window()).get());
+ EXPECT_EQ(nullptr, CreateMultiUserContextMenu(window()).get());
// Add more users.
- AshTestHelper::GetTestSessionStateDelegate()->set_logged_in_users(2);
- EXPECT_EQ(NULL, CreateMultiUserContextMenu(window()).get());
+ SetLoggedInUsers(2);
+ EXPECT_EQ(nullptr, CreateMultiUserContextMenu(window()).get());
}
// Check that an owned window will never create a menu.
@@ -90,17 +103,17 @@ TEST_F(MultiUserContextMenuChromeOSTest, OwnedWindow) {
// user exists).
multi_user_window_manager()->SetWindowOwner(window(),
AccountId::FromUserEmail("A"));
- EXPECT_EQ(NULL, CreateMultiUserContextMenu(window()).get());
+ EXPECT_EQ(nullptr, CreateMultiUserContextMenu(window()).get());
// After adding another user a menu should get created.
{
- AshTestHelper::GetTestSessionStateDelegate()->set_logged_in_users(2);
+ SetLoggedInUsers(2);
std::unique_ptr<ui::MenuModel> menu = CreateMultiUserContextMenu(window());
ASSERT_TRUE(menu.get());
EXPECT_EQ(1, menu.get()->GetItemCount());
}
{
- AshTestHelper::GetTestSessionStateDelegate()->set_logged_in_users(3);
+ SetLoggedInUsers(3);
std::unique_ptr<ui::MenuModel> menu = CreateMultiUserContextMenu(window());
ASSERT_TRUE(menu.get());
EXPECT_EQ(2, menu.get()->GetItemCount());

Powered by Google App Engine
This is Rietveld 408576698