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

Side by Side Diff: ash/system/chromeos/supervised/tray_supervised_user_unittest.cc

Issue 2108403004: mash: Move several chromeos system tray items to //ash/common (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@audio
Patch Set: Rebase Created 4 years, 5 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
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ash/system/chromeos/supervised/tray_supervised_user.h"
6
7 #include "ash/common/login_status.h"
8 #include "ash/test/ash_test_base.h"
9 #include "ash/test/test_system_tray_delegate.h"
10 #include "ui/message_center/message_center.h"
11 #include "ui/message_center/notification.h"
12 #include "ui/message_center/notification_list.h"
13 #include "ui/message_center/notification_types.h"
14
15 using message_center::NotificationList;
16
17 namespace ash {
18
19 class TraySupervisedUserTest : public test::AshTestBase {
20 public:
21 TraySupervisedUserTest() {}
22 ~TraySupervisedUserTest() override {}
23
24 protected:
25 message_center::Notification* GetPopup();
26
27 private:
28 DISALLOW_COPY_AND_ASSIGN(TraySupervisedUserTest);
29 };
30
31 message_center::Notification* TraySupervisedUserTest::GetPopup() {
32 NotificationList::PopupNotifications popups =
33 message_center::MessageCenter::Get()->GetPopupNotifications();
34 for (NotificationList::PopupNotifications::const_iterator iter =
35 popups.begin();
36 iter != popups.end(); ++iter) {
37 if ((*iter)->id() == TraySupervisedUser::kNotificationId)
38 return *iter;
39 }
40 return NULL;
41 }
42
43 class TraySupervisedUserInitialTest : public TraySupervisedUserTest {
44 public:
45 TraySupervisedUserInitialTest() {}
46 ~TraySupervisedUserInitialTest() override {}
47
48 void SetUp() override;
49 void TearDown() override;
50
51 private:
52 DISALLOW_COPY_AND_ASSIGN(TraySupervisedUserInitialTest);
53 };
54
55 void TraySupervisedUserInitialTest::SetUp() {
56 test::TestSystemTrayDelegate::SetInitialLoginStatus(LoginStatus::SUPERVISED);
57 test::AshTestBase::SetUp();
58 }
59
60 void TraySupervisedUserInitialTest::TearDown() {
61 test::AshTestBase::TearDown();
62 // SetInitialLoginStatus() is reset in AshTestHelper::TearDown().
63 }
64
65 TEST_F(TraySupervisedUserTest, SupervisedUserHasNotification) {
66 test::TestSystemTrayDelegate* delegate = GetSystemTrayDelegate();
67 delegate->SetLoginStatus(LoginStatus::SUPERVISED);
68
69 message_center::Notification* notification = GetPopup();
70 ASSERT_NE(static_cast<message_center::Notification*>(NULL), notification);
71 EXPECT_EQ(static_cast<int>(message_center::SYSTEM_PRIORITY),
72 notification->rich_notification_data().priority);
73 }
74
75 TEST_F(TraySupervisedUserInitialTest, SupervisedUserNoCrash) {
76 // Initial login status is already SUPERVISED, which should create
77 // the notification and should not cause crashes.
78 message_center::Notification* notification = GetPopup();
79 ASSERT_NE(static_cast<message_center::Notification*>(NULL), notification);
80 EXPECT_EQ(static_cast<int>(message_center::SYSTEM_PRIORITY),
81 notification->rich_notification_data().priority);
82 }
83
84 } // namespace ash
OLDNEW
« no previous file with comments | « ash/system/chromeos/supervised/tray_supervised_user.cc ('k') | ash/system/chromeos/tray_caps_lock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698