#include <vector>
-#include "ash/ash_switches.h"
#include "ash/root_window_controller.h"
#include "ash/shelf/shelf_layout_manager.h"
#include "ash/shell.h"
#include "ash/test/ash_test_base.h"
#include "ash/test/test_session_state_delegate.h"
#include "ash/test/test_shell_delegate.h"
-#include "base/command_line.h"
-#include "ui/aura/test/event_generator.h"
+#include "components/user_manager/user_info.h"
+#include "ui/events/test/event_generator.h"
#include "ui/gfx/animation/animation_container_element.h"
#include "ui/views/view.h"
#include "ui/views/widget/widget.h"
namespace ash {
-namespace internal {
class TrayUserTest : public ash::test::AshTestBase {
public:
TrayUserTest();
// testing::Test:
- virtual void SetUp() OVERRIDE;
+ void SetUp() override;
// This has to be called prior to first use with the proper configuration.
void InitializeParameters(int users_logged_in, bool multiprofile);
// Show the system tray menu using the provided event generator.
- void ShowTrayMenu(aura::test::EventGenerator* generator);
+ void ShowTrayMenu(ui::test::EventGenerator* generator);
// Move the mouse over the user item.
- void MoveOverUserItem(aura::test::EventGenerator* generator, int index);
+ void MoveOverUserItem(ui::test::EventGenerator* generator, int index);
// Click on the user item. Note that the tray menu needs to be shown.
- void ClickUserItem(aura::test::EventGenerator* generator, int index);
+ void ClickUserItem(ui::test::EventGenerator* generator, int index);
// Accessors to various system components.
ShelfLayoutManager* shelf() { return shelf_; }
SystemTray* tray() { return tray_; }
ash::test::TestSessionStateDelegate* delegate() { return delegate_; }
- ash::internal::TrayUser* tray_user(int index) { return tray_user_[index]; }
- ash::internal::TrayUserSeparator* tray_user_separator() {
- return tray_user_separator_;
- }
+ ash::TrayUser* tray_user(int index) { return tray_user_[index]; }
+ ash::TrayUserSeparator* tray_user_separator() { return tray_user_separator_; }
private:
ShelfLayoutManager* shelf_;
ash::test::TestSessionStateDelegate* delegate_;
// Note that the ownership of these items is on the shelf.
- std::vector<ash::internal::TrayUser*> tray_user_;
+ std::vector<ash::TrayUser*> tray_user_;
// The separator between the tray users and the rest of the menu.
// Note: The item will get owned by the shelf.
// Instead of using the existing tray panels we create new ones which makes
// the access easier.
for (int i = 0; i < delegate_->GetMaximumNumberOfLoggedInUsers(); i++) {
- tray_user_.push_back(new ash::internal::TrayUser(tray_, i));
+ tray_user_.push_back(new ash::TrayUser(tray_, i));
tray_->AddTrayItem(tray_user_[i]);
}
// We then add also the separator.
- tray_user_separator_ = new ash::internal::TrayUserSeparator(tray_);
+ tray_user_separator_ = new ash::TrayUserSeparator(tray_);
tray_->AddTrayItem(tray_user_separator_);
}
-void TrayUserTest::ShowTrayMenu(aura::test::EventGenerator* generator) {
+void TrayUserTest::ShowTrayMenu(ui::test::EventGenerator* generator) {
gfx::Point center = tray()->GetBoundsInScreen().CenterPoint();
generator->MoveMouseTo(center.x(), center.y());
generator->ClickLeftButton();
}
-void TrayUserTest::MoveOverUserItem(aura::test::EventGenerator* generator,
- int index) {
+void TrayUserTest::MoveOverUserItem(ui::test::EventGenerator* generator,
+ int index) {
gfx::Point center =
tray_user(index)->GetUserPanelBoundsInScreenForTest().CenterPoint();
generator->MoveMouseTo(center.x(), center.y());
}
-void TrayUserTest::ClickUserItem(aura::test::EventGenerator* generator,
+void TrayUserTest::ClickUserItem(ui::test::EventGenerator* generator,
int index) {
MoveOverUserItem(generator, index);
generator->ClickLeftButton();
InitializeParameters(1, false);
// Move the mouse over the status area and click to open the status menu.
- aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow());
+ ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow());
EXPECT_FALSE(tray()->IsAnyBubbleVisible());
for (int i = 0; i < delegate()->GetMaximumNumberOfLoggedInUsers(); i++)
- EXPECT_EQ(ash::internal::TrayUser::HIDDEN,
- tray_user(i)->GetStateForTest());
+ EXPECT_EQ(ash::TrayUser::HIDDEN, tray_user(i)->GetStateForTest());
EXPECT_FALSE(tray_user_separator()->separator_shown());
ShowTrayMenu(&generator);
EXPECT_TRUE(tray()->IsAnyBubbleVisible());
for (int i = 0; i < delegate()->GetMaximumNumberOfLoggedInUsers(); i++)
- EXPECT_EQ(i == 0 ? ash::internal::TrayUser::SHOWN :
- ash::internal::TrayUser::HIDDEN,
+ EXPECT_EQ(i == 0 ? ash::TrayUser::SHOWN : ash::TrayUser::HIDDEN,
tray_user(i)->GetStateForTest());
EXPECT_FALSE(tray_user_separator()->separator_shown());
tray()->CloseSystemBubble();
InitializeParameters(1, true);
// Move the mouse over the status area and click to open the status menu.
- aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow());
+ ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow());
generator.set_async(false);
int max_users = delegate()->GetMaximumNumberOfLoggedInUsers();
EXPECT_TRUE(tray()->HasSystemBubble());
EXPECT_TRUE(tray()->IsAnyBubbleVisible());
for (int i = 0; i < max_users; i++) {
- EXPECT_EQ(i < j ? ash::internal::TrayUser::SHOWN :
- ash::internal::TrayUser::HIDDEN,
+ EXPECT_EQ(i < j ? ash::TrayUser::SHOWN : ash::TrayUser::HIDDEN,
tray_user(i)->GetStateForTest());
}
// Move the mouse over the user item and it should hover.
MoveOverUserItem(&generator, 0);
- EXPECT_EQ(ash::internal::TrayUser::HOVERED,
- tray_user(0)->GetStateForTest());
+ EXPECT_EQ(ash::TrayUser::HOVERED, tray_user(0)->GetStateForTest());
for (int i = 1; i < max_users; i++) {
- EXPECT_EQ(i < j ? ash::internal::TrayUser::SHOWN :
- ash::internal::TrayUser::HIDDEN,
+ EXPECT_EQ(i < j ? ash::TrayUser::SHOWN : ash::TrayUser::HIDDEN,
tray_user(i)->GetStateForTest());
}
// Check that clicking the button allows to add item if we have still room
// for one more user.
ClickUserItem(&generator, 0);
- EXPECT_EQ(j == max_users ?
- ash::internal::TrayUser::ACTIVE_BUT_DISABLED :
- ash::internal::TrayUser::ACTIVE,
+ EXPECT_EQ(j == max_users ? ash::TrayUser::ACTIVE_BUT_DISABLED
+ : ash::TrayUser::ACTIVE,
tray_user(0)->GetStateForTest());
// Click the button again to see that the menu goes away.
ClickUserItem(&generator, 0);
- EXPECT_EQ(ash::internal::TrayUser::HOVERED,
- tray_user(0)->GetStateForTest());
+ EXPECT_EQ(ash::TrayUser::HOVERED, tray_user(0)->GetStateForTest());
// Close and check that everything is deleted.
tray()->CloseSystemBubble();
EXPECT_FALSE(tray()->IsAnyBubbleVisible());
for (int i = 0; i < delegate()->GetMaximumNumberOfLoggedInUsers(); i++)
- EXPECT_EQ(ash::internal::TrayUser::HIDDEN,
- tray_user(i)->GetStateForTest());
+ EXPECT_EQ(ash::TrayUser::HIDDEN, tray_user(i)->GetStateForTest());
}
}
TEST_F(TrayUserTest, MutiUserModeButtonClicks) {
// Have two users.
InitializeParameters(2, true);
- aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow());
+ ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow());
ShowTrayMenu(&generator);
// Switch to a new user - which has a capitalized name.
ClickUserItem(&generator, 1);
- EXPECT_EQ(delegate()->get_activated_user(), delegate()->GetUserID(1));
+ const user_manager::UserInfo* active_user = delegate()->GetActiveUserInfo();
+ const user_manager::UserInfo* second_user = delegate()->GetUserInfo(1);
+ EXPECT_EQ(active_user->GetUserID(), second_user->GetUserID());
// Since the name is capitalized, the email should be different then the
// user_id.
- EXPECT_NE(delegate()->get_activated_user(), delegate()->GetUserEmail(1));
+ EXPECT_NE(active_user->GetUserID(), second_user->GetEmail());
tray()->CloseSystemBubble();
}
#endif
-} // namespace internal
} // namespace ash