本文整理汇总了C++中NotificationPreviewPresenter类的典型用法代码示例。如果您正苦于以下问题:C++ NotificationPreviewPresenter类的具体用法?C++ NotificationPreviewPresenter怎么用?C++ NotificationPreviewPresenter使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了NotificationPreviewPresenter类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testAddNotificationWhenWindowAlreadyOpen
void Ut_NotificationPreviewPresenter::testAddNotificationWhenWindowAlreadyOpen()
{
NotificationPreviewPresenter presenter;
QSignalSpy changedSpy(&presenter, SIGNAL(notificationChanged()));
QSignalSpy presentedSpy(&presenter, SIGNAL(notificationPresented(uint)));
// Create a notification: this will create a window
createNotification(1);
presenter.updateNotification(1);
// Reset stubs to see what happens next
homeWindows.clear();
// Create another notification
LipstickNotification *notification = createNotification(2);
presenter.updateNotification(2);
// The second notification should not be signaled onwards yet since the first one is being presented
QCOMPARE(changedSpy.count(), 1);
QCOMPARE(presentedSpy.count(), 1);
QCOMPARE(presentedSpy.last().at(0).toUInt(), (uint)1);
// Show the next notification
presenter.showNextNotification();
// Check that the window was not unnecessarily created again
QCOMPARE(homeWindows.isEmpty(), true);
// Check that the expected notification is signaled onwards
QCOMPARE(changedSpy.count(), 2);
QCOMPARE(presenter.notification(), notification);
QCOMPARE(presentedSpy.count(), 2);
QCOMPARE(presentedSpy.last().at(0).toUInt(), (uint)2);
}
示例2: testUpdateNotificationRemovesNotificationFromQueueIfNotShowable
void Ut_NotificationPreviewPresenter::testUpdateNotificationRemovesNotificationFromQueueIfNotShowable()
{
NotificationPreviewPresenter presenter;
// Create two notifications
LipstickNotification *notification1 = createNotification(1);
LipstickNotification *notification2 = createNotification(2);
presenter.updateNotification(1);
presenter.updateNotification(2);
// Update the notifications to have no summary or body
QSignalSpy changedSpy(&presenter, SIGNAL(notificationChanged()));
QSignalSpy presentedSpy(&presenter, SIGNAL(notificationPresented(uint)));
notification1->setHints(QVariantHash());
notification2->setHints(QVariantHash());
presenter.updateNotification(1);
presenter.updateNotification(2);
// Check that the current notification is not removed
QCOMPARE(changedSpy.count(), 0);
// The notifications should be considered presented
QCOMPARE(presentedSpy.count(), 2);
// Check that the other notification is removed from the queue
presenter.showNextNotification();
QCOMPARE(changedSpy.count(), 1);
QCOMPARE(presenter.notification(), (LipstickNotification *)0);
QCOMPARE(presentedSpy.count(), 2);
}
示例3: QFETCH
void Ut_NotificationPreviewPresenter::testNotificationNotShownIfNoSummaryOrBody()
{
QFETCH(QString, previewSummary);
QFETCH(QString, previewBody);
QFETCH(int, changedSignalCount);
QFETCH(int, presentedSignalCount);
QFETCH(bool, windowVisible);
NotificationPreviewPresenter presenter;
QSignalSpy changedSpy(&presenter, SIGNAL(notificationChanged()));
QSignalSpy presentedSpy(&presenter, SIGNAL(notificationPresented(uint)));
// Create notification
LipstickNotification *notification = new LipstickNotification;
QVariantHash hints;
hints.insert(NotificationManager::HINT_PREVIEW_SUMMARY, previewSummary);
hints.insert(NotificationManager::HINT_PREVIEW_BODY, previewBody);
notification->setHints(hints);
notificationManagerNotification.insert(1, notification);
presenter.updateNotification(1);
// Check whether the expected notification is signaled onwards
QCOMPARE(changedSpy.count(), changedSignalCount);
QCOMPARE(presentedSpy.count(), presentedSignalCount);
QCOMPARE(homeWindowVisible.isEmpty(), !windowVisible);
if (windowVisible) {
// Check whether the window was shown
QCOMPARE(homeWindowVisible[homeWindows.first()], windowVisible);
}
}
示例4: testAddNotificationWhenWindowNotOpen
void Ut_NotificationPreviewPresenter::testAddNotificationWhenWindowNotOpen()
{
NotificationPreviewPresenter presenter;
QSignalSpy changedSpy(&presenter, SIGNAL(notificationChanged()));
QSignalSpy presentedSpy(&presenter, SIGNAL(notificationPresented(uint)));
// Check that the window is not automatically created
QCOMPARE(homeWindows.isEmpty(), true);
// Check that the window is created when a notification is added
LipstickNotification *notification = createNotification(1);
presenter.updateNotification(1);
QCOMPARE(homeWindows.count(), 1);
// Check window properties
QCOMPARE(homeWindowTitle[homeWindows.first()], QString("Notification"));
QCOMPARE(homeWindowContextProperties[homeWindows.first()].value("initialSize").toSize(), QGuiApplication::primaryScreen()->size());
QCOMPARE(homeWindowContextProperties[homeWindows.first()].value("notificationPreviewPresenter"), QVariant::fromValue(static_cast<QObject *>(&presenter)));
QCOMPARE(homeWindowCategories[homeWindows.first()], QString("notification"));
// Check that the window was shown
QCOMPARE(homeWindowVisible[homeWindows.first()], true);
// Check that the expected notification is signaled onwards
QCOMPARE(changedSpy.count(), 1);
QCOMPARE(presenter.notification(), notification);
QCOMPARE(presentedSpy.count(), 1);
QCOMPARE(presentedSpy.last().at(0).toUInt(), (uint)1);
}
示例5: testRemoveNotification
void Ut_NotificationPreviewPresenter::testRemoveNotification()
{
NotificationPreviewPresenter presenter;
QSignalSpy changedSpy(&presenter, SIGNAL(notificationChanged()));
// Create two notifications
createNotification(1);
createNotification(2);
presenter.updateNotification(1);
presenter.updateNotification(2);
// Remove the first one
presenter.removeNotification(1);
// Check that an empty notification is signaled onwards
QCOMPARE(changedSpy.count(), 2);
QCOMPARE(presenter.notification(), (LipstickNotification *)0);
// Show and remove the second one
presenter.showNextNotification();
presenter.removeNotification(2);
// Check that an empty notification is signaled onwards
QCOMPARE(changedSpy.count(), 4);
QCOMPARE(presenter.notification(), (LipstickNotification *)0);
// Check that the window is not yet hidden
QCOMPARE(homeWindowVisible[homeWindows.first()], true);
// Check that the window is hidden when it's time to show the next notification (which doesn't exist)
presenter.showNextNotification();
QCOMPARE(homeWindowVisible[homeWindows.first()], false);
}
示例6: testCriticalNotificationIsClosedAfterShowing
void Ut_NotificationPreviewPresenter::testCriticalNotificationIsClosedAfterShowing()
{
NotificationPreviewPresenter presenter;
createNotification(1, 2);
createNotification(2);
createNotification(3);
presenter.updateNotification(1);
presenter.updateNotification(2);
presenter.updateNotification(3);
QCOMPARE(notificationManagerCloseNotificationIds.count(), 0);
presenter.showNextNotification();
QCOMPARE(notificationManagerCloseNotificationIds.count(), 1);
QCOMPARE(notificationManagerCloseNotificationIds.at(0), (uint)1);
presenter.showNextNotification();
QCOMPARE(notificationManagerCloseNotificationIds.count(), 1);
}
示例7: testUpdateNotification
void Ut_NotificationPreviewPresenter::testUpdateNotification()
{
NotificationPreviewPresenter presenter;
// Create two notifications
createNotification(1);
createNotification(2);
presenter.updateNotification(1);
presenter.updateNotification(2);
// Update both notifications
QSignalSpy changedSpy(&presenter, SIGNAL(notificationChanged()));
QSignalSpy presentedSpy(&presenter, SIGNAL(notificationPresented(uint)));
presenter.updateNotification(1);
presenter.updateNotification(2);
// Check that no signals were sent
QCOMPARE(changedSpy.count(), 0);
QCOMPARE(presentedSpy.count(), 0);
}
示例8: testCriticalNotificationIsMarkedAfterShowing
void Ut_NotificationPreviewPresenter::testCriticalNotificationIsMarkedAfterShowing()
{
NotificationPreviewPresenter presenter;
createNotification(1, Critical);
createNotification(2);
createNotification(3);
QTest::qWait(0);
presenter.updateNotification(1);
presenter.updateNotification(2);
presenter.updateNotification(3);
QCOMPARE(notificationManagerDisplayedNotificationIds.count(), 0);
QCOMPARE(notificationManagerCloseNotificationIds.count(), 0);
presenter.showNextNotification();
QCOMPARE(notificationManagerDisplayedNotificationIds.count(), 1);
QCOMPARE(notificationManagerDisplayedNotificationIds.at(0), (uint)1);
QCOMPARE(notificationManagerCloseNotificationIds.count(), 0);
presenter.showNextNotification();
QCOMPARE(notificationManagerDisplayedNotificationIds.count(), 2);
QCOMPARE(notificationManagerDisplayedNotificationIds.at(1), (uint)2);
QCOMPARE(notificationManagerCloseNotificationIds.count(), 0);
presenter.showNextNotification();
QCOMPARE(notificationManagerDisplayedNotificationIds.count(), 3);
QCOMPARE(notificationManagerDisplayedNotificationIds.at(2), (uint)3);
QCOMPARE(notificationManagerCloseNotificationIds.count(), 0);
}
示例9: testNotificationNotShownIfHidden
void Ut_NotificationPreviewPresenter::testNotificationNotShownIfHidden()
{
NotificationPreviewPresenter presenter;
QSignalSpy changedSpy(&presenter, SIGNAL(notificationChanged()));
QSignalSpy presentedSpy(&presenter, SIGNAL(notificationPresented(uint)));
// Create notification
QVariantHash hints;
hints.insert(NotificationManager::HINT_PREVIEW_SUMMARY, "previewSummary");
hints.insert(NotificationManager::HINT_PREVIEW_BODY, "previewBody");
hints.insert(NotificationManager::HINT_HIDDEN, true);
LipstickNotification *notification = new LipstickNotification("ut_notificationpreviewpresenter", 1, "", "", "", QStringList(), hints, -1);
notificationManagerNotification.insert(1, notification);
presenter.updateNotification(1);
QCOMPARE(changedSpy.count(), 0);
QCOMPARE(homeWindowVisible.isEmpty(), true);
// The notification should be considered presented
QCOMPARE(presentedSpy.count(), 1);
QCOMPARE(presentedSpy.last().at(0).toUInt(), (uint)1);
}
示例10: testShowingOnlyCriticalNotifications
void Ut_NotificationPreviewPresenter::testShowingOnlyCriticalNotifications()
{
NotificationPreviewPresenter presenter;
QSignalSpy changedSpy(&presenter, SIGNAL(notificationChanged()));
QSignalSpy presentedSpy(&presenter, SIGNAL(notificationPresented(uint)));
// Create normal urgency notification
LipstickNotification *notification = new LipstickNotification;
QVariantHash hints;
hints.insert(NotificationManager::HINT_PREVIEW_SUMMARY, "previewSummary");
hints.insert(NotificationManager::HINT_PREVIEW_BODY, "previewBody");
hints.insert(NotificationManager::HINT_URGENCY, 1);
notification->setHints(hints);
notificationManagerNotification.insert(1, notification);
QCOMPARE(homeWindowVisible.isEmpty(), true);
// When the screen or device is locked and the urgency is not high enough, so the notification shouldn't be shown
gQmLocksStub->stubSetReturnValue("getState", MeeGo::QmLocks::Locked);
presenter.updateNotification(1);
QCOMPARE(changedSpy.count(), 0);
QCOMPARE(homeWindowVisible.isEmpty(), true);
// The notification should be considered presented
QCOMPARE(presentedSpy.count(), 1);
QCOMPARE(presentedSpy.last().at(0).toUInt(), (uint)1);
// Urgency set to critical, so the notification should be shown
hints.insert(NotificationManager::HINT_URGENCY, 2);
notification->setHints(hints);
presenter.updateNotification(1);
QCOMPARE(changedSpy.count(), 1);
QCOMPARE(homeWindowVisible.isEmpty(), false);
QCOMPARE(homeWindowVisible[homeWindows.first()], true);
QCOMPARE(presentedSpy.count(), 2);
QCOMPARE(presentedSpy.last().at(0).toUInt(), (uint)1);
}