aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmltest
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | testlib: Add timestamp to mouse click eventsPeter Varga2016-10-111-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Timestamp is necessary for testing custom mouse event handlers e.g. what Qt WebEngine uses for handling triple and quadruple mouse clicks. Based on Qt Base commit 181ee8f9ffacc51265ccc3a0005bf146f230cf85 Task-number: QTBUG-56223 Change-Id: I84d0ca40767d0b1dccb33da1fb1f6ff5721d1096 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | | optimize string usage: use fromLatin1() lessAnton Kudryavtsev2016-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .. to reduce allocations. Replace fromLatin1 with QLatin1String or with QStringBuilder where it is possible. Change-Id: I09c7242fa7b118447b51239e2a6743a34fb3de14 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | | allow quick test events to directly target a WindowJeremy Katz2016-08-221-0/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QuickTestEvent::eventWindow() is used to determine the window a QObject-based item cast to a QQuickItem is associated with. The window is then used to dispatch simulated events and calculate item positions. This change allows a quick Window or other QWindow-based object to be used directly. Change-Id: I85866ca4c79d5b6a48bac554608cad348aeb6e98 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-192-4/+11
|\ \ \ | | |/ | |/| | | | Change-Id: I326616356ee26d4532c6d57558c43c919f0a900d
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-192-4/+11
| |\| | | | | | | | | | Change-Id: I7bd70996e3372d154c6b0e47336baa22146667b0
| | * TestCase::mouseDrag: set mouse move delay >= 1 msShawn Rutledge2016-08-192-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Infinite-speed drags do not work well with velocity-sensitive components like Flickable. As with change d04982dc on qtbase, adding a short delay helps to stabilize tests. To keep it flexible, we make QTest::defaultMouseDelay() available via the qtest_events.defaultMouseDelay property. So the delay can be increased by passing a larger delay value to mouseDrag, or by changing the QTEST_MOUSEEVENT_DELAY environment variable (as before). Task-number: QTBUG-55382 Change-Id: I8f8088758a206be104a439ee0d1832eeca574e8c Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* | | QmlTest: replace 'foreach' with 'range for'Anton Kudryavtsev2016-08-112-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | And add QT_NO_FOREACH define to .pro file. Now QmlTest is 'foreach' free. Change-Id: I17d8563cafd34bb90fe455ae955da5c56fbd2899 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Don't set QT_QML_DEBUG_NO_WARNING on -no-qml-debugUlf Hermann2016-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | It won't work anyway. Change-Id: I2bc8f6b1b72cf30f0314ad551838db4f04c11297 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Imports, Plugins, Quick: replace QStringLiteral with QL1SAnton Kudryavtsev2016-06-091-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | .. in such cases: - if there is overloaded function - in QStringBuilder expressions Result: reducing .rodata Change-Id: I972bc0a61df7b5567c40329dd47e77176d9a5b96 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | V4: allow inlining of ExecutionEngine::{qml,js}Engine()Erik Verbruggen2016-05-201-0/+1
| | | | | | | | | | | | | | | | All other changes are just to be able to include qv8engine_p.h in qv4engine_p.h Change-Id: I71ba2ec42cdc20d5c7d97a74b99b4d1ada1a5ed8 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Use QStringRef to optimize memory allocationAnton Kudryavtsev2016-04-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace substring functions that return QString with corresponding functions that return QStringRef where it's possible. Create QString from QStringRef only where necessary. While touching the code, also port loops to C++11 style. Change-Id: I04c99b24ea6afd3715e3edf9ea00bfab838fd53c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-081-3/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change also fixes the build of two benchmarks, tst_affectors and tst_emission. Conflicts: src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro src/qml/qml/ftw/qhashfield_p.h tests/benchmarks/particles/affectors/tst_affectors.cpp tests/benchmarks/particles/emission/tst_emission.cpp tests/benchmarks/qml/pointers/pointers.pro tests/benchmarks/qml/pointers/tst_pointers.cpp tests/benchmarks/qml/qmltime/qmltime.pro tests/benchmarks/qml/qquickwindow/qquickwindow.pro Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
| * Use pixel() instead of scanLine() to check the colorAndy Shaw2016-03-241-3/+1
| | | | | | | | | | | | | | | | | | For some image formats it is not possible to rely on scanLine() so it is best to use pixel() for this check as it will take into account the format of the image correctly. Change-Id: Iee753b79291f210d243a5aed9d61359c67a78931 Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7J-P Nurmi2016-03-011-2/+2
|\| | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro Change-Id: I3ca8f0422828191b7e19539c25f31f2d048e9f18
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-251-2/+2
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: I5928f853a1d13b6a73533f9c6f6eae9da0e52a26 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-02-121-1/+1
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I356ec83cf687bd2833f9a7c5e820d56b1efa8979
| * QuickTest, QmlImportScanner: replace QStringLiteral with QLatin1StringAnton Kudryavtsev2016-02-101-1/+1
| | | | | | | | | | | | | | ... in string comparisons. It's more efficient. Change-Id: Ia157618cf870870f24c4a2962a385962da819275 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-198-112/+160
|/ | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Add missing "We mean it" comments to private headers.Friedemann Kleint2015-10-063-0/+33
| | | | | | Task-number: QTBUG-48594 Change-Id: Ifc207938de7f0c8995fc712df92665f222612647 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Indicate that QuickTestLib is runningLaszlo Agocs2015-09-091-0/+2
| | | | | | | | | QTestLib already sets this environment variable to indicate that the code is running on a test environment. Do the same for QuickTest too. Change-Id: I597237fcd16dc568b750bdef325881e808c407eb Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* Change TestEvent key default event routing behaviorFilippo Cucchetto2015-08-162-6/+14
| | | | | | | | | | | | | | | The current behavior of the TestEvent is to send all the key events to the test window. For this reason is not possible routing events to custom windows created inside the test suite. The new behavior is to send the key events to the current focused window [Change][QuickTest][TestCase] Changed default routing behavior for key events in TestCase. The key events are sent to the window with active focus Change-Id: I6ff3113eb9f1cbc25f6cfd2dd7bfdff178ee6ac3 Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com> Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Send the mouse events to the correct windowAlbert Astals Cid2015-08-032-12/+16
| | | | | | | | | | That is the window with the item, not the window that contains the TestUtil Item Change-Id: I13f5bfd0556e594843d499d014e92bcc41850f45 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Jason McDonald <macadder1@gmail.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Port from Q_ENUMS to new macro Q_ENUM.Friedemann Kleint2015-06-191-1/+1
| | | | | | | | | | | Remove Q_ENUMS in favor of the new Q_ENUM macro which provides registration as meta enum and a debug stream operator. QQuickXmlListModel::Status is left unmodified as porting it creates a link error in tst_qquickxmllistmodel. Change-Id: Id5e6192c9f85e7c94332508fbd91873ddda31e1a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QuickTest: Enable use of BLACKLIST fileCaroline Chao2015-06-153-2/+20
| | | | | | | | So qml test functions can be blacklisted. Qml test functions have the following format: TestCaseName::functionName. Change-Id: Ifcaa8d77d8f0956472aa568dc6dbfcbdde4e5063 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Get rid of asFunctionObject()Lars Knoll2015-04-211-1/+1
| | | | | Change-Id: Ib4858376dc0ec57fa473c80696abc66a570c90ec Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* TestCase: add equals() function to QuickTestImageObject.Mitch Curtis2015-04-211-0/+8
| | | | | | | | | | | | | | | | | | This allows for comparison of image objects returned from TestCase's grabImage() function using QImage's operator== function. Doing pixel by pixel image comparisons in QML is extremely slow. This functionality is useful for checking that an item was redrawn after a property change, for example. [ChangeLog][QuickTest][TestCase] Added equals() function to image object returned from TestCase's grabImage() function. Change-Id: I0ece9df6effe2b1b9d8e1ee8ac011115d9367ef2 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Further cleanupsLars Knoll2015-04-161-2/+2
| | | | | | | | | The get and getIndexed vtable methods should take a const Managed pointer. Start cleaning up the asFoo() methods in Value and Managed by removing asArrayObject() and asErrorObject(). Change-Id: Ibd49bf20773ef84c15785b7ac37a7bc9fd4745d5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-311-6/+16
|\ | | | | | | Change-Id: I54e66e992f5e5d441b8b5394e7a03ec5352e7bf3
| * Improved QML test robustness and logging.Jason Erb2015-03-301-6/+16
| | | | | | | | | | | | | | | | Added logging to quick_test_main and reordered for robustness (e.g. moved "wait for load" to before error check). Change-Id: Ifd48b5bdd1efee4301e5c4e571241762dca176ad Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | qmltest: Make sure we inherit all of testlib's MODULE_CONFIGTor Arne Vestbø2015-03-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | We don't know what's in testlib's MODULE_CONFIG, so we can't hard-code the value. E.g., with the introduction of XCTest support in testlib [1], we'll gain an additional member in testlib's module config set for taking care of the XCTest framework include path, and this value also needs to be propagated/inherited to the final target. [1] https://codereview.qt-project.org/#/c/107477/ Change-Id: I28ee44ac41f148a873ab35adcae38e73bef3316f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | testlib: Introduce MouseDoubleClickSequence() methodCaroline Chao2015-03-022-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing method MouseDoubleClick() emulates the mouse double click event only. The added method MouseDoubleClickSequence() emulates the full sequence of mouse events a physical double-click would generate: Press-Release-Press-DoubleClick-Release Introducing a new method in order to provide convenience when a test requires to simulate a complete double-click action without changing the behavior of MouseDoubleClick() and risking to break existing tests. Add autotest. Task-number: QTBUG-42185 Change-Id: I1cdddd9e21d3b1d8a818f6d4e3717b06b7d70e08 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-241-0/+4
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf LICENSE.GPLv2 examples/qml/networkaccessmanagerfactory/view.qml src/qml/jsruntime/qv4runtime.cpp src/qml/jsruntime/qv4stringobject.cpp Change-Id: I5d12f436d60995e51d5c2f59d364e9cbc24f8e32
| * qquicktest: Wait for the view to finish loadingDaiwei Li2015-02-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | Tests can be skipped if the view is still loading by the time we get to the end of the loop. There is a case where the window is active but the QML hasn't been loaded. Change-Id: I4e8346ee547653810458d042925d673748c1fec8 Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* | QuickTestResult: Try a bit harder when stringifying a valueGabriel de Dietrich2015-02-121-1/+3
| | | | | | | | | | | | | | | | | | | | Q_GADGETs are not always QVariant::toString()-convertible but they probably have their own toString() function that we always try to call. This may still lead to false posi- tives, but in a much smaller proportion. Change-Id: I80547a9e773e97410fe5d4723efcac6b010046f9 Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
* | Update copyright headersJani Heikkinen2015-02-128-56/+56
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
* | Cleanup variant conversion codeLars Knoll2015-01-091-1/+1
| | | | | | | | | | | | | | | | Make public methods proper members of the ExecutionEngine, and move private methods into the .cpp file only. Change-Id: I3ca49e39bb1c4e559a2c63346e6ae6cfa446147d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Move the variant conversion methods from qv8engine to qv4::ExecutionEngineLars Knoll2015-01-091-1/+1
| | | | | | | | | | Change-Id: Ibd529ae5cc3ba06f46152e9daa9119a4e7a2561c Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Get rid of QV8Engine::toStringLars Knoll2015-01-081-1/+1
| | | | | | | | | | Change-Id: Ib51fa09ae251c1b7b8878ecdf920016f8fcc0067 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Remove v8engine dependency in toVariant conversionsLars Knoll2015-01-021-3/+2
| | | | | | | | | | Change-Id: I0f2f77c9cc268a0c5ca3ffe0cd66fc98bb1964b3 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Add -plugins argument to qmltestrunner to specify plugins search pathAlain Martin2014-12-171-0/+7
|/ | | | | | | Allow users to specify locations of compiled QML plugins. Change-Id: I66059dc7b1314ca6fbef87032b16ccf3caf8bd30 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* qttest: make findChild available only for QtTest 1.1Fawzi Mohamed2014-12-051-1/+1
| | | | | Change-Id: I4ceb1a969bd4296b82f899088b02b5e8cf100bcd Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Update license headers and add new licensesJani Heikkinen2014-08-258-152/+88
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Merge remote-tracking branch 'origin/5.3' into devSimon Hausmann2014-07-261-1/+1
|\ | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4ssa.cpp src/qml/jsruntime/qv4arrayobject.cpp src/qml/jsruntime/qv4engine.cpp Change-Id: Ie3ef6202b6a3a8521971e1be10c40c6a2db6989c
| * Check for window != 0 in QuickTestResult::grabImage().Friedemann Kleint2014-07-211-1/+1
| | | | | | | | | | | | Task-number: QTBUG-38945 Change-Id: I081434a94899f8a1e2fd7275b67f62d06b56b0c2 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | Add findChild to TestCase.Mitch Curtis2014-07-042-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful for auto tests where it's necessary to have access to dynamically created child items. For example: property Component threeItemDelegate: Text { objectName: "delegate" + styleData.index text: styleData.value } ... function test_stuff() { ... var delegate0 = findChild(item, "delegate0"); // check delegate0 for some condition... } [ChangeLog][QtTest][TestCase] Added findChild function to TestCase. Change-Id: I04a8b07c9904768c07ec12f4b03f1afb1989e054 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Use the correct 'no-widgets' checkGunnar Sletta2014-06-181-1/+1
|/ | | | | Change-Id: I754f785625a534886c6c40f1e850b90cf2418297 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* QtQuick test: Do not complain about Qt specific argumentsKai Koehne2014-04-031-17/+23
| | | | | | | | | | | | | | | Commit 1ca5e82cccae0 caused a regression for Qt arguments like -qmlsjsdebugger=xxx . These are automatically removed from argv by QCoreApplication, but since we copied argv before instantiating QCoreApplication this didn't have any effect. Fix this by moving Q[Core]Application instantiation again before the parsing and copying of testlib-specific arguments. Task-number: QTBUG-37793 Change-Id: Ief41640b6cf3251f700a5d24d2e1141233a3888f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Liang Qi <liang.qi@digia.com>
* QML testlib: Do not modify the arguments passed into QGuiApplication.Friedemann Kleint2014-03-071-8/+6
| | | | | | | | | argc/argv passed into QGuiApplication must match those of main on Windows due to the special command line parsing. Task-number: QTBUG-36466 Change-Id: Id722692d2bdc18a6627fdaeffb349b78137ae314 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Make sure the test window has focusAlbert Astals Cid2014-01-161-1/+2
| | | | | | | | | | | Some setups like xvfb-run under Linux do not focus windows after showing them, this means that any focus based test will fail since the windows itself is unfocused. This makes sure the test window will be shown and focused. Change-Id: I1903b7cdf88b772e1ca15acd4899695b49615712 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* ensure that qmltest users have CONFIG+=consoleOswald Buddenhagen2013-12-171-0/+4
| | | | | | | Task-number: QTBUG-35603 Change-Id: Ia337845004290d0e01c391130bbf55ec31e52c9e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>