Files
omarchy-pkgs/pkgbuilds/omarchy-task-manager/pause-resume-test.patch
T

64 lines
2.5 KiB
Diff

diff --git a/tests/bridge_test.cpp b/tests/bridge_test.cpp
index bab79f2..9bed7be 100644
--- a/tests/bridge_test.cpp
+++ b/tests/bridge_test.cpp
@@ -79,37 +79,53 @@ private slots:
const auto before = bridge.history().size();
QTest::qWait(1100);
QCOMPARE(bridge.history().size(), before);
- QSignalSpy samples(&bridge, &Bridge::snapshotChanged);
+ // Capture at emission: QTRY processes events, so another timer sample can
+ // replace bridge.snapshot() before the waiting assertion runs.
+ QVariantList samples;
+ QList<int> historySizes;
+ QObject sampleObserver; // Disconnect before the captured lists are destroyed.
+ connect(&bridge, &Bridge::snapshotChanged, &sampleObserver, [&] {
+ samples.append(bridge.snapshot());
+ historySizes.append(bridge.history().size());
+ });
bridge.setPaused(false);
QTRY_VERIFY_WITH_TIMEOUT(samples.count() > 0, 8000);
- QVERIFY(!bridge.snapshot()
+ QVERIFY(!samples.first().toMap()
.value("system")
.toMap()
.value("continuous")
.toBool());
- QCOMPARE(bridge.history().size(), 1);
+ QCOMPARE(historySizes.first(), 1);
bridge.active(false);
QTest::qWait(600);
samples.clear();
+ historySizes.clear();
bridge.active(true);
QTRY_VERIFY_WITH_TIMEOUT(samples.count() > 0, 8000);
- QVERIFY(!bridge.snapshot()
+ QVERIFY(!samples.first().toMap()
.value("system")
.toMap()
.value("continuous")
.toBool());
QTRY_VERIFY_WITH_TIMEOUT(!bridge.busy(), 8000);
samples.clear();
+ historySizes.clear();
bridge.refresh();
QVERIFY(bridge.busy());
bridge.setPaused(true);
bridge.setPaused(false);
QTRY_VERIFY_WITH_TIMEOUT(samples.count() > 0, 8000);
- QVERIFY(!bridge.snapshot()
+ QVERIFY(!samples.first().toMap()
.value("system")
.toMap()
.value("continuous")
.toBool());
+ QCOMPARE(historySizes.first(), 1);
+ // Keep automatic refresh enabled. The baseline must be followed by a
+ // continuous sample; inspecting only the latest snapshot misses this order.
+ QTRY_VERIFY_WITH_TIMEOUT(samples.count() >= 2, 8000);
+ QVERIFY(samples.at(1).toMap().value("system").toMap()
+ .value("continuous").toBool());
QTRY_VERIFY_WITH_TIMEOUT(!bridge.busy(), 8000);
QVERIFY(bridge.prepareManagement({{"category", "startup"}}).isEmpty());
QVERIFY(