aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* qmllint: Capitalize importer warningsUlf Hermann2020-10-071-1/+1
| | | | | | | Refactor the "prefixed message" mechanism into ColorOutput. Change-Id: Ie982e641771f3367406f48a8bcfd2bd3da122b16 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-10-06364-817/+770
| | | | | | | | 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>
* Un-blacklist Quick tests that are passingShawn Rutledge2020-10-067-33/+2
| | | | | | Task-number: QTBUG-86729 Change-Id: I35dc7ac91d2507a229dc1dde19f380e7111a4757 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* qmlformat: Fix formatting of for...of loops using array variablesMaximilian Goldstein2020-10-063-0/+23
| | | | | | | Fixes: QTBUG-86980 Pick-to: 5.15 Change-Id: Id27350821051709894c7645a362cfdf7ce0d279c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* XHR: allow the user to set the User-Agent headerGiuseppe D'Angelo2020-10-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | The Fetch spec has allowed it for a while (in other words, it's no longer forbidden): * https://fetch.spec.whatwg.org/#terminology-headers * https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name Cf. also * https://github.com/whatwg/fetch/issues/37 * https://github.com/whatwg/fetch/commit/dab09b0c483c46324082df1e54b29ed4c9c02162 [ChangeLog][QtQml][XmlHttpRequest] It is now possible to set the User-Agent header. Change-Id: I1d5bd785223e9df2883011f873d440a63e363a24 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QQmlMetaType: Grudgingly accept uppercase value typesUlf Hermann2020-10-051-2/+2
| | | | | | | We throw a warning instead of an error. Change-Id: I0f5886a2d46582405ae1d57879ccb3937e27950f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qmlformat: Fix inline componentsMaximilian Goldstein2020-10-051-5/+2
| | | | | | | Fixes: QTBUG-86979 Pick-to: 5.15 Change-Id: Ie8863bc2ecf75a9dd8e4af5e96e48c30e7acbacd Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qmllint: Mark anchors3.qml as dirtyUlf Hermann2020-10-053-3/+7
| | | | | | | | | This is in fact invalid QML. The assignment shouldn't be accepted but qmllint cannot see that, yet. Change-Id: Ifcb2f01edaf10ada5ce4d762726c51af3b4f5087 Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* testlib: Remove the deprecated MouseDoubleClick() methodShawn Rutledge2020-10-051-5/+0
| | | | | | | | | | | | After qtbase/871d19a5b96fa5a5be4ac50e3121e0704ff08374 MouseButtonDblClick is no longer delivered like a press event, but like an update: that is, only grabbers will receive it. So this test function is even less useful for the sorts of tests that are written in QML. Those who want to test pathological event sequences can do it in C++. Task-number: QTBUG-42185 Change-Id: Ib40c7acd0a807b2c701357164c1579a9cd1823a5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove obsolete autotest caseLaszlo Agocs2020-10-021-28/+0
| | | | | | | | | ...that would fail (threaded render loop only) - if the CI would run these tests, that is. What this case relies on went away from the threaded loop weeks ago Change-Id: Ia6087241d497e945a10a8f22d73468e557f251a7 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* qmllint: Fix updating of parent propertyUlf Hermann2020-10-023-0/+18
| | | | | | | | | | | We need to check for the baseTypeName, not for the internalName. Also, this is not really the scope's business but a property of how qmllint sets up its scopes. Task-number: QTBUG-87116 Change-Id: I8f0e558a4a5861164c6e85f90e3d88e469ea0769 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Evgeniy Dushistov <dushistov@mail.ru>
* qmllint: Ignore grouped properties againUlf Hermann2020-10-025-9/+67
| | | | | | | | | | We cannot handle those, yet. Add tests that prove correct grouped properties pass and incorrect ones are expected to fail at causing qmllint to fail for now. Task-number: QTBUG-87116 Change-Id: I0aeed15d262e2c6226e27d5d92890c5385a38936 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* skip tst_QQuickMouseArea::nestedEventDelivery on macOSShawn Rutledge2020-10-021-0/+3
| | | | | | | | | It has blocked integrating anything in CI because of crashing, so blacklisting is not enough. Does not crash locally for me on macOS 10.15 Task-number: QTBUG-86729 Change-Id: Iddae9edb09fd7b7fdadd122779832c80d0376b2d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* qmllint: Consistently spell "Warning"Ulf Hermann2020-09-281-2/+2
| | | | | | | There was one place where it was written in lower case. Change-Id: Id953fa6c260502ab5bca8cfa061c817bb5a70581 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qmllint: Make imports localUlf Hermann2020-09-282-0/+2
| | | | | | | | | Imports are not transitive. qmllint gets this wrong so far. Fixing it reveals two tests where we use types we haven't imported. Import the relevant modules. Change-Id: I45f3229468d54137f97d6b699f3a98a1349bc412 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Port from devicePixelRatioF() to devicePixelRatio()Morten Johan Sørvig2020-09-282-3/+3
| | | | | | | This ports all of QtDeclarative. Change-Id: Ie6eb4d96b4d49fbed1e8be514d03e331549cd712 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* qqmlimport: Use stable_partition instead of stable_sortFabian Kosmale2020-09-282-12/+24
| | | | | | | | | | | | We do not actually need to sort the imports list, we just require that all inline component imports come before all other imports. This avoids triggering a MSVC STL debug assertion about the used Compare function not actually creating a strict ordering. Fixes: QTBUG-86989 Pick-to: 5.15 Change-Id: I381852392545287ec02b186fcb4f33be3ae95b33 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Blacklist a few more on macOSShawn Rutledge2020-09-264-0/+10
| | | | | | Task-number: QTBUG-86729 Change-Id: I49fb86e867afeee2f0567dc3498598b249ae5e08 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Handle ungrab and grab-cancel consistently; inform handlersShawn Rutledge2020-09-268-42/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call onGrabChanged on Pointer Handlers during grab transitions: this was missing in a97759a336c597327cb82eebc9f45c793aec32c9. Flickable needs to receive an ungrab by child-event-filtering, in order to set its pressed state back to false (as in the cancelOnHide autotest). This is best done as a result of the QPointingDevice::grabChanged signal, while trying to send the ungrab to the item that was the grabber, rather than as a special case. Thus, QQuickWindowPrivate::onGrabChanged (the handler for the QPointingDevice::grabChanged signal) is now the only place from which we call QQuickItem::mouseUngrabEvent() and touchUngrabEvent(). But the result is that they are called in more cases than before, so some tests need adjustment. touchUngrabEvent() is not sent unless the event is available and we can verify that all points have been released. This is important for MultiPointTouchArea: it will react by ending interaction with all points at once. Another thing that's important to MPTA and multi-touch handlers is that QQuickWindowPrivate::deliverPointerEvent() must not clear grabbers of points that are not yet released, in the case that only some points are. QQuickWindowPrivate::removeGrabber() now calls QPointingDevicePrivate::removeGrabber() with its optional cancel argument, so that it will emit either a cancel or an ungrab transition. That's only relevant for Pointer Handlers, whereas QQuickItem mouseUngrabEvent and touchUngrabEvent don't make a distinction. Task-number: QTBUG-86729 Change-Id: Idf03aef2e2182398e0fc4a606c0ddbb2aaed5681 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* TypeDescriptionReader: Don't export C++ names as QML namesUlf Hermann2020-09-251-0/+1
| | | | | | | | | | | | | | This is just wrong. The types are not visible in QML under their C++ names. Indeed, this way we reveal a number of places where we confuse the names. Fix those in turn. Furthermore, one of the tests was incorrect. The qmltypes files did not contain an export entry for one of the types, and therefore the type was formally anonymous in QML. However, we did access it via its C++ name. Fix that by exporting the C++ name. Change-Id: I8dd96334076b90fb174daf5b285d622f96495f56 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* cmake: enable colorresolving benchmarkFabian Kosmale2020-09-252-1/+29
| | | | | Change-Id: I15321e9940b1b9d5a1ae6f1296bf9466ca4f4262 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Blacklist various failing testsShawn Rutledge2020-09-256-0/+23
| | | | | | | | | | | | tst_qqflickable::nestedStopAtBounds, nestedSliderUsingTouch tst_QQuickMouseArea::preventStealing, nestedFlickableStopAtBounds tst_QQuickMultiPointTouchArea::inFlickable2, inFlickableWithPressDelay tst_QQuickPathView::nestedinFlickable, touchButtonOnFlickable, touchGrabCausesMouseUngrab tst_qqmlpropertycache::derivedGadgetMethod Task-number: QTBUG-86729 Change-Id: Ie11a50c25f90fde2636b05a72f51640643b33dec Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QQmlDirParser: Treat dependencies like importsUlf Hermann2020-09-251-0/+19
| | | | | | | In particular, allow auto and latest versions. Change-Id: I4a6b26112950d066ae2d8a37dc0e9fa1dec24724 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Blacklist tests flickable.nestedPressDelay, gridview.snapOneRowShawn Rutledge2020-09-242-0/+4
| | | | | | Task-number: QTBUG-86729 Change-Id: I061147b99c957a9b0d15b2f3305e26c9e2a99989 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Stabilize tst_QQuickListView::parentBindingShawn Rutledge2020-09-242-2/+8
| | | | | | | | | | Some platforms aren't registering their mouse devices yet, and we don't want false failures in CI because of that, so just register a mouse, even if it ends up being an extra one a lot of times. Task-number: QTBUG-86729 Change-Id: Ia3a91e3d1e4fb8df90352555c9a7ec6ea18bf6fe Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Get rid of QMutableEventPoint::stationaryWithModifiedPropertyShawn Rutledge2020-09-241-6/+7
| | | | | | | | | | | | Omitting stationary points from touch events is such a marginal optimization that this code probably isn't worth maintaining. It wasn't implemented correctly this time either, according to the tst_QQuickMultiPointTouchArea::stationaryTouchWithChangingPressure() test. Task-number: QTBUG-77142 Change-Id: I1ccc8ffe0451d6417add2b03c063ac1aebe36e8e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Blacklist tst_qquickwindow::cleanupGrabsOnReleaseShawn Rutledge2020-09-241-0/+2
| | | | | | Task-number: QTBUG-86729 Change-Id: I9d592ae48d26851938d57d52620af12c2086054a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Blacklist maiop::dragHandlerInSiblingStealingGrabFromMouseAreaViaTouchShawn Rutledge2020-09-241-0/+2
| | | | | | Task-number: QTBUG-86729 Change-Id: Ib2585663d8cc213ccd14d1fa5d3bd854062b09c9 Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* qmllint: Don't dump imported enums into the current scopeUlf Hermann2020-09-243-1/+21
| | | | | | | | | This bit of code has never fulfilled any discernable function. Enum access is done elsewhere. Add a test case to prove that access to enums from QtQml's plugins.qmltypes still works. Change-Id: I62fd6c1ec748c88205aa20367ee06d7a33502fa1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Allow proper registration of value typesUlf Hermann2020-09-233-38/+87
| | | | | | | | | | | | | | | | | | | | You can now have an extension object on a value type that offers additional properties. This is how we model the QtQuick value types. It allows us to retrieve the extension's metaobject without using the virtual functions in the value type provider. As before, this mechanism is still rather dangerous and not fit for public consumption. It relies on the extension object having exactly the same layout as the original value type, and it hides any properties the original value type might expose. Furthermore we enforce now that gadgets should have lowercase names. The ones that didn't before are split up into an anonymous value type and a namespace that contains all the addressable bits. Task-number: QTBUG-82443 Change-Id: Ic93d6764538d6ccc0774b3c5648eee08ba0939c0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Prevent crash when destroying asynchronous LoaderJoni Poikelin2020-09-232-0/+68
| | | | | | | Fixes: QTBUG-86255 Pick-to: 5.15 Change-Id: I30488b64d910a1409a43e2e98ee7ab084aec33d2 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* tst_qqmllanguage: Use namespaces for registering enum containersUlf Hermann2020-09-222-9/+13
| | | | | | | The uppercase names indicate that we don't actually want value types. Change-Id: Id9b64be8770b7fcf49e668dfd0994e9c4e85b948 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Regenerate projects before API changeAlexandru Croitor2020-09-222-0/+2
| | | | | | | Task-number: QTBUG-86815 Change-Id: I834513b93cf495ff9075d4cd541ed425e2ccbc15 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Handle QProperty inside bindingsFabian Kosmale2020-09-212-0/+17
| | | | | | | | | | | | | | | | | | | If we have a binding containing QProperties, and the binding target is an old style binding, still we have to trigger an update if any of the captured properties changes. We cannot reuse the QQmlJavaScriptExpressionGuards as those depend on Qt's signals, and a QProperty is not associated with a change signal in the general case. Therefore, we introduce a new list of QPropertyChangeHandler, which when triggered cause a reevaluation of the binding. As an optimization, we skip the whole capturing process for QQmlPropertyBinding, as that one already takes care of updating itself. Reverts 845bbb99a41a3e4f05c2b3d05d6db748c825dca0 (because skipping the capture is only possible when _both_ the bindee and the property in the binding are QProperty based.) Change-Id: Iafed2a41dcd708bcc33912ce810d803949379c63 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix the pointer handlers manual test againShawn Rutledge2020-09-191-6/+6
| | | | | | | | | | | | InputInspector now has an unfortunate dependency on QPointingDevicePrivate, which changed in qtbase/2692237bb1b0c0f50b7cc5d920eb8ab065063d47 (the final version ended up different than the version InputInspector was modified for). Eventually maybe it can be rewritten with a GrabMonitor like the one in tst_touchmouse; but for now it works again. Amends a97759a336c597327cb82eebc9f45c793aec32c9 Change-Id: Ia8dca4a2021b5e62ed9932da33664a97b7fe0cd3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Blacklist tests due to QPointerEvent changesShawn Rutledge2020-09-1817-0/+97
| | | | | | | | | | | | | | | | qtbase/2692237bb1b0c0f50b7cc5d920eb8ab065063d47 and the associated Qt Quick change to do direct delivery of QPointerEvents seem to have broken a number of tests as they are currently written. It looks bad; however I spent a lot of time already on some older "basic" tests like tst_qquickwindow, touchmouse, tst_qquickflickable etc. and found a lot of things to fix while doing that; so at least those aren't broken now. Troubleshooting each test takes time. Hopefully it will turn out that many of these failures are related (there seems to be something in common about handlers and items stealing touch grabs from each other). Task-number: QTBUG-86729 Change-Id: I14acf57fc83fa961a25f91108dcd4aea42b54435 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Remove QQuickPointerEvent etc.; deliver QPointerEvents directlyShawn Rutledge2020-09-1814-252/+250
| | | | | | | | | | | | | | | | | | | | | | | QEventPoint does not have an accessor to get the QPointerEvent that it came from, because that's inconsistent with the idea that QPointerEvent instances are temporary, stack-allocated and movable (the pointer would often be wrong or null, therefore could not be relied upon). So most functions that worked directly with QQuickEventPoint before (which fortunately are still private API) now need to receive the QPointerEvent too, which we choose to pass by pointer. QEventPoint is always passed by reference (const where possible) to be consistent with functions in QPointerEvent that take QEventPoint by reference. QEventPoint::velocity() should be always in scene coordinates now, which saves us the trouble of transforming it to each item's coordinate system during delivery, but means that it will need to be done in handlers or applications sometimes. If we were going to transform it, it would be important to also store the sceneVelocity separately in QEventPoint so that the transformation could be done repeatedly for different items. Task-number: QTBUG-72173 Change-Id: I7ee164d2e6893c4e407fb7d579c75aa32843933a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix additional warnings from usage of deprecated APIsVolker Hilsheimer2020-09-1620-31/+31
| | | | | | | | | | Replace more QLibaryInfo::location with QLibraryInfo::path Replace old event accessors APIs, including relevant comments. Change-Id: Ie205fc93b6e1c0dfb3dca9100fbde417ab68fc9f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QQuickWindow: Consider z-order of children when delivering pointer eventsYoungSun Park2020-09-154-0/+164
| | | | | | | | | | | | | When creating a target item list for handling pointer events, put children after the parent item if they have negative z-order value. This fixes an issue where an item does not receive a pointer event if there is a child item that accepts the event even when that child item is shown under the parent item as per the stacking order. Fixes: QTBUG-83114 Pick-to: 5.15 Change-Id: I711faa22516f5c2396b1138dc507bcaa4ba22241 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix xmlhttprequest autotest after HTTP/2 changes in qtbaseLars Knoll2020-09-1531-42/+86
| | | | | | Change-Id: I32029f4f70da909b0b0d088899ac0c3138454792 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Blacklist a test that started failing after even changes in qtbaseLars Knoll2020-09-151-0/+1
| | | | | | | | | | This test probably started failing after the pointer event refactoring in qtbase. Blacklist for now, so we can update dependencies in declarative. Change-Id: I72634ed67efe7d23f64bf0c96889129081f4a016 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Adapt to changes in qtbaseUlf Hermann2020-09-153-0/+4
| | | | | | | | | Due to qiterable.h specializing a template declared in qmetatype.h we temporarily need to include it in a few tests so that the iterables work. Change-Id: Ia32392419dead76eaf2b91b2ec4157b726d8de74 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Skip tst_TouchMouse::buttonOnDelayedPressFlickable on macOSUlf Hermann2020-09-151-0/+4
| | | | | Change-Id: I1b1b5d00ae8bef77ad63f8df5ec893b045e21923 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Add QQuickHandlerPoint::device propertyShawn Rutledge2020-09-041-1/+2
| | | | | | | | | | | | The HandlerPoint type is used as the memory of an event or TouchPoint that a handler has already handled. Maybe in the future we'll store a copy of a QEventPoint instead. But for now, it's nice to have the device pointer available for binding properties, instead of only in QQuickEventPoint, which was only exposed in signals like TapHandler.tapped(). Change-Id: I314fc8c76311dc2620f1d97d4cadacf2e9869274 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* qmlformat: Fix multiline comment attachmentMaximilian Goldstein2020-09-043-0/+24
| | | | | | Pick-to: 5.15 Change-Id: I3ba8a4cd683df3309dd6df31b1fd426a0875f8fa Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Adjust to qtbase changesFabian Kosmale2020-09-046-20/+28
| | | | | | | | | | | | | - isQProperty has been renamed to bindable - QNotifiedProperty is no more - Bindable properties have a function to obtain the QBindable; store that information in the qmltypes files. Task-number: QTBUG-86434 Task-number: QTBUG-86435 Change-Id: I2ba593af1e197d04d2c30cfb9e6904a3d2059e4b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove use of deprecated High-DPI application attributesTor Arne Vestbø2020-09-028-9/+0
| | | | | Change-Id: Ibfb50fdcbb51ba93d6e5d11f9e8ce0e7b3bfde79 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* QJSEngine: provide a way to check if an exception was thrownFabian Kosmale2020-09-021-0/+21
| | | | | | | | | | | [ChangeLog][QML][QJSEngine] QJSEngine::evaluate gained an optional stackTrace parameter. It can be used to check if the returned QJSValue comes from an uncaught exception, and to retrieve the backtrace of the execution leading to the error. Fixes: QTBUG-54925 Change-Id: I2b5ada1f0c33c335b4b9d0d1268e70ca63a1fad1 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* tst_qmlformat: refactor testsMaximilian Goldstein2020-09-021-86/+44
| | | | | Change-Id: I2090b78417caf43b6dfb4106802988742a5a119e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Tests: pass QDate and QTime by value rather than const referenceEdward Welbourne2020-09-014-7/+7
| | | | | | | They've value types, packaging qint64 and int respectively. Change-Id: Ia9a96748f9423139f41df720ce987ce96435beca Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>