#include "../clipboardresultdialog.h" #include class ClipboardResultDialogTest : public QObject { Q_OBJECT private slots: void inactiveWindowDoesNotOverwriteClipboard() { auto *clipboard = QGuiApplication::clipboard(); clipboard->setText (QStringLiteral ("original")); ClipboardResultDialog dialog (QUrl (QStringLiteral ("https://cut.himro.ca/h")), true); QVERIFY (!dialog.copyShortUrl()); QCOMPARE (clipboard->text(), QStringLiteral ("original")); } void focusCopiesAndRetryRestoresShortUrl() { const QUrl shortUrl (QStringLiteral ("https://cut.himro.ca/h?value=a%26b#section")); auto *clipboard = QGuiApplication::clipboard(); clipboard->setText (QStringLiteral ("original")); ClipboardResultDialog dialog (shortUrl, true); dialog.show(); dialog.activateWindow(); QTRY_VERIFY (dialog.isActiveWindow()); QTRY_COMPARE (clipboard->text(), shortUrl.toString (QUrl::FullyEncoded)); QVERIFY (dialog.copyStatusLabel()->text().contains (QStringLiteral ("copied"))); clipboard->setText (QStringLiteral ("other text")); QVERIFY (dialog.copyShortUrl()); QCOMPARE (clipboard->text(), shortUrl.toString (QUrl::FullyEncoded)); dialog.accept(); QCOMPARE (clipboard->text(), shortUrl.toString (QUrl::FullyEncoded)); } void platformsWithoutFocusRequirementCopyImmediately() { ClipboardResultDialog dialog (QUrl (QStringLiteral ("https://cut.himro.ca/h")), false); QVERIFY (dialog.copyShortUrl()); QCOMPARE (QGuiApplication::clipboard()->text(), QStringLiteral ("https://cut.himro.ca/h")); } }; QTEST_MAIN (ClipboardResultDialogTest) #include "clipboardresultdialog_test.moc"