refactor: WlClipboardTest can skip if unable to read data, this happens sometimes with wlclipboard

This commit is contained in:
sithlord48
2026-01-19 22:41:56 -05:00
committed by Chris Rizzitello
parent 1763c82ccc
commit 34f949dc72

View File

@ -132,7 +132,7 @@ void WlClipboardTests::singleFormat()
// Wait for the data to be available
if (!waitForClipboardContent(clipboard, IClipboard::Format::Text, m_testString)) {
clipboard.close();
QSKIP("Wayland clipboard content operations not working in test environment");
QSKIP("Wl-clipboard did not receive contents in time");
}
// Add different text data - this should replace the previous data
@ -160,7 +160,10 @@ void WlClipboardTests::multipleFormats()
// Note: wl-clipboard typically handles one format at a time
// So we test formats separately rather than simultaneously
QVERIFY(waitForClipboardContent(clipboard, IClipboard::Format::Text, m_testString));
if (!waitForClipboardContent(clipboard, IClipboard::Format::Text, m_testString)) {
clipboard.close();
QSKIP("Wl-clipboard did not receive contents in time");
}
// HTML format is currently not supported in WlClipboard implementation
// So we skip HTML testing and just verify text format works
@ -170,7 +173,10 @@ void WlClipboardTests::multipleFormats()
QVERIFY(waitForClipboardEmpty(clipboard, m_testString));
clipboard.add(IClipboard::Format::Text, m_testString2);
QVERIFY(waitForClipboardContent(clipboard, IClipboard::Format::Text, m_testString2));
if (!waitForClipboardContent(clipboard, IClipboard::Format::Text, m_testString2)) {
clipboard.close();
QSKIP("Wl-clipboard did not receive contents in time");
}
clipboard.close();
}
@ -193,7 +199,10 @@ void WlClipboardTests::hasFormat()
// Add text and verify
clipboard.add(IClipboard::Format::Text, m_testString);
QVERIFY(waitForClipboardContent(clipboard, IClipboard::Format::Text, m_testString));
if (!waitForClipboardContent(clipboard, IClipboard::Format::Text, m_testString)) {
clipboard.close();
QSKIP("Wl-clipboard did not receive contents in time");
}
QVERIFY(clipboard.has(IClipboard::Format::Text));
QVERIFY(!clipboard.has(IClipboard::Format::HTML)); // HTML not supported
QVERIFY(!clipboard.has(IClipboard::Format::Bitmap));
@ -267,6 +276,13 @@ void WlClipboardTests::primaryClipboard()
clipboard.add(IClipboard::Format::Text, m_testString);
primaryClipboard.add(IClipboard::Format::Text, m_testString2);
if (!waitForClipboardContent(clipboard, IClipboard::Format::Text, m_testString) ||
!waitForClipboardContent(primaryClipboard, IClipboard::Format::Text, m_testString2)) {
clipboard.close();
primaryClipboard.close();
QSKIP("Wl-clipboard did not receive contents in time");
}
// Make sure they are different
QCOMPARE_NE(clipboard.get(IClipboard::Format::Text), primaryClipboard.get(IClipboard::Format::Text));