summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets
Commit message (Collapse)AuthorAgeFilesLines
* Only emit the clicked() signal from views if the left button is used.Stephen Kelly2012-08-071-0/+25
| | | | | | | | | | | | This is consistent with QAbstractButton, QCalendarWidget, QDialogButtonBox and QGroupBox (ie, all other widgets with a clicked signal) Task-number: QTBUG-26105 Change-Id: Ieafe988b5c03216796b69a7cd70ac1a03fc12b0a Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Ensure that we return an invalid QTableWidgetItem when none is available.Stephen Kelly2012-08-071-0/+16
| | | | | | | Task-number: QTBUG-26195 Change-Id: Iede4f51770bd8c8eab3558137aaf7b1721f25a87 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove some dead code wrapped in Q_WS_QWS.Stephen Kelly2012-08-038-34/+2
| | | | | Change-Id: Ie1ee8c4af603b924abe40145041357981d174445 Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Revert "Move QWindowSystemInterface out of qpa."Paul Olav Tvete2012-08-032-2/+2
| | | | | | | | | | | | | | This reverts commit 784a877d3cd9a1a75aca9c83146389503a966071. Conflicts: src/plugins/platforms/cocoa/qcocoawindow.mm src/testlib/qtestkeyboard.h src/testlib/qtestmouse.h src/testlib/qtesttouch.h Change-Id: Iebfed179b3eb7f30e4c95edcae5a8ad6fd50330e Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove the obsolete scene argument for constructors of graphics itemsLars Knoll2012-08-032-6/+11
| | | | | | | | | The argument has been obsoleted and not documented since 2007. Get rid of it now before Qt 5.0 Task-number: QTBUG-25089 Change-Id: I91a5508a5e1606f5b5c289501295c67be4abe6a0 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Make tests compile without gui-privatePaul Olav Tvete2012-08-023-21/+53
| | | | | | | | | | | | | Add new qt_handleXXX functions that forward to the QWindowSystemInterface functions, and use those in the testlib inline functions. Remove use of struct QWindowSystemInterface::TouchPoint from the testlib header files (requiring some slight increase in ugliness in the two tests that use that struct). Also remove the qmake hack that adds private headers to all tests Change-Id: Iec23537e55a44802f6e9cd463f7a0f82007c5250 Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Set the Qt API level to compatibility mode in all tests.Thiago Macieira2012-08-01125-0/+125
| | | | | | | | | | | Qt 5.0 beta requires changing the default to the 5.0 API, disabling the deprecated code. However, tests should test (and often do) the compatibility API too, so turn it back on. Task-number: QTBUG-25053 Change-Id: I8129c3ef3cb58541c95a32d083850d9e7f768927 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove usage of deprecated qWaitForWindowShown(QWidget *) method.Friedemann Kleint2012-08-0135-233/+219
| | | | | Change-Id: I445d24a09dbb7abb62a37bd9914284f21a4f08f1 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* don't change a widget's active state in QWindowsWindow::setWindowStateJoerg Bornemann2012-08-011-4/+0
| | | | | | | | | | | | | QWindow::setWindowState is not supposed to set the window active. The method requestActivateWindow() should be used for that. When switching from and to fullscreen mode we're always passing SWP_NOACTIVATE to SetWindowPos to not change the activation state of the window. This is inverse to the old behaviour, which did not have an effect. Change-Id: I339337935cdad76b3ef252202e92177f37543038 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* fix window activation in tst_qmdiArea::subWindowActivated2Joerg Bornemann2012-07-311-1/+1
| | | | | | | | | | | | | QApplication::setActiveWindow doesn't activate the native window but marks the widget as active inside Qt. We need to use QWidget::activateWindow instead. See docs. Also moved the activation call further down because on Windows a minimized window cannot be activated using the activation-by-focus fake we're currently using. Change-Id: I752f6ada1f463931fa9cfb3c35f42dbec0207bfa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Implement synchronous WS events by flushing.Friedemann Kleint2012-07-311-4/+2
| | | | | | | | | | | | | | | | | | | | | | | Previously synchronous window system events were implemented by bypassing the queue and processing the event immediately. This is not ideal since the event order is not preserved - there might be "happened before" events waiting in the queue. Add QWindowSystemInterface::flushWindowSystemEvents and change all handleSynchronous* to 1) queue the event 2) call flushWindowSystemEvents. flushWindowSystemEvents is almost identical to the already existing sendWindowSystemEvents with the exception that it does not call QApp::sendPostedEvents. Move the common implementation to a new private function. Task-number: QTBUG-20778 Change-Id: Ie98a83875bc0a14e335e36bed0dd9e0ed4a1dea0 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Stabilize the QHeaderView test.Friedemann Kleint2012-07-311-1/+9
| | | | | | | | | | | | The test has a member QWidget *topLevel which it recreates and shows in init() without waiting for it to be exposed although it is not used in every test case. This apparently interferes with some tests that create separate top levels. Do not show in init(), delete the topLevel. Add wait to the cases where the topLevel is shown. Change-Id: Ib428020b36dc82991d41e68478fd583bdfb004c7 Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* tst_qwidget task reference fixedJoerg Bornemann2012-07-311-1/+1
| | | | | Change-Id: I8d65f5912bfc2daa1e35be33a3c4d986508eebeb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Stabilize QWidget-test alienwidgets on XCB.Friedemann Kleint2012-07-311-1/+1
| | | | | | | Use QTRY_VERIFY for the mappped attribute check. Change-Id: I3cbde9122405bf7067f3702193e80636edc8c5c6 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Work on the QWidget-autotest.Friedemann Kleint2012-07-282-269/+335
| | | | | | | | | | | | | | | | | - Introduce smart pointers to delete widgets and resources to ensure tests are not affected by left-over widgets also in case of failure. - Replace deprecated QTest::qWaitForWindowShown() by QTest::qWaitForWindowExposed() and use QVERIFY, remove some hard-coded timeouts. - Set some titles and object names. - Add verbose debug output of event lists in tests childEvents. - Set minimum sizes on widgets to avoid Windows warnings. - Stabilize GDIWidget, trigger on first event only. Change-Id: I64119a2e7113e4a9f0156d00c72ce0935d03bb81 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Implement implicit constructors for built-in classes.Stephen Kelly2012-07-271-0/+24
| | | | | | Change-Id: I6b0b104bc1da3252d014615c50b81830de42e722 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix position of mouse events generated from touch events.Andrew den Exter2012-07-261-0/+10
| | | | | | | | | | | In touch event terminology the global position is the screenPos, scenePos is the windowPos. Fixes a tst_qdeclarativepincharea test failure in qtquick1. Change-Id: Ie98fe12be8cbedc9b019913b066e7c4bce75278d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
* Stabilize tst_QMenu::tearOff().Friedemann Kleint2012-07-261-3/+1
| | | | | | | Introduce QTRY_VERIFY for frequently failing test. Change-Id: I38a6420574c4dde20fd7fa484681514543bd70cb Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Stabilize tst_QCompleter::QTBUG_14292_filesystem.Friedemann Kleint2012-07-261-4/+92
| | | | | | | | Make sure the test subdirectories are actually visible in the file model before the tests start. Change-Id: If640456bba4362b19d7ad9d9184736c2eb8d3bde Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Base 'FileSystem' test helper class on QTemporaryDir.Friedemann Kleint2012-07-261-13/+7
| | | | | | | | | This avoids test instabilities and prevents test directories from being cluttered with temporary files. Change tests accordingly. Remove unused createLink() method. Change-Id: I843c28ab81c8a476c71c5211a7479b22d3d9fc93 Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* QMetaTypeId2::IsBuiltIn: (new) template meta-function to check for built-in ↵Marc Mutz2012-07-261-0/+6
| | | | | | | | | | | | | | | types This allows to check whether QMetaTypeId2::MetaType exists, and can help turn run-time into compile-time expressions, even without constexpr support, or in situations where constexpr can't be used (because you can't overload on it). This was designed for the QMetaType::registerConversion feature, but it's much more widely applicable. Change-Id: Iafa04add04bcb531b3f7fe3e751c7e91ee6a3bc0 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Remove usage of deprecated qWaitForWindowShown(QWidget *) method.Friedemann Kleint2012-07-259-73/+67
| | | | | | | | Remove usages from autotests with the exception of widgets/kernel, widgets/widgets and widgets/graphicsview. Change-Id: I917b2857ed0cd07a6b3dbcd69244f558086c6586 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QtWidgets: use nullary version of qRegisterMetaType<T>("T")Marc Mutz2012-07-251-1/+0
| | | | | | | | | | | | | | | | | | | Using qRegisterMetaType<T>() has the advantage that multiple calls during a program run are much more efficient, since an inlined atomic is used to store the result. It also ensures that Q_DECLARE_METATYPE(T) has been used, whereas qRegisterMetaType<T>("T") will happily register anything. Had to add Q_DECLARE_METATYPE to QFileInfo, for QList<QPair<QString,QFileInfo>> of QFileSystemModel to work with the partial specialisations of Q_DECLARE_METATYPE for QList, QPair. In order to synchronize this change with other modules that did their own Q_DECLARE_METATYPE(QFileInfo), a sync macro is defined that can be tested in other modules, and will later be removed again. Change-Id: I3004664e07e64cd885d5a03a57ff4e4379804aec Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Deprecate the qWaitForWindowShown(QWindow *) method.Friedemann Kleint2012-07-252-21/+19
| | | | | | | | | | | | | | While the qWaitForWindowShown(QWidget *) is inherited from Qt 4.8, the qWaitForWindowShown(QWindow *) was introduced in Qt 5. As it is identical to qWaitForWindowExposed() and removed already, it can be deprecated in Qt 5. Remove its usages in qtbase. Change-Id: I28788d120ad687a49f02b2b44de6b38a2832fe5c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Propagate synthesized mouse events in parallel (lock-step) with touchKevin Ottens2012-07-242-13/+173
| | | | | | | | | | | | | | | | | | | | This patch implement the equivalent of 468626e99a90d6ac21cb311cde05c658ccb3b781 in qtdeclarative but for QtWidgets. If a widget doesn't accept a touch event, then QApplication gives it another try by synthesizing a corresponding mouse event. This way QtQuick and QtWidget behave in a similar way, removing the need for platform backends to try to emulate a mouse event from a touch event unconditionally. Also add relevant unit tests and adjust old QApplication ones. Change-Id: Iddbf6d756c4b52931a9d1c314b50d7a31dbcdee9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove usage of deprecated qWaitForWindowShown in dialog tests.Friedemann Kleint2012-07-245-32/+34
| | | | | Change-Id: Id3ebe202d65ee682e8e2e3ae107808e9abb6cc15 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Split QWidgetsVariant tests into a separate testcase.Stephen Kelly2012-07-235-0/+271
| | | | | | | This allows building the QVariant tests without the QtWidgets module. Change-Id: I7cd7e78a60c7bc7614ec16df1abe1e93e45d4923 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Provide public API for native event filtering, moved up from QPA.David Faure2012-07-201-6/+24
| | | | | | | | | | | | | | | | | | The previous API was hard to use (global function, no type safety, manual chaining), and confusing (app vs dispatcher split only made sense on Windows). Installing and removing out of order would have the risk of setting back a dangling pointer (crash). Meanwhile QPA added type safety, and this new API models the QObject::installEventFilter API for ease of use. The virtual method is in a new interface, QAbstractNativeEventFilter. QPA was even calling the dispatcher event filter with QPA-private event classes, which made no sense (refactoring leftover from when the code was in the dispatcher). Now the QPA plugins trigger the qcoreapp event filters with the actual native events directly. Change-Id: Ie35e47c59c862383bcaf857b28d54f7c72547882 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Tests: Replace deprecated QPixmap::grabWidget() by QWidget::grab().Friedemann Kleint2012-07-203-16/+16
| | | | | Change-Id: I5018cf5dd51c1781e7f17c7d205f3f60de7945be Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Activate native window tests of QMdiArea.Friedemann Kleint2012-07-201-5/+6
| | | | | Change-Id: Ic272b5e28256e454a3186d4407d009c9331b292b Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Implement waitForWindowExposed and friends for widget windows.Friedemann Kleint2012-07-2037-468/+252
| | | | | | | | | | | | | | - Implement waitForWindowExposed() for toplevel windows. - Implement waitForWindowShown(QWidget *) and mark as deprecated in line with waitForWindowShown(QWindow*). - Use in tests. - Simplify tests (collapse waitForExposed, setActive into setActiveWindow, waitForActive), remove most hard-coded timeouts. - Stabilize graphicsview tests by using waitForWindowActive. Change-Id: Ic7c061e2745b36f71a715ee4e47c0346b11a91e8 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* QWidget/Win: fix restoreGeometry() from fullscreen modeJoerg Bornemann2012-07-191-3/+0
| | | | | | | | | | | | | | | When turning off fullscreen mode and restoring the widget's geometry we must inform the QWindow about the geometry change synchronously. Otherwise QWidget::geometry() will return the old value. Using the same technique for the state transition to fullscreen mode without sending a separate resize event. Autotest: tst_QWidget::saveRestoreGeometry Task-number: QTBUG-26421 Change-Id: I869e36cd302d9a94e398f48949ab3cb7ee9cdf51 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove the test tst_qdialog::throwInExec().Friedemann Kleint2012-07-191-54/+0
| | | | | | | | QtWidgets and QtGui are currently compiled without exceptions, which causes a crash with gcc 4.6.3. Change-Id: I8f872f3bec6266444adf08d51a6678150c5fae8e Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix rendering glitches when using native widgets in MDI subwindowsMiikka Heikkinen2012-07-181-6/+0
| | | | | | | | | | | | | | | | | | | | When mixing native and regular widgets in same QMdiArea, some subwindows didn't properly get set native. This was because when a native parentless widget was given a parent, it wouldn't enforce native window on the new parent and its ancestors. This happened because window flags were adjusted too late in relation to createWinId() call in setParent_sys(). Fixed by moving the createWinId() call to its proper place. Also removed some old Q_WS_* ifdeffing in QWidget::setParent() that masked some native enforcement code. Additionally removed few QEXPECT_FAILs from QWidget autotest now that those cases work correctly. Task-number: QTBUG-26424 Change-Id: Ib6f9d0531e5c7299e2c307734d49c81f1ffa9713 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Replace Q_WS_ in tests by Q_OS_ or check platform names.Friedemann Kleint2012-07-167-18/+15
| | | | | Change-Id: Ica445cf1e83bfaab870ac344d6c02766f047a5cc Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* tst_qwidget: check widget geometry in fullscreen modeJoerg Bornemann2012-07-161-0/+10
| | | | | Change-Id: Idc45c6d18decf3c71c6736742434ad9d0cccd2d2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove #ifdef Q_WS_ / include / #endif conditionals.Friedemann Kleint2012-07-165-19/+0
| | | | | Change-Id: I734490ddcb5501e620370e50ef06180ab5e23393 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fix applicationName() being empty in QApplication.David Faure2012-07-162-15/+26
| | | | | | | | | | | | | | | A virtual method was reimplemented to return an always-empty string, probably a leftover from a refactoring. This fix showed that tst_qwidget_window was buggy: between Qt4 and Qt5, a "Before" became "After", which made "Before" unused, and was masking the fact that the app name was empty by default. In addition, the earlier Qt5 change that made the app name default to argv[0] now requires updating this test, now that it's actually working. Change-Id: I5360026821a9b95bedd0ff09dba3d51a22e542b7 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Implement qWaitForWindowShown using qWaitForWindowExposed.Friedemann Kleint2012-07-121-1/+1
| | | | | | | Deprecate qWaitForWindowShown for Qt 6 as it is just a wrapper. Change-Id: I0f8195679679120bd402e273fed4d331dc926708 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Tests: Fix printsupport profiles.Friedemann Kleint2012-07-121-1/+1
| | | | | | | | | Fix reversed conditions, breakage introduced by 32db7de2079967fe1c333c562b742318c50321a4. Change-Id: I6fca399376cd1fa9bffea0a686b56c4d5ec26605 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix some spelling errorsSergio Ahumada2012-07-111-1/+1
| | | | | | Change-Id: I19d3b2e9a5180b13deb828b55195404ef20be295 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QItemDelegate - add a more comprehensive testThorbjørn Lund Martsum2012-07-091-0/+124
| | | | | | | | | | | | | | | This is a bigger test after this change: c3e1abad4e141e6e9d876e5cff194c473a2654eb Beside the test of behavior it has the class FastEditItemView which could be useful in the future. QTestEventLoop::instance().enterLoop(1) does not perform well. (IE it makes CI slower). My class could be used to extensions. (or maybe even to remove a few of these calls) Change-Id: I4f1460873cd07ddc482d5cfe462b59c47ebb189f Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* remove QEXPECT_FAILS from tst_qwidgetJoerg Bornemann2012-07-091-14/+0
| | | | | | | Task-number: QTBUG-26420 Change-Id: Ic4cb725cda418bfb427e7d834c0e07c2543d408d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* fixed unittest builds for winceBjoern Breitmeyer2012-07-061-0/+2
| | | | | | | | | | removed printsupport tests for wince as there is no print support on wince and removed the special handling for wince from 4.8 on some tests as the dependent modules are not part of qt base anymore Change-Id: I4ffb22da11f98beee1013f775cb5ce4b936d3211 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* make tst_qwidget significant again on Windows and LinuxJoerg Bornemann2012-07-062-2/+144
| | | | | | | | | To let this test pass, a bunch of test cases had to be disabled. Task-number: QTBUG-25300 Change-Id: I26bc08f366c43fb2bf3ba42a5fcbeb3888ed02c0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QHeaderView - adding an auto test with saveState and restoreStateThorbjørn Lund Martsum2012-07-051-0/+22
| | | | | | | | This test is nice to have regardless though the main reason for it is a refactor of hiddenSections in QHeaderView. Change-Id: Id41a1d5edda2ef75bf432a78cdb3e952303eae92 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QHeaderView - prevent negative default+minimum section sizesThorbjørn Lund Martsum2012-07-041-6/+4
| | | | | | | | | In 96f1fe8855082017fbbecccdab1eb11fd8c1f870 we agreed that sections with negative sizes did not make sense. Of the same reason default section sizes and minimum section sizes should be not negative. Change-Id: I6a770e7f510d8e2bb90bfd8f38b4fa0566fc137b Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* tst_qwidget: remove QEXPECT_FAIL for QTBUG-8911Joerg Bornemann2012-07-041-3/+0
| | | | | | | | QTBUG-8911 has been fixed some time ago. Change-Id: I19dae0571b1829f6b3b797f7e0ec5c24a4241db8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Avoid load(testcase) for installing test helper appsRohan McGovern2012-07-041-2/+1
| | | | | | | | | | | | Make test projects declare TEST_HELPER_INSTALLS rather than calling a function exported by testcase.prf. load(testcase) may be unsafe, as testcase.prf should be processed after default_post.prf. Fixes silent disabling of various autotests. Change-Id: I56b35ffd653a637ad5ab18d64dd1a1edadfac59f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
* Fix QWidget/widgetAt() test.Friedemann Kleint2012-07-031-6/+8
| | | | | | | | Prevent a crash by giving the widget some time to show up. Task-number: QTBUG-22326 Change-Id: Idaa23b21121e7c4f7098e8d51efd313bcc467e9a Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>