41 lines
1.6 KiB
C++
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"
|