aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickbehaviors
Commit message (Collapse)AuthorAgeFilesLines
* QQuickBehavior: Force notify when first setting the bindingUlf Hermann2022-03-302-0/+32
| | | | | | | | | | | | If the binding on the proxy property results in the default value of the type, we still want to set the original property with that value. Fixes: QTBUG-101771 Change-Id: Ia289eb734288a4bcc02444fcb73781a57216c908 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit aa4e5d598248008f8490eef07288f60af6f77900) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Re-blacklist flaky tests on macOS CIMitch Curtis2022-03-161-0/+3
| | | | | | | | | | | | | | | | This is a partial revert of b0848d038b7bacfd656fbadc37993a81068132bb. The tests became flaky again in early February, 2022. Grafana shows no failures for 6.2, so this only appears to be an issue on dev and 6.3. Task-number: QTBUG-82015 Task-number: QTBUG-85624 Task-number: QTBUG-82404 Change-Id: Ie83f1c7e9660e26de4daf3418751faa0886d1651 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit 8c658f618835217b3115c43080e22f28636f1c76) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Un-blacklist some passing testsShawn Rutledge2022-02-081-3/+0
| | | | | | | | | | | | | | | | Task-number: QTBUG-75786 Task-number: QTBUG-82015 Task-number: QTBUG-82043 Task-number: QTBUG-82404 Task-number: QTBUG-85622 Task-number: QTBUG-85624 Task-number: QTBUG-88541 Task-number: QTBUG-95863 Change-Id: I361afa8b78e2947b12194b6b1212e59db1b20b11 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit b0848d038b7bacfd656fbadc37993a81068132bb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Consolidate test helpers into private librariesMitch Curtis2021-09-132-5/+3
| | | | | | | | | | | | | | | | | | | | Previously each test would include and build sources from the shared folder. Now we make those sources a library, build it once, then have each test link to it instead. We also take the opportunity to move some helpers that qtquickcontrols2 had added into the quicktestutils library where it makes sense, and for the helpers that don't make sense to be there, move them into quickcontrolstestutils. We add the libraries to src/ so that they are internal modules built as part of Qt, rather than tests. That way we can use them in a standalone test outside of qtdeclarative. Task-number: QTBUG-95621 Pick-to: 6.2 Change-Id: I0a2ab3976fdbff2e4414df7bdc0808f16453b80a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Make qt6_qml_type_registration() internalCraig Scott2021-08-251-1/+1
| | | | | | | | | | | | | This renames the command to _qt_internal_qml_type_registration(). The tests are only updated to use the new name so as to keep this to a minimal change. Fixes: QTBUG-95093 Pick-to: 6.2 Change-Id: Ie3a7f6adc312050df64213fdcdc62886ad21ff01 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Behavior: intercept bindingsFabian Kosmale2021-05-254-1/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new API in QQmlPropertyValueInterceptor and QQmlInterceptorMetaObject to acutally intercept bindable properties in Behavior. This works as follows: We intercept the bindable metacall, and construct an untyped proxy property. The proxy property has storage for the property data (currently via constructing a QVariant for it). It also has its own binding data. We install an observer on the proxy binding data which notifies us whenever the proxy changes. That observer is actually the QQuickBehaviorPrivate (which now inherits QPropertyObserver). Whenever the observer triggers, we read the current value of the proxy property and call QQuickBehavior::write with it. That's how Behavior can now track updates. As binding updates end up calling the write method of the Behavior, we get support for toggling enabled for free. The final part of the puzzle is how to get the property system to use the proxy property instead of the real property. This is done when we intercept the Bindable metacall: Instead of returning the source's QUntypedBindable, we construct a custom one. Its functions do the following: - setting/getting values and bindings do not affect the source, but instead operate on the proxy - observers are still installed on the source; that way, they see all writes done by the interceptor, instead of only the direct writes to the source property - makeBinding forwards to the source - We make use of the metatype multiplexing hack in the getter Task-number: QTBUG-90999 Change-Id: Ib91a12b05975f1257026ba4d2b64ec14852d4a14 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Remove the qmake project filesFabian Kosmale2021-01-151-11/+0
| | | | | | | | | Remove all qmake project files, except for examples which are used to test that qmake continues to work. Change-Id: Ic4abb72dc2dcd75df7a797c56056b6b3c5fe62ac Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-10-061-3/+3
| | | | | | | | Modify special case locations to use the new API as well. Task-number: QTBUG-86815 Change-Id: I3b964e3baf0cc7040830156dac30358ea1152801 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Blacklist tst_qquickbehaviors::currentValueUlf Hermann2020-04-061-0/+3
| | | | | | Task-number: QTBUG-82404 Change-Id: I76ac903e1cfae4aa1d5e833f5549c3d6406e2624 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Update Apple platform defines after rename in qtbaseTor Arne Vestbø2020-03-171-2/+2
| | | | | Change-Id: Ia0a075e3199eab735f9b289873beeb8730ebc47e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2020-03-122-0/+38
|\ | | | | | | | | | | | | | | Conflicts: dependencies.yaml src/qml/qml/qqmlengine.cpp Change-Id: I6a73fd1064286f4a2232de85c2ce7f80452d4641
| * Add Behavior.targetProperty propertyPierre-Yves Siret2020-01-312-0/+38
| | | | | | | | | | | | | | | | | | | | [ChangeLog][Behavior] Behavior now have a targetProperty property to allow custom logic based on the target property's object or name. Fixes: QTBUG-70964 Change-Id: I866c10d36c7de181fff48da94c8e16cd73ce49b1 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Regenerate qtdeclarativeAlexandru Croitor2020-02-121-5/+2
| | | | | | | | | | | | | | Change-Id: I48d7fd306f3d1b161a8e73029282ee591b1ef612 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Regenerate all projects with new CMake API versionAlexandru Croitor2019-11-151-3/+3
| | | | | | | | | | | | Change-Id: Ie0db35f674137c229eaf049616f38f8e818f7092 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Regenerate testsAlexandru Croitor2019-11-141-10/+3
| | | | | | | | | | | | Change-Id: I67a6c8f1659e7b471a4fcb92a2699292cf4eea81 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add QtDeclarative Test CoverageLeander Beernaert2019-08-141-0/+52
|/ | | | | | | | | | | | | | | | | | | | | | All tests compile and run on a developer build. These tests are failing: tst_qqmlsqldatabase Fails due to missing sql driver tst_qqmlsqldatabase Fails in wip/qt6 tst_ququicklayouts Fails in wip/qt6 tst_flickableinterop Fails in wip/qt6 tst_qquickpinchandler Fails in wip/qt6 tst_qquickflickable Fails in wip/qt6 tst_qquickgridview Fails in wip/qt6 tst_qquickimage Fails due to missing jpeg plugin tst_qquicklistview Fails in wip/qt6 tst_qquicktext Fails in wip/qt6 tst_qquickcanvasitem Fails in wip/qt6 tst_scenegraph Fails due to missing jpeg plugin tst_TestFiltering Fails in wip/qt6 Change-Id: I4b9d69c118e23c095cb72ad5a67653fc30943bb1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Check that animation still existsFabian Kosmale2019-06-272-0/+48
| | | | | | | Fixes: QTBUG-76749 Change-Id: Ie5eed240e8190a7297f71f5e40870a007e737d1d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-141-2/+0
|\ | | | | | | Change-Id: I2842f4a8096c4555e29f08e65b88b77b841441cb
| * Remove blacklisting of several tests that are passingShawn Rutledge2019-02-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | ...based on statistics visible in Grafana. Task-number: QTBUG-41895 Task-number: QTBUG-38209 Task-number: QTBUG-65978 Task-number: QTBUG-36804 Task-number: QTBUG-45466 Task-number: QTBUG-29062 Change-Id: If62d2413ede234d33b411e0ecb4f93ec6e0f8062 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Expose the target value in BehaviorsPaolo Angelelli2018-12-215-1/+72
|/ | | | | | | So that nested animation can use it. Change-Id: Ief40cda1dfe1ad9a38cf0d18fbf34456dc36e2ee Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-261-3/+3
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix outdated BSD license headerKai Koehne2017-10-171-3/+13
| | | | | Change-Id: Icc08925454445fc9497fb3bfd2c26efe90605983 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix behaviors not working when sub-types declare propertiesSimon Hausmann2017-09-223-0/+33
| | | | | | | | | | | | | Since commit 81867dfbf9c16d4300727a08eed9b5c6c979e0ba we have an optimization in place to avoid the virtual meta-call when writing properties that cannot be intercepted. Unfortunately that check did not take parent VME meta-objects into account, which triggered the bug. Test case by Harald Hvaal <hhvaal@cisco.com> Task-number: QTBUG-63365 Change-Id: I66cb2967da2c09ca5e38cebd9db2ee6e3ee78f5f Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Updated license headersJani Heikkinen2016-01-201-17/+12
| | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I04760a0801837cfc516d1c7c02d4f503f6bb70b6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-073-0/+75
|\ | | | | | | Change-Id: Ica75a71062d0613e415f2433c5c22c2e251b37cd
| * Make property interceptors work on alias properties againLars Knoll2015-11-263-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a regression introduced by change 01c0c0963794f4dd8c3601e8340cc3dc4dec41bd, where interceptors wouldn't work correctly on alias properties. This required some refactoring and splitting out the interceptor handling from the VMEMO into it's own class, as we are now installing bindings directly on the target property of an alias and not on the alias anymore. We now resolve the target property inside the QML object creator and install a interceptor metaobject on the target if required where we can then register the interceptor. Change-Id: I3ebc8f492ce5dcab7acf901711b47336d5182ffa Task-number: QTBUG-49072 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove CONFIG += parallel_test.Friedemann Kleint2015-09-051-2/+0
| | | | | | | | | | | | | | The keyword no longer has a meaning for the new CI. Change-Id: I699f2881e291cce02a6a608a8710638886e38daa Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove QT_DISABLE_DEPRECATED_BEFORE=0 from tests not using deprecated API.Friedemann Kleint2015-09-031-1/+0
|/ | | | | Change-Id: I691b8ddff60b5f16f06d32b379c76e87f44f84a9 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix up tst_qquickbehaviors.Friedemann Kleint2015-06-101-122/+70
| | | | | | | | - Use QVERIFY2() instead of QVERIFY() in flaky currentValue(). - Use QScopedPointer consistently, remove delete statements. Change-Id: I8b70d206d26219dba31b0d07216bcb18ff665632 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Mark tests as unstable/flakeySimon Hausmann2015-06-081-0/+2
| | | | | | | It failed for example in http://testresults.qt.io/logs/qt/qtdeclarative/baa4a85dbdc4de7d2b4b02b829729dfb46e51305/windows8x86_64windows8x86_64msvc2012developer-build_release_qtnamespace/5aeb8542aafa40f84e974d7ee6346df2b97d1725/testlog.txt.gz while trying to integrate a 100% unrelated doc change. Change-Id: I6b0b8e76d6cdc72e1343ac42a8277b22e3759c50 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fixed license headersJani Heikkinen2015-02-171-3/+3
| | | | | Change-Id: I4d5640ff95e1361ec7e65fb3e87d7726d8185ff5 Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
* Update copyright headersJani Heikkinen2015-02-122-12/+12
| | | | | | | | | 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>
* Update license headers and add new licensesJani Heikkinen2014-08-251-19/+11
| | | | | | | | | - 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>
* Ensure Behavior stops animating when a new value is set while disabled.Michael Brasser2014-02-203-0/+115
| | | | | | | | | | | | | | Otherwise the Behavior could cause the property value to end up in an unwanted and inconsistent state. For example, in the following case: x: myXValue Behavior on x { NumberAnimation {} } x could end up *not equal* to myXValue if myXValue was changed while the Behavior was still animating but currently disabled. Change-Id: I3826fdc3f48b2722e778638b116546db7e831e87 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
* Fix SpringAnimation in Behavior when current value is set.Michael Brasser2013-12-122-18/+113
| | | | | | | | | | | Fixes regression introduced by d489f2f6549a86b3949004d1c8ec68487fc2adb7. We now only avoid running the animation if the Behavior wasn't already mid-animation. This ensure correct behavior for SpringAnimation, and also correct state for 'running'. Task-number: QTBUG-21549 Change-Id: I0f97813294cca22fb7a273e222fa0549c6de9ca7 Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* Behavior should not trigger when the tracked value has not changed.Michael Brasser2013-12-042-0/+48
| | | | | | | | | | | | | | | Behaviors are specifically for animating changes in value. When the value has not changed, do not trigger the animation. This ensures the animation system is not unnecessarily woken. [ChangeLog][QtQuick][Behavior] Do not trigger a Behavior when the tracked value has not changed. Task-number: QTBUG-21549 Change-Id: I5b20121ccfb75ea5ebf86705df89891c94cf6e7e Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* Fix compilation with built-in v4vm JS engineSimon Hausmann2013-04-151-1/+1
| | | | | Change-Id: Ieda9267e296acf6392a5461f4cfb9233a7a409a0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-231-24/+24
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Set the Qt API level to compatibility mode in all tests.Thiago Macieira2012-08-011-0/+1
| | | | | | | | | | 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: I6988c2360e9d88916311374a0c910bfc5b607439 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Update multiple value type properties despite interceptorMatthew Vogt2012-07-132-0/+46
| | | | | | | | | | When an interceptor is present on a value type, ensure that multiple properties of that value can be updated simultaneously. Task-number: QTBUG-25139 Change-Id: I3042b9883d404aed4b6507e6d2f38a76caee1196 Reviewed-by: Glenn Watson <glenn.watson@nokia.com> Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Remove unneeded dependencies to QtWidgets and QtOpenGLLars Knoll2012-03-121-1/+1
| | | | | Change-Id: I43bb54524f5786a838073df8812107dda7b0d56e Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Changed quick tests to work from install directoryKurt Korbatits2012-03-071-3/+1
| | | | | | | | | - Changed tests to use TESTDATA - added check for cross_compile option to skip when sources not available Change-Id: I1f382794ff982bbc07fc20438a4e4a8c8b8d565f Reviewed-by: Michael Brasser <michael.brasser@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-2425-0/+969
Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>