summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-01-03 14:20:01 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-01-04 11:12:05 +0100
commitca2f44680cb97e7a7c46ee0ab26654822fe65e2d (patch)
treeb9d85ad8ec1b18a6aa56b7657812cf3791bdf72e /tests/auto/widgets/widgets
parent28a21d98ef8d880a6dd86ee19dd803424bb5eae1 (diff)
parent83188c6499ccdc87c0a2c468bb497e287f5db369 (diff)
Merge branch 'stable' into dev
Conflicts: examples/widgets/painting/shared/shared.pri src/corelib/tools/qharfbuzz_p.h src/corelib/tools/qunicodetools.cpp src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp src/plugins/platforms/windows/qwindowsfontdatabase.cpp Change-Id: Ibc9860abf570e5ce8b052fb88feb73ec35e64bd3
Diffstat (limited to 'tests/auto/widgets/widgets')
-rw-r--r--tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp16
-rw-r--r--tests/auto/widgets/widgets/qmdiarea/qmdiarea.pro2
-rw-r--r--tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp9
-rw-r--r--tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp41
4 files changed, 52 insertions, 16 deletions
diff --git a/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp b/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp
index 0420ecf1e0..d39b187c8b 100644
--- a/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp
+++ b/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp
@@ -238,17 +238,17 @@ void tst_QAbstractScrollArea::setScrollBars2()
// Hide the OLD scroll bar and ensure that the NEW one is hidden.
hbar->hide();
- scrollArea.setHorizontalScrollBar(new QScrollBar);
- qApp->processEvents();
- QVERIFY(!scrollArea.horizontalScrollBar()->isVisible());
+ hbar = new QScrollBar(&scrollArea);
+ scrollArea.setHorizontalScrollBar(hbar);
+ QVERIFY(!hbar->isVisibleTo(hbar->parentWidget()));
vbar->hide();
- scrollArea.setVerticalScrollBar(new QScrollBar);
- qApp->processEvents();
- QVERIFY(!scrollArea.verticalScrollBar()->isVisible());
+ vbar = new QScrollBar(&scrollArea);
+ scrollArea.setVerticalScrollBar(vbar);
+ QVERIFY(!vbar->isVisibleTo(vbar->parentWidget()));
- scrollArea.verticalScrollBar()->show();
- scrollArea.horizontalScrollBar()->show();
+ vbar->show();
+ hbar->show();
// Hide the NEW scroll bar and ensure that it's visible
// (because the OLD one is visible).
diff --git a/tests/auto/widgets/widgets/qmdiarea/qmdiarea.pro b/tests/auto/widgets/widgets/qmdiarea/qmdiarea.pro
index 141392b251..cc2bcb3c30 100644
--- a/tests/auto/widgets/widgets/qmdiarea/qmdiarea.pro
+++ b/tests/auto/widgets/widgets/qmdiarea/qmdiarea.pro
@@ -6,7 +6,7 @@ QT += gui-private widgets testlib
INCLUDEPATH += .
SOURCES += tst_qmdiarea.cpp
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-contains(QT_CONFIG, opengl):QT += opengl
+qtHaveModule(opengl): QT += opengl
mac {
LIBS += -framework Security
diff --git a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp
index 5aa7b19917..ba5c461223 100644
--- a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp
+++ b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp
@@ -1733,9 +1733,9 @@ void tst_QMdiArea::tileSubWindows()
QTRY_COMPARE(workspace.viewport()->rect().size(), expectedViewportSize);
// Not enough space for all sub-windows to be visible -> provide scroll bars.
- workspace.resize(150, 150);
+ workspace.resize(160, 150);
qApp->processEvents();
- QTRY_COMPARE(workspace.size(), QSize(150, 150));
+ QTRY_COMPARE(workspace.size(), QSize(160, 150));
// Horizontal scroll bar.
QScrollBar *hBar = workspace.horizontalScrollBar();
@@ -2594,7 +2594,10 @@ void tst_QMdiArea::nativeSubWindows()
const QString platformName = QGuiApplication::platformName();
if (platformName != QLatin1String("xcb") && platformName != QLatin1String("windows"))
QSKIP(qPrintable(QString::fromLatin1("nativeSubWindows() does not work on this platform (%1).").arg(platformName)));
-
+#ifdef QT_OPENGL_ES_2_ANGLE
+ if (platformName == QLatin1String("windows"))
+ QSKIP("nativeSubWindows() does not work with ANGLE on Windows, QTBUG-28545.");
+#endif
{ // Add native widgets after show.
QMdiArea mdiArea;
mdiArea.addSubWindow(new QWidget);
diff --git a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp
index 2535e23ab8..3aefe26b1c 100644
--- a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp
+++ b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp
@@ -1016,6 +1016,25 @@ void tst_QMenuBar::check_shortcutPress()
}
#endif
+class LayoutDirectionSaver
+{
+ Q_DISABLE_COPY(LayoutDirectionSaver)
+public:
+ explicit LayoutDirectionSaver(Qt::LayoutDirection direction)
+ : m_oldDirection(qApp->layoutDirection())
+ {
+ qApp->setLayoutDirection(direction);
+ }
+
+ ~LayoutDirectionSaver()
+ {
+ qApp->setLayoutDirection(m_oldDirection);
+ }
+
+private:
+ const Qt::LayoutDirection m_oldDirection;
+};
+
// Qt/Mac,WinCE does not use the native popups/menubar
#if !defined(Q_OS_MAC) && !defined(Q_OS_WINCE)
void tst_QMenuBar::check_menuPosition()
@@ -1070,10 +1089,9 @@ void tst_QMenuBar::check_menuPosition()
menu.close();
}
- //in RTL, the menu should be stuck at the right of the action geometry
+ // QTBUG-2596: in RTL, the menu should be stuck at the right of the action geometry
{
- Qt::LayoutDirection dir = qApp->layoutDirection();
- qApp->setLayoutDirection(Qt::RightToLeft);
+ LayoutDirectionSaver directionSaver(Qt::RightToLeft);
menu.clear();
QObject::connect(&menu, SIGNAL(aboutToShow()), &menu, SLOT(addActions()));
QRect mbItemRect = mw->menuBar()->actionGeometry(menu_action);
@@ -1082,8 +1100,23 @@ void tst_QMenuBar::check_menuPosition()
QVERIFY(menu.isActiveWindow());
QCOMPARE(menu.geometry().right(), mbItemRect.right());
menu.close();
- qApp->setLayoutDirection(dir);
}
+
+# ifndef QTEST_NO_CURSOR
+ // QTBUG-28031: Click at bottom-right corner.
+ {
+ mw->move(400, 200);
+ LayoutDirectionSaver directionSaver(Qt::RightToLeft);
+ QMenuBar *mb = mw->menuBar();
+ const QPoint localPos = mb->actionGeometry(menu.menuAction()).bottomRight() - QPoint(1, 1);
+ const QPoint globalPos = mb->mapToGlobal(localPos);
+ QCursor::setPos(globalPos);
+ QTest::mouseClick(mb, Qt::LeftButton, 0, localPos);
+ QTRY_VERIFY(menu.isActiveWindow());
+ QCOMPARE(menu.geometry().right() - 1, globalPos.x());
+ menu.close();
+ }
+# endif // QTEST_NO_CURSOR
}
#endif