Files
yourls-ui/tests/clipboardresultdialog_test.cpp
T
2026-10-01 11:53:34 -04:00

41 lines
1.6 KiB
C++

#include "../clipboardresultdialog.h"
#include <QTest>
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"