Browse Source

Test popup remapping and keep headless input tests isolated

master
evgeny 4 days ago
parent
commit
0d618964a7
  1. 2
      tools/chatgui/src/user_activity_monitor.cpp
  2. 18
      tools/chatgui/tests/test_message_notification.cpp

2
tools/chatgui/src/user_activity_monitor.cpp

@ -184,6 +184,8 @@ void UserActivityMonitor::useLocalActivity() {
}
qint64 UserActivityMonitor::systemIdleTime() {
const QString platform = QGuiApplication::platformName();
if (platform == "offscreen" || platform == "minimal") return -1;
#ifdef Q_OS_WIN
LASTINPUTINFO info = {sizeof(info), 0};
if (!GetLastInputInfo(&info)) { GUI_WARN("activity: GetLastInputInfo failed error=%lu", GetLastError()); return -1; }

18
tools/chatgui/tests/test_message_notification.cpp

@ -154,6 +154,24 @@ private slots:
QCOMPARE(activated.size(), 1);
}
void remappingKeepsControlsUsable() {
MessageNotification notification;
QSignalSpy activated(&notification, &MessageNotification::activated);
notification.showMessage("42", "Alice", "First channel", {});
notification.showMessage("dm:7", "Bob", "Second channel", {});
QVERIFY(notification.isVisible());
auto* closeButton = notification.findChild<QPushButton*>("notificationCloseButton");
QVERIFY(closeButton);
QTest::mouseClick(closeButton, Qt::LeftButton);
QVERIFY(!notification.isVisible());
notification.showMessage("43", "Charlie", "Third channel", {});
QVERIFY(notification.isVisible());
QTest::mouseClick(&notification, Qt::LeftButton, Qt::NoModifier, QPoint(30, notification.height() - 15));
QVERIFY(!notification.isVisible());
QCOMPARE(activated.size(), 1);
QCOMPARE(activated[0][0].toString(), QString("43"));
}
#ifdef UTUN_TEST_ACTIVITY_DBUS
void gnomeIdleAndStaleReplies() {
// Разные соединения исключают прямой вызов внутри Qt, чтобы задержка действительно прошла через D-Bus.

Loading…
Cancel
Save