summaryrefslogtreecommitdiffstats
path: root/src/testlib
Commit message (Collapse)AuthorAgeFilesLines
* Disable Assertion messagebox for unittests.Andreas Holzammer2012-02-081-0/+1
| | | | | | | | | | | | | A messagebox will be shown for an assertion in debug mode. This introduces a need for user interaction to proceed the execution of the unit test. Setting the Report mode to debug, will only print the assertion to stderr. Change-Id: If8ae80ea96d6608cba77b9c6ca176f97d1680932 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* testlib: Clear ignored messages after every data rowJason McDonald2012-02-083-5/+11
| | | | | | | | | | | | | | | | | | | | Previously, ignored messages were only cleared at the end of each test function, i.e. after all data rows were finished. This meant that if a data row in a data-driven test function didn't cause all of the expected messages to be generated, the remaining messages would be carried over to the next data row. This would result in errors about missing messages being associated with the last data row rather than with the correct data row. This commit makes testlib check for missing ignored messages after running each data row rather than only doing so after the last data row. This commit also adds a regression test to demonstrate that ignored messages can no longer be carried over from one data row to another. Change-Id: Ibee51aa6e96866fbcbcb4acee1a8340a86a6a4ba Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* testlib: Clear expected failures after every data row.Jason McDonald2012-02-083-2/+10
| | | | | | | | | | | | | | | | | | | | | | Previously, expected failures were only cleared at the end of each test function, i.e. after all data rows were finished. This meant that if a data-driven test function called QEXPECT_FAIL and then didn't perform any further verification steps to trigger the expected failure, the expected failure would be carried over to the next data row, probably causing the first verification step in the test function to XPASS (with a seemingly irrelevant error message) for the next data row. This commit adds the new function QTestResult::finishedCurrentTestData() to cleanup after each data row is executed. This function treats calls to QEXPECT_FAIL without subsequent verification steps as a test failure. This commit also adds a regression test to demonstrate that expected failures can no longer be carried over from one data row to another. If run against the previous version of testlib, the new test would report a pass instead of an error. Change-Id: Ida5c7f080815b0dca9531131fed582b0918334cb Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* CodeCoverage: Save coverage data in QTestLog::stopLogging()Caroline Chao2012-02-074-20/+37
| | | | | | | | | | | | | | | | | Currently when tests are crashing, aborting or hanging, their status are reported with a status "Unknown" because SaveCoverageTool is never called for them. The status of the test given by the coverage tool should be the same as the one reported in the log output when the test is run. This change will allow more accuracy in the status reported. Add QTestResult::setCurrentAppname and QTestResult::currentAppname. To retrieve the name of the current application running. Task-number: QTQAINFRA-460 Change-Id: Icc476dc2d6cb28185e5447f1e79da6a8a31cad54 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Revert "Put the generated <module>version.h into build tree"Bradley T. Hughes2012-02-011-1/+1
| | | | | | | | | After discussion with Liang, I'm reverting it as he requested. This change put every header into the SYNCQT.HEADER_FILES twice for in-source builds, and the qtMODULEversion.h header did not include a path component. This reverts commit 2fbc45b58bba860abf67fb28aa1319c9f4ededaf Change-Id: Ie84cef19193ce5e49072f1f67a41140d9d2673b8 Reviewed-by: Liang Qi <liang.qi@nokia.com>
* Use events for accessibility updates.Frederik Gladhorn2012-01-311-2/+2
| | | | | | | | | | | | | The problem with the old updates is that it was impossible to send details about the update. For the Linux implementation to work properly with AT-SPI I need to know which state changed (currently I only get a generic "state changed" event) or which part of the text was changed for long texts (imagine a word processor sending updates). This also gives us more options when updating with events generated from not QObject based objects. Change-Id: If0b6c83c523092565eb48e79f3f6de5a1b905ea8 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Revert "Revert "Blow up earlier when adding test rows without columns.""Robin Burchell2012-01-311-0/+1
| | | | | | | | | | | | | The problem in qmltest has now been fixed by adding a dummy column, so this should be good to re-add. See qtdeclarative change id I1bfed663fa7b58d71e0cf898db6bd8ae61dae46b. This reverts commit 963958b4f62513cbc76fb06920de80f7f906f523. Task-number: QTBUG-23845 Change-Id: I4b6755d3ea97a4624480cc008d280fc8e33743a6 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Remove pass/fail/skip count getters from QTestResult.Jason McDonald2012-01-302-19/+0
| | | | | | | | These functions are no longer used, as the counters have been moved to QTestLog. Change-Id: I7cd13fc92a18920706fcc712804c304f9c333969 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3056-56/+56
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Eliminate QTestResult::ignoreMessage().Jason McDonald2012-01-303-8/+1
| | | | | | | | | | The removed function was just a wrapper around QTestLog::ignoreMessage() and was only called twice (once in qtestcase.cpp and once in qtdeclarative). Better to just call the desired function directly and avoid the indirection. Change-Id: Ib900f35f5d584e8f323cef9b0e7b4f8a507c199e Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Put the generated <module>version.h into build treeLiang Qi2012-01-281-1/+1
| | | | | | | | | It was put in source tree before. Task-number: QTBUG-20439 Change-Id: Ib52d9c2e83ae375aad259ddc74138bbc728b3ed0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove use of QT_MODULE from libraryGunnar Sletta2012-01-2523-23/+0
| | | | | | | | | | These defines were there to aid in the commercial licensing scheme we used long ago, and are no longer needed. Keep a QT_MODULE(x) define so other modules continue compiling. Change-Id: I8fd76cd5270df8f14aee746b6cf32ebf7c23fec7 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Revert "Blow up earlier when adding test rows without columns."Robin Burchell2012-01-231-1/+0
| | | | | | | | | | | | This seems to break a number of tests using the qmltest library. Functionality will be restored in a future commit, once the breakage has been identified. This reverts commit fdedb49b76b8f9ad69611fbfea6b8371ae1ec3a1. Task-number: QTBUG-23845 Change-Id: I0ca4dbd54132e4250702f06738edbad5e8fc4f36 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Blow up earlier when adding test rows without columns.Robin Burchell2012-01-231-0/+1
| | | | | | | | | | | | | Previously, the assertation triggered was rather unhelpful: QFATAL : tst_QHash::qhash_qt4() ASSERT: "d->dataCount < d->parent->elementCount()" in file qtestdata.cpp, line 88" We now try a bit harder to be user-friendly. Change-Id: I2e3a5ae27914d44fc1dc89af2a084e3d798fe221 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2356-56/+56
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Change QSKIP to fail for outdated tests.Jason McDonald2012-01-181-2/+2
| | | | | | | | | Be more insistent that tests using the old two-argument version of QSKIP should be updated. After a grace period the warning will be removed and incorrect usage of QSKIP will revert to a compilation failure. Change-Id: Ifa19b856d9f45738bd9d790bb65a8741f965d0f4 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Move pass/fail/skip counters from QTestResult to QTestLog.Jason McDonald2012-01-175-21/+51
| | | | | | | | | | | | | | | This change will enable further simplification of QTestResult and QTestLog in the future, including removing a circular dependency between the two classes. The "getter" functions in QTestResult are retained for now, but will be removed in a future commit, once QtQuickTest has been changed to call the getters that this commit adds to QTestLog. This commit is adapted from an unfinished change by Henrik Hartz. Change-Id: Ife7f80ac6a4310449a4712e96e0bea6c02139a5a Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove unused QTestResult::allDataPassed().Jason McDonald2012-01-162-6/+0
| | | | | | | The removed function was private API and was not used anywhere in Qt. Change-Id: Ia262d119ebba30f6968cb7145043475bf88ffa39 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Rename QTestLog::addIgnoreMessage to QTestLog::ignoreMessage.Jason McDonald2012-01-163-3/+4
| | | | | Change-Id: I4cfcd00d444d0812c58afab6ffd43dee37db1340 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Compile if the header files from QtWidgets are unavailableLars Knoll2012-01-124-5/+18
| | | | | Change-Id: I0a774fc1492e882bc6c02d913e6dace189fdb992 Reviewed-by: Kevin Simons <kevin.simons@nokia.com>
* QStyleHelper: Base DPI-calculation on QScreen.Friedemann Kleint2012-01-111-0/+4
| | | | | | | | | | | | | | | - Use qt_defaultDpiX() to obtain the resolution, which obtains it from QScreen. This implies that for X11, which previously used a hardcoded default of 96 DPI, the real resolution will be used (typically 75). - Since many tests (layouts, graphicsview) contain test data for 96 DPI, add an attribute to QCoreApplication making it possible to set the resolution to 96 DPI for testing. Change-Id: I77c8233a96b0d75de07406f58d48886a89c3de06 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Tests: Remove duplicate QTRY_VERIFY/QTRY_COMPARE macros in bearer.Friedemann Kleint2012-01-102-16/+41
| | | | | | | | | | Introduce QTRY_VERIFY_WITH_TIMEOUT and QTRY_COMPARE_WITH_TIMEOUT to be able to specify a timeout value. Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Change-Id: Iaeaa4938eb14f2c431537055f626510cba183ce3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove the Q_TYPENAME define.Stephen Kelly2012-01-081-4/+4
| | | | | | | | | | | | | It is mostly not used (most places in Qt use typename directly), so is already not very useful. For example typename is used in: QDataStream& operator<<(QDataStream& s, const QVector<T>& v) Change-Id: I85337ad7d8d4ebbb424bfa2ab9a356456ff3e90f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-0556-56/+56
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QTestlib: Make QImage comparison more verbose.Friedemann Kleint2011-12-211-0/+62
| | | | | | | | | | | | | | | | | | Introduce a specialization for qCompare(QImage,QImage) that checks isNull, size and format and outputs verbose messages. Check isNull, size similarly for QPixmap. Add an autotest: - Add test to cmptest and make it a GUI application since QImage requires QGuiApplication. - Make testlib/selftests capable of running X11-GUI applications by passing DISPLAY. - Ignore stderr output for cmptest - Add test data Change-Id: I2b29c7822fbeedf2b22c90889739ed7ff859ce92 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* QTestLib: Fix QFINDTESTDATA for Windows.Friedemann Kleint2011-12-211-13/+27
| | | | | | | | | | - Scan the parent directory of the executable if it is located in a 'Debug' or 'Release' directory - Report with native separators in the log. - Use the QString::arg() overloads with several string parameters. Change-Id: I5ea84411e12978f8f958a0bce3ae10da44cc4e3f Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Fix -tickcounter in qtestlib.Robin Burchell2011-12-211-2/+0
| | | | | | | | | | HAVE_TICK_COUNTER is supposed to be set (if possible) from cycle_p.h, so guarding cycle_p.h's inclusion with HAVE_TICK_COUNTER ensures it will never be set. Change-Id: I6313d0a2efd47c89522623e8e7b3f505489ded90 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Retire QTest::pixmapsAreEqual().Jason McDonald2011-12-201-15/+0
| | | | | | | | | | | | | QTest::pixmapsAreEqual() was left in the Qt4 API for compatibility with some old tests written for Qt3. QCOMPARE() is the preferred way to compare QPixmaps and provides superior diagnostic output when a comparison fails. This commit removes QTest::pixmapsAreEqual() from the testlib API and replaces the last few remaining calls with QCOMPARE. Change-Id: I051c0e7d3bda072855fcd262d82e8e540619233b Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Avoid confusing method overloading in QTestTable.Jason McDonald2011-12-191-6/+6
| | | | | | | | | The private class had two append() methods, one appending a column and one appending a row. Use more meaningful names instead of overloading orthogonal operations. Change-Id: I97e0268d6cb289694557846f244fe770cf980aaf Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Avoid qDebug in verbose benchmark test output.Jason McDonald2011-12-161-2/+6
| | | | | | | | | | Use QTestLog::info() rather than qDebug() to output informational messages from testlib. Source file and line are deliberately omitted as they would come from testlib rather than from a test program. Change-Id: I7b479bba4d3d553c6fa846d8d5ea2c29a8ef42b8 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Switch off signal dumper when testing is completed.Jason McDonald2011-12-161-0/+3
| | | | | | | | Previously, if the signal dumper was switched on with the -vs command-line switch, it would never be switched off again. Change-Id: I192e188010471525723fad0844ff33e9482128ea Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove Qt5 comment from qsignalspy.h.Jason McDonald2011-12-151-2/+0
| | | | | | | | | | The removed comment refers to a task in a bug tracker that no longer exists. The comment also mentions making (part of) testlib use Qt's regular binary compatibility mechanisms, which is desirable in the long term but not in scope for Qt 5. Change-Id: I6f23a9a2c8a84e30afe2aeb5c53ea93c25ba6f11 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix incorrect function name in assertion.Jason McDonald2011-12-151-1/+1
| | | | | Change-Id: I3eb8e7afe3f7ca514dd4839e603612b56c7d8082 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove QTest::qt_snprintf() from testlib API.Jason McDonald2011-12-152-17/+0
| | | | | | | | | | | | | | | | | | This was an internal function that used to act like qsnprintf() but also filtered unprintable characters out of the test output. The filtering has been moved somewhere more appropriate and this function is no longer used by testlib. Unfortunately, the function was exposed in the public API due to its former use in the implementation of a public macro. In the unlikely event that any code outside testlib calls this function, the call should be replaced by calling qsnprintf(), which comes from the QtCore/QByteArray header. Change-Id: Iddc17b4361d16ebddd19346ae7d1064951dd7738 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Improve QTest::keyClick documentation.Jason McDonald2011-12-151-7/+12
| | | | | | | | Make it clear that the delay is applied before each key-click is simulated. Change-Id: Id100f1f2db1a5b1651c3046905719d7eb06ec1a0 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update documentation of QTEST_MAIN macro.Jason McDonald2011-12-151-7/+12
| | | | | | | | | Update the docs to describe the behaviour that resulted from moving the traditional Qt widgets into a separate library from the rest of GUI classes. Change-Id: Ibd0ef05cc871b8f5a6700e421aa41bdf64c1210b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Improve QCOMPARE for QStringListJason McDonald2011-12-151-6/+7
| | | | | | | | | After establishing that both lists are the same size, there is no need to calculate the minimum of the list sizes. Also, use sizeof() instead of hard-coded values when calling qsnprintf(). Change-Id: I2396cf3f941770229e1cef6422aeddbe549c51fc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove redundant touch processing in QtGui and widgets.Laszlo Agocs2011-12-141-30/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The duplicated hash tables in QGuiApplicationPrivate and QApplicationPrivate are now unified into one single hash table in QGuiApplicationPrivate. This also reduced the number of lookups. The extra processing needed to keep the touch points' first/lastPos values in sync is now done only once, in QGuiApplication. This eliminates the performance penalty (for widget-based apps) that was introduced during the QPA migration. As an added bonus the patch adds support for touch events arriving simultaenously from multiple devices. This was broken before: As there is no guarantee that two devices/drivers will not send touch points with the same ID, using structures with only the ID as key is wrong. The proper key is composed of the device ID (that is, a QTouchDevice pointer) and the touch point ID. The exported internal function qt_translateRawTouchEvent() has been removed. This function cannot work properly in the QPA world: It injected touches into the widget subsystem (QApplication) only which is wrong, and would result in half-filled touch events due to not routing the injected data through QGuiApplication. Autotests using this function are migrated to QWindowSystemInterface::handleTouchEvent(). Change-Id: I7632781d77f9e0ac4626fd7c9933511c94492156 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove incorrect information from QCOMPARE documentation.Jason McDonald2011-12-141-3/+0
| | | | | | | | | | The documentation stated that QStringList objects would be compared starting from the end of the lists. The implementation in qtest.h actually starts at the beginning of the list, and always has done since qtestlib became part of Qt. Change-Id: I056f584564d46402ba23fc6a89c801cb5c3c6262 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add missing assertion to QAbstractTestLogger.Jason McDonald2011-12-131-0/+1
| | | | | | | | | If passed an empty string, QAbstractTestLogger::outputString() would crash, so add a QTEST_ASSERT to make the cause of any crashes more obvious. Change-Id: I00afe2e73120b87e211f858402d441f345dddd08 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* testlib: fixed actual, expected order in QTest::compare_helperRohan McGovern2011-12-131-1/+1
| | | | | | | | | | These two parameters were written in the opposite order in the function's declaration and definition. Harmless to the compiler, but confusing to developers and reviewers. Change-Id: I1d4cb0a41b465b5f918daa76756677fe0cfe0a59 Reviewed-by: Jason McDonald Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Store the primary status in the touch point flags.Laszlo Agocs2011-12-121-1/+1
| | | | | | | | | | | | | | | | | For some reason the primary bit has previously been encoded in the touch point state, even though it has nothing to do with the regular states like Pressed, Released, etc. The value is now stored in the recently introduced flags member of the touch points. This also reduces the need for error-prone internal masking of the state value. The structure used by QWindowSystemInterface::handleTouchEvent also becomes cleaner because the primary status can now be set in the flags member and the isPrimary bool can be dropped. Change-Id: I1da2cb99154afd97e1e3a5943ab115cae3a8232f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Revert "Remove unused overload of QTest::qExec."Friedemann Kleint2011-12-122-0/+29
| | | | | | | | | | | | | | | | The overload is used in Qt Creator (see src/libs/extensionsystem/pluginmanager.cpp). The use case here is an application whose internal QObjects can be tested by passing a command line parameter. For this use case, it is inconvenient to have to allocate memory and create a char argv[]- array. This reverts commit ad80d42f8eefd72d9297c272139acc70e24bfa13. Change-Id: I2a2f91e2840100fd62743f6d03b33005d67b18f8 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Remove -keyevent-verbose option for autotests.Jason McDonald2011-12-121-12/+0
| | | | | | | | | This option does nothing -- the only function that checks if the option has been set is never called. This appears to have been the case ever since testlib was imported into the Qt repository in October 2005. Change-Id: I837aa957e2d8bd47c3d1c551f1b94d4374daa25e Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Stop using QTest::qt_snprintf() in testlib.Jason McDonald2011-12-127-61/+49
| | | | | | | | After the previous commit, QTest::qt_snprintf() is equivalent to qsnprintf(), so just use that instead. Change-Id: I89ad6e3749ba5efb1926b0b618a904e8baca9f52 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Improve definition of QTEST_NO_SPECIALIZATIONSJason McDonald2011-12-121-1/+1
| | | | | | | | Remove the part of the definition that applies to gcc versions <= 2.x as these versions are not supported by Qt5. Change-Id: Icee6b51ffe78fa30fd7193ef96b6ce0484b8fcae Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Filter unprintable chars out of all test output.Jason McDonald2011-12-123-15/+18
| | | | | | | | | | | | | | | | | | Previously, unprintable characters were filtered out of test output while the output strings were being formatted by either qt_snprintf() or qt_asprintf(). Any strings not formatted by one of those functions weren't filtered at all, and any strings passed more than once would be filtered more than once. This commit separates the filtering of output strings from their formatting, leaving the filtering until just before the strings are written to the output stream. For now, the filtering is done by a protected method of QAbstractTestLogger, but this could easily be changed to a virtual method in future to allow different filtering for loggers with different output character sets. Change-Id: Ia4bb49cd10d37c84af75d2cf58325d27f0e16d99 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove event type parameter from handleTouchEvent.Laszlo Agocs2011-12-091-1/+1
| | | | | | | | | | | Requiring platform and generic plug-ins to pass TouchBegin, TouchUpdate, or TouchEnd is unnecessary. The type can be easily deduced from the touch point states. In fact handleTouchEvent already collected the combined point states, it was just not utilized until now. Change-Id: Icf3c787fefdebc51609a763bc4286c18a0b6aac2 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Extend touch events.Laszlo Agocs2011-12-091-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The capability flags indicate which information is valid in the touch points. Previously there was no way to tell if e.g. the value returned by pressure() is actually the value provided by the driver/device or it is just something bogus due to pressure not being supported. The points' flags return information about the individual touch points. One use case is to differentiate between touches made by finger and pen. Velocity, if available, is now also exposed. Each touch point can now contain an additional list of "raw" positions. These points are not reported individually but are taken into account in some way by the underlying device and drivers to generate the final, "accurate" touch point. In case the underlying drivers expose these additional positions, they are made available in the lists returned by the touch points' rawScreenPosition(). The raw positions are only available in screen coordinates to prevent wasting time with mapping from global positions in applications that do not use this data. Instead, apps can query the QWindow to which the touch event was sent via QTouchEvent::window() and can call mapFromGlobal() manually if they need local raw positions. The capability and device type information is now held in a new QTouchDevice class. Each touch event will contain only a pointer to one of the global QTouchDevice instances. On top of type and capability, the new class also contains a name which can be used to differentiate between multiple touch input devices (i.e. to tell from which one a given QTouchEvent originates from). The introduction of QTouchDevice has three implications: The QTouchEvent constructor and QWindowSystemInterface::handleTouchEvent need to be changed (to pass a QTouchDevice pointer instead of merely a device type value), and each platform or generic plug-in is now responsible for registering one or more devices using the new API QWindowSystemInterface::registerTouchDevice. Change-Id: Ic1468d3e43933d8b5691d75aa67c43e1bc7ffe3e Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove unused overload of QTest::qExec.Jason McDonald2011-12-082-29/+0
| | | | | | | | | | | | | The overload of QTest::qExec() that takes a QStringList is not used anywhere in Qt's autotests, despite having been in the qtestlib API since Qt 4.4. This lack of use most likely derives from the fact that none of the QTEST_MAIN macros use the overload, and more than 99% of Qt's tests use those macros to avoid explicitly calling QTest::qExec(). Change-Id: I264b21d7fe1a9f2d565f748cf8bbe32414a73bb0 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>