summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-02-29 12:34:31 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2016-02-29 12:34:31 +0100
commita224dfc9d19757734bf49fcefdeaad5d855dfe98 (patch)
tree83b61bea7fa243557febe9652f3f16d265a2689a /tests/auto
parentbe84480785b9686dc09937fa33b685de7cc570f1 (diff)
parentf253f4c3310655933266f62e90f46fd12b5c49e4 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts: tests/auto/corelib/io/qprocess/tst_qprocess.cpp Change-Id: Ib6955eb874b516b185b45d6c38cec646fbaa95f4
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/corelib/io/qprocess/tst_qprocess.cpp35
-rw-r--r--tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp2
-rw-r--r--tests/auto/gui/image/qpixmap/tst_qpixmap.cpp9
-rw-r--r--tests/auto/gui/kernel/qguimetatype/tst_qguimetatype.cpp8
-rw-r--r--tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp19
-rw-r--r--tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp26
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp6
7 files changed, 67 insertions, 38 deletions
diff --git a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
index 0d690312e4..e5195000aa 100644
--- a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
+++ b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
@@ -40,15 +40,7 @@
#include <QtNetwork/QHostInfo>
#include <stdlib.h>
-#ifndef QT_NO_PROCESS
# include <private/qprocess_p.h> // only so we get QPROCESS_USE_SPAWN
-# if defined(Q_OS_WIN)
-# include <windows.h>
-# endif
-
-Q_DECLARE_METATYPE(QProcess::ExitStatus);
-Q_DECLARE_METATYPE(QProcess::ProcessState);
-#endif
typedef void (QProcess::*QProcessFinishedSignal1)(int);
typedef void (QProcess::*QProcessFinishedSignal2)(int, QProcess::ExitStatus);
@@ -1052,24 +1044,33 @@ private:
void tst_QProcess::softExitInSlots_data()
{
QTest::addColumn<QString>("appName");
+ QTest::addColumn<int>("signalToConnect");
+ QByteArray dataTagPrefix("gui app ");
#ifndef QT_NO_WIDGETS
- QTest::newRow("gui app") << "testGuiProcess/testGuiProcess";
+ for (int i = 0; i < 6; ++i) {
+ QTest::newRow(dataTagPrefix + QByteArray::number(i))
+ << "testGuiProcess/testGuiProcess" << i;
+ }
#endif
- QTest::newRow("console app") << "testProcessEcho2/testProcessEcho2";
+
+ dataTagPrefix = "console app ";
+ for (int i = 0; i < 6; ++i) {
+ QTest::newRow(dataTagPrefix + QByteArray::number(i))
+ << "testProcessEcho2/testProcessEcho2" << i;
+ }
}
void tst_QProcess::softExitInSlots()
{
QFETCH(QString, appName);
+ QFETCH(int, signalToConnect);
- for (int i = 0; i < 6; ++i) {
- SoftExitProcess proc(i);
- proc.writeAfterStart("OLEBOLE", 8); // include the \0
- proc.start(appName);
- QTRY_VERIFY_WITH_TIMEOUT(proc.waitedForFinished, 10000);
- QCOMPARE(proc.state(), QProcess::NotRunning);
- }
+ SoftExitProcess proc(signalToConnect);
+ proc.writeAfterStart("OLEBOLE", 8); // include the \0
+ proc.start(appName);
+ QTRY_VERIFY_WITH_TIMEOUT(proc.waitedForFinished, 10000);
+ QCOMPARE(proc.state(), QProcess::NotRunning);
}
#endif
diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
index ff049b7600..cfec327319 100644
--- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
+++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
@@ -714,8 +714,6 @@ void tst_QDateTime::fromMSecsSinceEpoch()
QCOMPARE(dtLocal.toLocalTime(), cet);
QCOMPARE(dtUtc.toLocalTime(), cet);
QCOMPARE(dtOffset.toLocalTime(), cet);
- } else {
- QSKIP("You must test using Central European (CET/CEST) time zone, e.g. TZ=Europe/Oslo");
}
// LocalTime will overflow for max
diff --git a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
index 0219738a70..6adfe05fb0 100644
--- a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
+++ b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
@@ -96,6 +96,7 @@ private slots:
void drawBitmap();
void isNull();
void task_246446();
+ void task_51271();
void convertFromImageNoDetach();
void convertFromImageDetach();
@@ -1425,6 +1426,14 @@ void tst_QPixmap::task_246446()
QVERIFY(pm.mask().isNull());
}
+void tst_QPixmap::task_51271()
+{
+ QPixmap pm;
+ QBitmap bm;
+ QVERIFY(!pm.isQBitmap()); // Should not crash !
+ QVERIFY(bm.isQBitmap());
+}
+
void tst_QPixmap::preserveDepth()
{
QPixmap target(64, 64);
diff --git a/tests/auto/gui/kernel/qguimetatype/tst_qguimetatype.cpp b/tests/auto/gui/kernel/qguimetatype/tst_qguimetatype.cpp
index 0ffb0ea45f..8002303723 100644
--- a/tests/auto/gui/kernel/qguimetatype/tst_qguimetatype.cpp
+++ b/tests/auto/gui/kernel/qguimetatype/tst_qguimetatype.cpp
@@ -341,11 +341,11 @@ struct TypeAlignment
void tst_QGuiMetaType::flags_data()
{
QTest::addColumn<int>("type");
- QTest::addColumn<bool>("isMovable");
+ QTest::addColumn<bool>("isRelocatable");
QTest::addColumn<bool>("isComplex");
#define ADD_METATYPE_TEST_ROW(MetaTypeName, MetaTypeId, RealType) \
- QTest::newRow(#RealType) << MetaTypeId << bool(!QTypeInfo<RealType>::isStatic) << bool(QTypeInfo<RealType>::isComplex);
+ QTest::newRow(#RealType) << MetaTypeId << bool(QTypeInfoQuery<RealType>::isRelocatable) << bool(QTypeInfoQuery<RealType>::isComplex);
QT_FOR_EACH_STATIC_GUI_CLASS(ADD_METATYPE_TEST_ROW)
#undef ADD_METATYPE_TEST_ROW
}
@@ -353,12 +353,12 @@ QT_FOR_EACH_STATIC_GUI_CLASS(ADD_METATYPE_TEST_ROW)
void tst_QGuiMetaType::flags()
{
QFETCH(int, type);
- QFETCH(bool, isMovable);
+ QFETCH(bool, isRelocatable);
QFETCH(bool, isComplex);
QCOMPARE(bool(QMetaType::typeFlags(type) & QMetaType::NeedsConstruction), isComplex);
QCOMPARE(bool(QMetaType::typeFlags(type) & QMetaType::NeedsDestruction), isComplex);
- QCOMPARE(bool(QMetaType::typeFlags(type) & QMetaType::MovableType), isMovable);
+ QCOMPARE(bool(QMetaType::typeFlags(type) & QMetaType::MovableType), isRelocatable);
}
diff --git a/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp b/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
index 9d9ca6fb43..eb056475d1 100644
--- a/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
+++ b/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
@@ -1623,7 +1623,24 @@ void tst_QPrinter::resolution()
// Test set/get
int expected = 333;
#ifdef Q_OS_MAC
- // Set resolution does nothing on OSX, see QTBUG-7000
+ // QMacPrintEngine chooses the closest supported resolution.
+ const QList<int> all_supported = native.supportedResolutions();
+ foreach (int supported, all_supported) {
+ // Test setting a supported resolution
+ int requested = supported;
+ native.setResolution(requested);
+ QCOMPARE(native.resolution(), requested);
+
+ // Test setting an unsupported resolution
+ do {
+ requested += 5;
+ } while (all_supported.contains(requested));
+ native.setResolution(requested);
+ int result = native.resolution();
+ QVERIFY(all_supported.contains(result));
+ QVERIFY(qAbs(result - requested) <= qAbs(supported - requested));
+ }
+
expected = native.resolution();
#endif // Q_OS_MAC
native.setResolution(expected);
diff --git a/tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp b/tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp
index 63be3de3ab..6528c24c1a 100644
--- a/tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp
+++ b/tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp
@@ -555,6 +555,11 @@ void tst_QDialog::reject()
QCOMPARE(dialog.called, 4);
}
+static QByteArray formatPoint(QPoint p)
+{
+ return QByteArray::number(p.x()) + ", " + QByteArray::number(p.y());
+}
+
void tst_QDialog::snapToDefaultButton()
{
#ifdef QT_NO_CURSOR
@@ -563,9 +568,9 @@ void tst_QDialog::snapToDefaultButton()
if (!QGuiApplication::platformName().compare(QLatin1String("wayland"), Qt::CaseInsensitive))
QSKIP("Wayland: Wayland does not support setting the cursor position.");
- QPoint topLeftPos = QApplication::desktop()->availableGeometry().topLeft();
- topLeftPos = QPoint(topLeftPos.x() + 100, topLeftPos.y() + 100);
- QPoint startingPos(topLeftPos.x() + 250, topLeftPos.y() + 250);
+ const QRect dialogGeometry(QApplication::desktop()->availableGeometry().topLeft()
+ + QPoint(100, 100), QSize(200, 200));
+ const QPoint startingPos = dialogGeometry.bottomRight() + QPoint(100, 100);
QCursor::setPos(startingPos);
#ifdef Q_OS_OSX
// On OS X we use CGEventPost to move the cursor, it needs at least
@@ -576,17 +581,14 @@ void tst_QDialog::snapToDefaultButton()
QDialog dialog;
QPushButton *button = new QPushButton(&dialog);
button->setDefault(true);
- dialog.setGeometry(QRect(topLeftPos, QSize(200, 200)));
+ dialog.setGeometry(dialogGeometry);
dialog.show();
QVERIFY(QTest::qWaitForWindowExposed(&dialog));
- if (const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme()) {
- if (theme->themeHint(QPlatformTheme::DialogSnapToDefaultButton).toBool()) {
- QPoint localPos = button->mapFromGlobal(QCursor::pos());
- QVERIFY(button->rect().contains(localPos));
- } else {
- QCOMPARE(startingPos, QCursor::pos());
- }
- }
+ const QPoint localPos = button->mapFromGlobal(QCursor::pos());
+ if (QGuiApplicationPrivate::platformTheme()->themeHint(QPlatformTheme::DialogSnapToDefaultButton).toBool())
+ QVERIFY2(button->rect().contains(localPos), formatPoint(localPos).constData());
+ else
+ QVERIFY2(!button->rect().contains(localPos), formatPoint(localPos).constData());
#endif // !QT_NO_CURSOR
}
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
index afee548c9b..515ddf480f 100644
--- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
@@ -4974,7 +4974,9 @@ static inline QByteArray msgRgbMismatch(unsigned actual, unsigned expected)
static QPixmap grabWindow(QWindow *window, int x, int y, int width, int height)
{
QScreen *screen = window->screen();
- return screen ? screen->grabWindow(window->winId(), x, y, width, height) : QPixmap();
+ Q_ASSERT(screen);
+ QPixmap result = screen->grabWindow(window->winId(), x, y, width, height);
+ return result.devicePixelRatio() > 1 ? result.scaled(width, height) : result;
}
#define VERIFY_COLOR(child, region, color) verifyColor(child, region, color, __LINE__)
@@ -8500,7 +8502,7 @@ void tst_QWidget::translucentWidget()
#ifdef Q_OS_WIN
QWidget *desktopWidget = QApplication::desktop()->screen(0);
if (QSysInfo::windowsVersion() >= QSysInfo::WV_VISTA)
- widgetSnapshot = qApp->primaryScreen()->grabWindow(desktopWidget->winId(), labelPos.x(), labelPos.y(), label.width(), label.height());
+ widgetSnapshot = grabWindow(desktopWidget->windowHandle(), labelPos.x(), labelPos.y(), label.width(), label.height());
else
#endif
widgetSnapshot = label.grab(QRect(QPoint(0, 0), label.size()));