From 2781208361b6fb32fa41bc688a733947713b965e Mon Sep 17 00:00:00 2001 From: evgeny Date: Tue, 20 Oct 2026 20:42:23 +0200 Subject: [PATCH] Exercise native preview clicks and publisher controls escape --- tools/chatgui/tests/test_stream_publish.cpp | 7 ++++++- tools/chatgui/tests/test_stream_view.cpp | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/chatgui/tests/test_stream_publish.cpp b/tools/chatgui/tests/test_stream_publish.cpp index ad8ae57f..b002e9fc 100644 --- a/tools/chatgui/tests/test_stream_publish.cpp +++ b/tools/chatgui/tests/test_stream_publish.cpp @@ -916,7 +916,12 @@ private slots: QObject::disconnect(sink, nullptr, &engine, nullptr); StreamPublishWindow controls(&engine, group); controls.show(); auto* preview = controls.findChild(); QVERIFY(preview); - QTRY_VERIFY(preview->videoSink()->videoFrame().isValid()); controls.close(); QVERIFY(engine.running()); + QTRY_VERIFY(preview->videoSink()->videoFrame().isValid()); + QSignalSpy closed(&controls, &StreamPublishWindow::closed); + controls.activateWindow(); QVERIFY(QTest::qWaitForWindowActive(&controls)); + auto* sourceChoice = controls.findChild(); QVERIFY(sourceChoice); sourceChoice->setFocus(); + QTest::keyClick(sourceChoice, Qt::Key_Escape); + QTRY_COMPARE(closed.count(), 1); QVERIFY(!controls.isVisible()); QVERIFY(engine.running()); uint64_t first = out.pts; unsigned audio = 0, video = 0; uint64_t latest = first, left = 0, right = 0; auto* decoder = opus_codec_decoder_create(48000, 2); QVERIFY(decoder); QElapsedTimer elapsed; elapsed.start(); diff --git a/tools/chatgui/tests/test_stream_view.cpp b/tools/chatgui/tests/test_stream_view.cpp index 5e3c8fd6..339ef248 100644 --- a/tools/chatgui/tests/test_stream_view.cpp +++ b/tools/chatgui/tests/test_stream_view.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #ifdef HAVE_STREAM_CAPTURE #include #include @@ -513,6 +514,10 @@ private slots: QSignalSpy manage(&grid, &StreamGridWindow::publishRequested); QTest::mouseClick(preview, Qt::LeftButton); QTRY_COMPARE(manage.count(), 1); QCOMPARE(manage.at(0).at(0).toULongLong(), group); QCOMPARE(grid.focusedSource(), uint64_t(0)); + auto nativeWindows = preview->findChildren(); + DEBUG_INFO(DEBUG_CATEGORY_STREAM, "fixture local preview native_windows=%lld", (long long)nativeWindows.size()); + QVERIFY(!nativeWindows.isEmpty()); + QTest::mouseClick(nativeWindows.first(), Qt::LeftButton); QTRY_COMPARE(manage.count(), 2); snapshot(true); QPointer remote = grid.findChild(); QVERIFY(remote); auto* video = remote->findChild(); QVERIFY(video);