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/qkeysequence/tst_qkeysequence.cpp | 30 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp | 24 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qmouseevent_modal/tst_qmouseevent_modal.cpp | 8 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qwindow/tst_qwindow.cpp | 63 |
9 files changed, 123 insertions, 38 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 7512829e09..336564bc59 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/qkeysequence/tst_qkeysequence.cpp b/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp index 493d7e20c5..94353703dc 100644 --- a/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp +++ b/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp @@ -50,7 +50,9 @@ #include <QLibraryInfo> #ifdef Q_OS_MAC +#ifdef Q_OS_OSX #include <Carbon/Carbon.h> +#endif struct MacSpecialKey { int key; ushort macSymbol; @@ -73,10 +75,12 @@ static const MacSpecialKey entries[NumEntries] = { { Qt::Key_Down, 0x2193 }, { Qt::Key_PageUp, 0x21DE }, { Qt::Key_PageDown, 0x21DF }, +#ifdef Q_OS_OSX { Qt::Key_Shift, kShiftUnicode }, { Qt::Key_Control, kCommandUnicode }, { Qt::Key_Meta, kControlUnicode }, { Qt::Key_Alt, kOptionUnicode }, +#endif { Qt::Key_CapsLock, 0x21EA }, }; @@ -527,7 +531,7 @@ void tst_QKeySequence::toStringFromKeycode() void tst_QKeySequence::streamOperators_data() { - operatorQString_data(); + operatorQString_data(); } void tst_QKeySequence::streamOperators() @@ -535,21 +539,21 @@ void tst_QKeySequence::streamOperators() QFETCH( int, modifiers ); QFETCH( int, keycode ); - QByteArray data; - QKeySequence refK( modifiers | keycode ); - QKeySequence orgK( "Ctrl+A" ); - QKeySequence copyOrgK = orgK; - QVERIFY( copyOrgK == orgK ); + QByteArray data; + QKeySequence refK( modifiers | keycode ); + QKeySequence orgK( "Ctrl+A" ); + QKeySequence copyOrgK = orgK; + QVERIFY( copyOrgK == orgK ); - QDataStream in(&data, QIODevice::WriteOnly); - in << refK; - QDataStream out(&data, QIODevice::ReadOnly); - out >> orgK; + QDataStream in(&data, QIODevice::WriteOnly); + in << refK; + QDataStream out(&data, QIODevice::ReadOnly); + out >> orgK; - QVERIFY( orgK == refK ); + QVERIFY( orgK == refK ); - // check if detached - QVERIFY( orgK != copyOrgK ); + // check if detached + QVERIFY( orgK != copyOrgK ); } diff --git a/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp b/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp index 424b5fea3a..828c1fc41f 100644 --- a/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp +++ b/tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp @@ -61,21 +61,21 @@ public: protected: void mousePressEvent(QMouseEvent *e) { - QWindow::mousePressEvent(e); - mousePressButton = e->button(); - mousePressButtons = e->buttons(); - mousePressModifiers = e->modifiers(); - mousePressEventRecieved = true; - e->accept(); + QWindow::mousePressEvent(e); + mousePressButton = e->button(); + mousePressButtons = e->buttons(); + mousePressModifiers = e->modifiers(); + mousePressEventRecieved = true; + e->accept(); } void mouseReleaseEvent(QMouseEvent *e) { - QWindow::mouseReleaseEvent(e); - mouseReleaseButton = e->button(); - mouseReleaseButtons = e->buttons(); - mouseReleaseModifiers = e->modifiers(); - mouseReleaseEventRecieved = true; - e->accept(); + QWindow::mouseReleaseEvent(e); + mouseReleaseButton = e->button(); + mouseReleaseButtons = e->buttons(); + mouseReleaseModifiers = e->modifiers(); + mouseReleaseEventRecieved = true; + e->accept(); } }; diff --git a/tests/auto/gui/kernel/qmouseevent_modal/tst_qmouseevent_modal.cpp b/tests/auto/gui/kernel/qmouseevent_modal/tst_qmouseevent_modal.cpp index ef800bd995..48f079a24e 100644 --- a/tests/auto/gui/kernel/qmouseevent_modal/tst_qmouseevent_modal.cpp +++ b/tests/auto/gui/kernel/qmouseevent_modal/tst_qmouseevent_modal.cpp @@ -183,9 +183,9 @@ TstWidget::TstWidget() connect( pb, SIGNAL(pressed()), this, SLOT(buttonPressed()) ); -// QScrollBar *sb = new QScrollBar( Qt::Horizontal, this ); +// QScrollBar *sb = new QScrollBar( Qt::Horizontal, this ); -// sb->setGeometry( 5, pb->geometry().bottom() + 5, 100, sb->sizeHint().height() ); +// sb->setGeometry( 5, pb->geometry().bottom() + 5, 100, sb->sizeHint().height() ); d = new TstDialog( pb, this , 0 ); } @@ -218,8 +218,8 @@ void TstDialog::releaseMouse() void TstDialog::closeDialog() { if ( isVisible() ) { - c++; - accept(); + c++; + accept(); } } 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) |