diff options
author | J-P Nurmi <jpnurmi@digia.com> | 2012-09-19 10:12:15 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-09-27 09:14:51 +0200 |
commit | b0b7d9cf6b213cebcdc5be7583119af15feb5bf6 (patch) | |
tree | 476d2920ebe6df5b8cdd988ec272887c8863e6a2 /tests/auto/gui/kernel/qclipboard | |
parent | 13fe38ebb992a045dae8cb817d180f690429fb23 (diff) |
Revise QClipboard auto tests
Use PlatformClipboard::isAvailable() and fix build
when QT_NO_CLIPBOARD is defined.
Change-Id: I18c3af42fe39cf7618c2530723149848a10db985
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Diffstat (limited to 'tests/auto/gui/kernel/qclipboard')
-rw-r--r-- | tests/auto/gui/kernel/qclipboard/copier/main.cpp | 2 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qclipboard/paster/main.cpp | 6 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp | 49 |
3 files changed, 33 insertions, 24 deletions
diff --git a/tests/auto/gui/kernel/qclipboard/copier/main.cpp b/tests/auto/gui/kernel/qclipboard/copier/main.cpp index e0501b8b6f..0d9c29b028 100644 --- a/tests/auto/gui/kernel/qclipboard/copier/main.cpp +++ b/tests/auto/gui/kernel/qclipboard/copier/main.cpp @@ -51,6 +51,8 @@ int main(int argc, char **argv) if (arguments.size() > 1) paste = arguments.at(1); #endif +#ifndef QT_NO_CLIPBOARD QGuiApplication::clipboard()->setText(paste); +#endif return 0; } diff --git a/tests/auto/gui/kernel/qclipboard/paster/main.cpp b/tests/auto/gui/kernel/qclipboard/paster/main.cpp index 5c6a3d5511..9b2c34c805 100644 --- a/tests/auto/gui/kernel/qclipboard/paster/main.cpp +++ b/tests/auto/gui/kernel/qclipboard/paster/main.cpp @@ -51,5 +51,9 @@ int main(int argc, char **argv) if (arguments.size() > 1) expected = arguments.at(1); #endif - return QGuiApplication::clipboard()->text() == expected ? 0 : 1; + QString actual; +#ifndef QT_NO_CLIPBOARD + actual = QGuiApplication::clipboard()->text(); +#endif + return actual == expected ? 0 : 1; } diff --git a/tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp b/tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp index 543856d536..5e3735ce3d 100644 --- a/tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp +++ b/tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp @@ -46,14 +46,16 @@ #include <QtCore/QDir> #include <QtGui/QGuiApplication> #include <QtGui/QClipboard> -#ifdef Q_OS_MAC -#include <Carbon/Carbon.h> -#endif +#include "../../../shared/platformclipboard.h" class tst_QClipboard : public QObject { Q_OBJECT private slots: +#ifdef QT_NO_CLIPBOARD + void initTestCase(); + void cleanupTestCase(); +#else void init(); void copy_exit_paste(); void capabilityFunctions(); @@ -61,27 +63,26 @@ private slots: void testSignals(); void setMimeData(); void clearBeforeSetText(); - -private: - bool nativeClipboardWorking(); +#endif }; -void tst_QClipboard::init() +#ifdef QT_NO_CLIPBOARD +void tst_QClipboard::initTestCase() { - const QString testdataDir = QFileInfo(QFINDTESTDATA("copier")).absolutePath(); - QVERIFY2(QDir::setCurrent(testdataDir), qPrintable("Could not chdir to " + testdataDir)); + QSKIP("This test requires clipboard support"); } -bool tst_QClipboard::nativeClipboardWorking() +void tst_QClipboard::cleanupTestCase() { -#ifdef Q_OS_MAC - PasteboardRef pasteboard; - OSStatus status = PasteboardCreate(0, &pasteboard); - if (status == noErr) - CFRelease(pasteboard); - return status == noErr; -#endif - return true; + QSKIP("This test requires clipboard support"); +} + +#else + +void tst_QClipboard::init() +{ + const QString testdataDir = QFileInfo(QFINDTESTDATA("copier")).absolutePath(); + QVERIFY2(QDir::setCurrent(testdataDir), qPrintable("Could not chdir to " + testdataDir)); } Q_DECLARE_METATYPE(QClipboard::Mode) @@ -109,7 +110,7 @@ void tst_QClipboard::modes() { QClipboard * const clipboard = QGuiApplication::clipboard(); - if (!nativeClipboardWorking()) + if (!PlatformClipboard::isAvailable()) QSKIP("Native clipboard not working in this setup"); const QString defaultMode = "default mode text;"; @@ -139,7 +140,7 @@ void tst_QClipboard::testSignals() { qRegisterMetaType<QClipboard::Mode>("QClipboard::Mode"); - if (!nativeClipboardWorking()) + if (!PlatformClipboard::isAvailable()) QSKIP("Native clipboard not working in this setup"); QClipboard * const clipboard = QGuiApplication::clipboard(); @@ -236,7 +237,7 @@ void tst_QClipboard::copy_exit_paste() QSKIP("This test does not make sense on X11 and embedded, copied data disappears from the clipboard when the application exits "); // ### It's still possible to test copy/paste - just keep the apps running #endif - if (!nativeClipboardWorking()) + if (!PlatformClipboard::isAvailable()) QSKIP("Native clipboard not working in this setup"); const QStringList stringArgument(QStringLiteral("Test string.")); QByteArray errorMessage; @@ -253,7 +254,7 @@ void tst_QClipboard::copy_exit_paste() void tst_QClipboard::setMimeData() { - if (!nativeClipboardWorking()) + if (!PlatformClipboard::isAvailable()) QSKIP("Native clipboard not working in this setup"); QMimeData *mimeData = new QMimeData; const QString TestName(QLatin1String("tst_QClipboard::setMimeData() mimeData")); @@ -339,7 +340,7 @@ void tst_QClipboard::clearBeforeSetText() { QGuiApplication::processEvents(); - if (!nativeClipboardWorking()) + if (!PlatformClipboard::isAvailable()) QSKIP("Native clipboard not working in this setup"); const QString text = "tst_QClipboard::clearBeforeSetText()"; @@ -371,6 +372,8 @@ void tst_QClipboard::clearBeforeSetText() QCOMPARE(QGuiApplication::clipboard()->text(), text); } +#endif + QTEST_MAIN(tst_QClipboard) #include "tst_qclipboard.moc" |