diff options
Diffstat (limited to 'tests/auto/gui/kernel')
-rw-r--r-- | tests/auto/gui/kernel/qguivariant/test/black.png | bin | 0 -> 697 bytes | |||
-rw-r--r-- | tests/auto/gui/kernel/qguivariant/test/black2.png | bin | 0 -> 697 bytes | |||
-rw-r--r-- | tests/auto/gui/kernel/qguivariant/test/test.pro | 1 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp | 29 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.qrc | 6 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qwindow/tst_qwindow.cpp | 63 |
6 files changed, 90 insertions, 9 deletions
diff --git a/tests/auto/gui/kernel/qguivariant/test/black.png b/tests/auto/gui/kernel/qguivariant/test/black.png Binary files differnew file mode 100644 index 0000000000..6c94085ed5 --- /dev/null +++ b/tests/auto/gui/kernel/qguivariant/test/black.png diff --git a/tests/auto/gui/kernel/qguivariant/test/black2.png b/tests/auto/gui/kernel/qguivariant/test/black2.png Binary files differnew file mode 100644 index 0000000000..6c94085ed5 --- /dev/null +++ b/tests/auto/gui/kernel/qguivariant/test/black2.png diff --git a/tests/auto/gui/kernel/qguivariant/test/test.pro b/tests/auto/gui/kernel/qguivariant/test/test.pro index e3b4a350ca..c4123797d2 100644 --- a/tests/auto/gui/kernel/qguivariant/test/test.pro +++ b/tests/auto/gui/kernel/qguivariant/test/test.pro @@ -2,6 +2,7 @@ CONFIG += testcase CONFIG += parallel_test TARGET = tst_qguivariant SOURCES += tst_qguivariant.cpp +RESOURCES = tst_qguivariant.qrc INCLUDEPATH += $$PWD/../../../../other/qvariant_common QT += testlib RESOURCES += qguivariant.qrc diff --git a/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp b/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp index 42570751fc..efc688f0b1 100644 --- a/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp +++ b/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp @@ -126,6 +126,8 @@ private slots: void implicitConstruction(); void guiVariantAtExit(); + + void iconEquality(); }; void tst_QGuiVariant::constructor_invalid_data() @@ -761,5 +763,32 @@ void tst_QGuiVariant::guiVariantAtExit() QVERIFY(true); } +void tst_QGuiVariant::iconEquality() +{ + QIcon i; + QVariant a = i; + QVariant b = i; + QCOMPARE(a, b); + + i = QIcon(":/black.png"); + a = i; + QVERIFY(a != b); + + b = a; + QCOMPARE(a, b); + + i = QIcon(":/black2.png"); + a = i; + QVERIFY(a != b); + + b = i; + QCOMPARE(a, b); + + // This is a "different" QIcon + // even if the contents are the same + b = QIcon(":/black2.png"); + QVERIFY(a != b); +} + QTEST_MAIN(tst_QGuiVariant) #include "tst_qguivariant.moc" diff --git a/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.qrc b/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.qrc new file mode 100644 index 0000000000..15cfde5788 --- /dev/null +++ b/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.qrc @@ -0,0 +1,6 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource prefix="/"> +<file>black.png</file> +<file>black2.png</file> +</qresource> +</RCC> diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp index 259c840ae7..7e6313295b 100644 --- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp +++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp @@ -61,6 +61,7 @@ private slots: void eventOrderOnShow(); void resizeEventAfterResize(); void mapGlobal(); + void positioning_data(); void positioning(); void isExposed(); void isActive(); @@ -81,6 +82,7 @@ private slots: void windowModality_QTBUG27039(); void visibility(); void mask(); + void initialSize(); void initTestCase() { @@ -93,7 +95,6 @@ private: QTouchDevice *touchDevice; }; - void tst_QWindow::mapGlobal() { QWindow a; @@ -116,10 +117,10 @@ void tst_QWindow::mapGlobal() class Window : public QWindow { public: - Window() + Window(const Qt::WindowFlags flags = Qt::Window | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint) { reset(); - setFlags(Qt::Window | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint); + setFlags(flags); } void reset() @@ -188,6 +189,23 @@ void tst_QWindow::resizeEventAfterResize() QTRY_COMPARE(window.received(QEvent::Resize), 2); } +void tst_QWindow::positioning_data() +{ + QTest::addColumn<int>("windowflags"); + QTest::addColumn<int>("resizecount"); + + QTest::newRow("default") << int(Qt::Window | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint | Qt::WindowFullscreenButtonHint) +#if defined(Q_OS_OSX) && MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7 + << 4; +#else + << 3; +#endif + +#ifdef Q_OS_OSX + QTest::newRow("fake") << int(Qt::Window | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint) << 4; +#endif +} + void tst_QWindow::positioning() { if (!QGuiApplicationPrivate::platformIntegration()->hasCapability( @@ -200,7 +218,9 @@ void tst_QWindow::positioning() const QSize size = QSize(300, 40); const QRect geometry(QPoint(80, 80), size); - Window window; + QFETCH(int, windowflags); + QFETCH(int, resizecount); + Window window((Qt::WindowFlags)windowflags); window.setGeometry(QRect(QPoint(20, 20), size)); window.setFramePosition(QPoint(40, 40)); // Move window around before show, size must not change. QCOMPARE(window.geometry().size(), size); @@ -223,14 +243,13 @@ void tst_QWindow::positioning() window.setWindowState(Qt::WindowFullScreen); QCoreApplication::processEvents(); -#ifdef Q_OS_OSX - QEXPECT_FAIL("", "Multiple failures in this test on Mac OS X, see QTBUG-23059", Abort); -#endif QTRY_COMPARE(window.received(QEvent::Resize), 2); + QTest::qWait(2000); + window.setWindowState(Qt::WindowNoState); QCoreApplication::processEvents(); - QTRY_COMPARE(window.received(QEvent::Resize), 3); + QTRY_COMPARE(window.received(QEvent::Resize), resizecount); QTRY_COMPARE(originalPos, window.position()); QTRY_COMPARE(originalFramePos, window.framePosition()); @@ -239,7 +258,7 @@ void tst_QWindow::positioning() // if our positioning is actually fully respected by the window manager // test whether it correctly handles frame positioning as well if (originalPos == geometry.topLeft() && (originalMargins.top() != 0 || originalMargins.left() != 0)) { - QPoint framePos = QGuiApplication::primaryScreen()->availableVirtualGeometry().topLeft() + QPoint(40, 40); + QPoint framePos = QPlatformScreen::platformScreenForWindow(&window)->availableGeometry().topLeft() + QPoint(40, 40); window.reset(); window.setFramePosition(framePos); @@ -1168,6 +1187,32 @@ void tst_QWindow::mask() QCOMPARE(window.mask(), mask); } +void tst_QWindow::initialSize() +{ + QSize defaultSize(0,0); + { + Window w; + w.show(); + QTRY_VERIFY(w.width() > 0); + QTRY_VERIFY(w.height() > 0); + defaultSize = QSize(w.width(), w.height()); + } + { + Window w; + w.setWidth(200); + w.show(); + QTRY_COMPARE(w.width(), 200); + QTRY_VERIFY(w.height() > 0); + } + { + Window w; + w.resize(200, 42); + w.show(); + QTRY_COMPARE(w.width(), 200); + QTRY_COMPARE(w.height(), 42); + } +} + #include <tst_qwindow.moc> QTEST_MAIN(tst_QWindow) |