summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/kernel')
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/black.pngbin0 -> 697 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/black2.pngbin0 -> 697 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/test.pro1
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp29
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.qrc6
-rw-r--r--tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp30
-rw-r--r--tests/auto/gui/kernel/qmouseevent/tst_qmouseevent.cpp24
-rw-r--r--tests/auto/gui/kernel/qmouseevent_modal/tst_qmouseevent_modal.cpp8
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp63
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
new file mode 100644
index 0000000000..6c94085ed5
--- /dev/null
+++ b/tests/auto/gui/kernel/qguivariant/test/black.png
Binary files differ
diff --git a/tests/auto/gui/kernel/qguivariant/test/black2.png b/tests/auto/gui/kernel/qguivariant/test/black2.png
new file mode 100644
index 0000000000..6c94085ed5
--- /dev/null
+++ b/tests/auto/gui/kernel/qguivariant/test/black2.png
Binary files differ
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)