aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Replace Qt's MidButton with MiddleButtonEdward Welbourne2020-07-221-1/+1
| | | | | | | | | | The latter has been the preferred name since Qt 4.7.0. Added a comment on where the old name is exposed to QML that it's only for backwards compatibility. Pick-to: 5.15 Change-Id: I2c5088d597dd7327cc5899d06afb180d0ec2893e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QQmlIRLoader: Restore inline components correctlyFabian Kosmale2020-07-222-0/+24
| | | | | | | | | | | | | | Whether a component is an inline component is not only stored in the flags, but also in the isInlineComponent member. Ideally, this should be unified and the member removed, but for now we just restore the value correctly. Adjusted tst_qmlcachegen::initTestCase so that we testFile and testFileUrl are actually usable in the test. Fixes: QTBUG-84237 Pick-to: 5.15 Change-Id: I759cd6b8914b186b9e5c8118863fc8d0580d21af Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Blacklist QQuickLoader's urlToComponent test on macosUlf Hermann2020-07-211-0/+2
| | | | | | Task-number: QTBUG-85622 Change-Id: Ib2814fe1d69b641e9e8b72e682f172bdad77b9f5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* tst_qquickimage: Fix test when running on HighDPI screenTor Arne Vestbø2020-07-201-4/+10
| | | | | Change-Id: I3018355df2a69c7d5a80d18d3d58ac365f1c0b49 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Blacklist QQuickAnimations' reparent testUlf Hermann2020-07-171-0/+2
| | | | | | Task-number: QTBUG-85624 Change-Id: Iebef044d3f5cb9053079eaa9106e9e5c8b1ebd03 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Restrict qmlRegisterTypesAndRevisions to major version givenUlf Hermann2020-07-164-0/+64
| | | | | | | | | | | We should not register any revisions larger than the given major version as that allows importing an incomplete module, as the version-less import. Typically the offending version is pulled in via some QML_FOREIGN and only the types derived from that foreign class are available in the higher major version. Change-Id: I186fb010d704bea514cefff9f66eb58186df5c91 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Begin handling the QEvent refactoringShawn Rutledge2020-07-155-77/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | This is an intermediate step to get Qt Quick working again after qtbase 4e400369c08db251cd489fec1229398c224d02b4. - QQuickEventPoint::id() is no longer unique across devices, because now eventPoint.event.device tells which specific device the event comes from. (In Qt 5, we could not yet add the device pointer to QInputEvent.) - However, MultiPointTouchArea's docs say that each pointId is unique, and so do the HandlerPoint docs (for similar use cases with PointHandler). So we still need the same hack using a Qt-specific short device ID to unique-ify the QEventPoint::id(). Now we use the device index in QInputDevice::devices() as the short ID. - Otherwise, we trust QInputDevice::systemId() and QEventPoint::id() more than before. - Use QMutable* classes from qevent_p.h to continue using setters that were in QTouchEvent before, etc. But setTouchPoints() is not there, so we have to make new event instances in a couple of cases. - QGuiApplicationPrivate::setMouseEventCapsAndVelocity() and setMouseEventSource() are gone. - Use (compiler-written) event copy constructors when possible. Task-number: QTBUG-72173 Change-Id: I3915dc535ae4c5a81cbf333aba9355f01c420c15 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Replace QTouchEvent::TouchPoint with QEventPointShawn Rutledge2020-07-158-147/+147
| | | | | | | | | | | | It's a cosmetic change at this time, because we have declared using TouchPoint = QEventPoint; Also replace Qt::TouchPointState enum with QEventPoint::State. Task-number: QTBUG-72173 Change-Id: Ife017aa98801c28abc6cccd106f47a95421549de Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Adapt test to automatic comparator registrationFabian Kosmale2020-07-151-1/+0
| | | | | Change-Id: I28d8f811f9173a92d977acaf7b8c7e0bbbe98f07 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Temporarily skip part of tst_TouchMouse::buttonOnDelayedPressFlickableShawn Rutledge2020-07-151-0/+1
| | | | | | | | | | We can revisit tests involving the replaying of press events soon, after getting them replayed as the original type, i.e. stop synthesizing mouse for touch during replay. Task-number: QTBUG-85607 Change-Id: Ib978c84a5e61bb21e0dc017eb386cadec5390418 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Compile against latest qtbaseLars Knoll2020-07-092-3/+3
| | | | | | | Adjust to the lastest changes in QList and QString. Change-Id: I216b2746a3305222a21c5aead3aec6106ac1f035 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Regenerate projectsAlexandru Croitor2020-07-093-3/+40
| | | | | | | | | We need the qt_add_tool changes to successfully configure qemu builds. The rest of the changes are just to be in sync with the .pro files. Change-Id: I7bcc08ac58f57a5761aedef09761428c55235289 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* qmlformat: Allow for minor and major versions to be omittedMaximilian Goldstein2020-07-082-0/+6
| | | | | Change-Id: I85897930980bb98ba9f968cdf70696547493b1d5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmlimportscanner: Use QmlDirParserUlf Hermann2020-07-0849-1/+932
| | | | | | | | | | | | | | This gives us a reliable way to parse imports and versions. Apparently we can also have multiple classname entries in the same qmldir file. Reflect that in the parser. Also, drop the version field from the output. Nobody uses it and maintaining it while allowing partial, missing and auto versions would be rather difficult. Fixes: QTBUG-85304 Change-Id: Iab89a6d505a3c58174e623f02f0418899cb5fa2f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qmlplugindump: Fix handling of dependenciesUlf Hermann2020-07-084-4/+0
| | | | | | | | | Tolerate dependencies without version and don't write them into the output anymore. No one should read them as the same info has to be available from the associated qmldir files. Change-Id: I5e4cd93c83cb5e874a8a6e1467461d081b1a089c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Fix failing tst_qmlcachegen::skippedResourcesAlexandru Croitor2020-07-073-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | The test was failing in CMake configurations because the pro2cmake generated code set the QT_SKIP_QUICKCOMPILER property on a non-existing file path (it was missing "data/"). Fix this manually by specifying the correct file path. Add a SkipQmlCacheGen.qml file to make it more clear what the file is used for. The previous alias from Retain.qml to Skip.qml was confusing, and also was overriding the source file properties on the same file that was part of 2 different resources. Keep the alias to Skip.qml so we don't have to touch the C++ code. pro2cmake will be fixed in a separate change to output correct file paths. Amends 41890402db086f4c61e052cef7659eb6b003dc77 Task-number: QTBUG-85364 Task-number: QTBUG-84886 Change-Id: I6e49deb8758403241d6f804af797adf2f05fda05 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Prepare Qt5QuickCompiler.cmake.in for Qt6Ulf Hermann2020-07-051-6/+6
| | | | | | | | | | Increment all the version numbers. Replace qtquick_compiler_add_resources with a warning and a call to qt6_add_resources. Task-number: QTBUG-85190 Change-Id: Ifed5449ab4d6312a57add870eee13175872146db Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Give a better score for methods with a convertable type when matchingAndy Shaw2020-07-033-0/+37
| | | | | | | | | | | | When it is looking for a matching method based on the argument types, then if a QVariant can be converted to that type then it should give a better score for that method. This is so that it can see it as being more viable a choice when calling the method instead of potentially not being able to find a matching one. Pick-to: 5.15 Change-Id: Ief7e11feacd1d0b0959330af2576c2d01affbc54 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* URL: Allow non-string parametersMaximilian Goldstein2020-07-031-0/+13
| | | | | | | | | | Previously we only allowed string parameters as the first parameter of the URL constructor. This excluded types like url. The behavior of instead trying to convert the parameter to a string and then interpreting this as an url matches the specification more closely. Change-Id: I6ef8db9d8c0f238ba8c51b1023decdfcc1caad87 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmlformat: Fix handling of empty blocksMaximilian Goldstein2020-07-021-4/+0
| | | | | | | | | | Empty blocks were often not handled properly. (i.e. in if, for and while blocks) Fixes: QTBUG-85321 Pick-to: 5.15 Change-Id: I4035dd239a095814362e0aec142b387dc113f282 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmlformat: Fix template literalsMaximilian Goldstein2020-07-022-0/+6
| | | | | | | Fixes: QTBUG-85317 Pick-to: 5.15 Change-Id: I52589b681690a55f7bba7d7d9c675dc22ffa1587 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qmlformat: Fix multiline bindingsMaximilian Goldstein2020-07-012-0/+6
| | | | | | | | | | Some bindings may turn multiline while formatting. This change makes sure this is handled properly. Fixes: QTBUG-85289 Pick-to: 5.15 Change-Id: I6df98b926d69a23480003c3d9705bc34c3dd0d5d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Revive QTQUICK_COMPILER_SKIPPED_RESOURCESUlf Hermann2020-06-303-2/+22
| | | | | | | | | There are valid reasons not to compile some resources with qmlcachegen. Pick-to: 5.15 Fixes: QTBUG-85243 Change-Id: I9a1233864ed5dda0c264e61db596a9d8c80ea1f3 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Update the window cursor on mouse releaseShawn Rutledge2020-06-302-1/+14
| | | | | | | | | | | | | | | | When a PointerHandler with a custom cursor deactivates, the cursor wasn't restored until the next mouse move. I was writing a test to ensure that there were no bugs analogous to QTBUG-85303 with a handler that uses its active state to change the cursor (unlike HoverHandler which changes it whenever the mouse is hovering) and found this new bug. Pick-to: 5.15 Fixes: QTBUG-85325 Task-number: QTBUG-85303 Change-Id: I4ea8dbd267046c8e972e723cc491bd44bbbfd7f2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Change the cursor within HoverHandler.marginShawn Rutledge2020-06-302-0/+71
| | | | | | | | | | | | | The visual cursor feedback was inconsistent with the hovered property when a margin is set. Amends 1c44804600ad3dbeb60d1f5209ce9cf937d30ab3 Pick-to: 5.15 Fixes: QTBUG-85303 Task-number: QTBUG-68073 Change-Id: I25506baecaecbd6450a0e95786f103024b46b1b8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Match specific module imports also for versionless QML importsUlf Hermann2020-06-291-11/+31
| | | | | | | | | | Previously, if you registered a module import for a specific version X of a module, and the user imported the module without specifying a version, the module import would not be carried out even if X was the version actually imported. Change-Id: I853ed6f275501cf4cbd4e5a360985e67b07f3773 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Reimplement UniformAnimator for ShaderEffectJonas Karlsson2020-06-292-0/+56
| | | | | | Fixes: QTBUG-83976 Change-Id: I307e96be0d3d2edeb8d9065d100c1ef38c8824c7 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix MouseArea mouseX/mouseY coordinates while draggingShawn Rutledge2020-06-292-3/+94
| | | | | | | | | | | | | | | | | When MouseArea is not anchored with the usual anchors.fill: parent, such that its position is not 0,0, calculating mouseX/mouseY as d->lastScenePos - mapToScene(position()) was wrong. It could be d->lastScenePos - mapToScene(QPointF()), but instead we use mapFromScene(d->lastScenePos) as in a few other places. Amends 8068e7b98cde09565efe27585b84e120f9c5ea99. Pick-to: 5.15 Fixes: QTBUG-85111 Task-number: QTBUG-75993 Change-Id: If1440d05ec3b75d9f9f4802fbc361756fadb559e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* tst_qqmlsettings: Fix QVector - QList falloutLaszlo Agocs2020-06-291-1/+1
| | | | | Change-Id: Ibcbd0ea33b90f1baaeba2dc75d3e87c6c57b5ed9 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Fix string-bytearray mistake in tst_qqmlmodulepluginLaszlo Agocs2020-06-291-1/+1
| | | | | | | | Was causing an error with the latest qtbase. Switch to QByteArrayLiteral. Change-Id: I2370ccca5ac245a7d6678cc6888217d4757f562d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add ; to Q_UNUSEDLars Schmertmann2020-06-282-2/+2
| | | | | | | | | | | This is required to remove the ; from the macro with Qt 6. It is not required in GET_QML_TABLEVIEW because it is the last instruction of the macro. Task-number: QTBUG-82978 Change-Id: I17458daea8f10fd5a211d76bddc60320b3714df3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Follow QQuickGraphicsDevice changes in QQuickRenderTargetLaszlo Agocs2020-06-261-2/+3
| | | | | | | | | They are not strictly related of course, but the API pattern should be kept. We can also move away from the QSGTexture dependency which is good since that was never directly related. Change-Id: I9aedff5918443bda3d6e3ee1ea389071222d1ad7 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Add ; to Q_UNUSED and UNUSED_PARAMLars Schmertmann2020-06-2614-40/+40
| | | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: Iead53d18fd790fb2d870d80ef2db79666f0d2392 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmllint: Resolve enums from parent typesUlf Hermann2020-06-262-0/+8
| | | | | | | | Fixes: QTBUG-85185 Fixes: QTBUG-84036 Change-Id: If0989a85df93903fee6cb146a515cd362160ff49 Reviewed-by: Evgeniy Dushistov <dushistov@mail.ru> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qv4dateobject.cpp: USE_QTZ_SYSTEM_TIMEZONE on more platformsUlf Hermann2020-06-251-0/+16
| | | | | | | | | | | | | The only platform where we may have a semi-adequate native implementation of the time/date functions is windows. On all other platforms we should use QTimeZone::systemTimeZone() if possible as that at least gives us correct results when the system time zone doesn't change at runtime. Fixes: QTBUG-84474 Pick-to: 5.15 Change-Id: I34b01e12a751ee1c9b17735810e62e2e847f8446 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Drop special casing of QDateTime when setting valuesUlf Hermann2020-06-251-2/+2
| | | | | | | | | | | | | | | | | This introduced inconsistency in order to be compatible with V8 and Qt 5.0/5.1, respectively. We don't need to do this anymore. We standardize on the behavior observed when statically setting a property in QML, e.g. "foo: '2014-03-03'", rather than the behavior observed when dynamically setting it from JavaScript. [ChangeLog][Important Behavior Changes] Dates are interpreted the same way when assigned to QML properties as when parsed in JavaScript now. The time zone is generally left alone, not forced to UTC in some cases. Fixes: QTBUG-36635 Change-Id: I72a7045d7b39ee1c6e0ac1ef55d74ef8aa505f00 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QQmlPropertyBinding: convert to correct typeFabian Kosmale2020-06-252-3/+3
| | | | | Change-Id: I5b7b4d670c6308b33a2fd0580790934345bb3504 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmlformat: Fix nested functionsMaximilian Goldstein2020-06-254-1/+37
| | | | | | Fixes: QTBUG-85035 Change-Id: I5e1cb003b7b84547e3408a086eebf3be740e6860 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmlformat: Fix inline componentsMaximilian Goldstein2020-06-253-0/+23
| | | | | | Fixes: QTBUG-85189 Change-Id: I2b30595b44d14b89406b126d3d148f51f8bfbca4 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-253-3/+3
| | | | | | Task-number: QTBUG-84469 Change-Id: I4c3353c00a566023503fbc178ba8454391dc334c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Use qt_enable_autogen_tool to explicitly enable AUTOMOCMårten Nordheim2020-06-242-1/+22
| | | | | | | | Otherwise it will depend on the moc executable existing already during configuration/generation. Change-Id: I9b3f0ef42ba6ecf5eeb59e92fd6dad553c5c47af Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix tst_qqmlmoduleplugin for MinGWCristian Adam2020-06-245-0/+6
| | | | | | | | | | | | | Some of the pro files didn't have the CONFIG += plugin line, which resulted in pro2cmake generating shared libraries for the respective plugins. The shared libraries had the "lib" prefix on MinGW, which caused the plugin loading mechanism to fail. Task-number: QTBUG-84886 Change-Id: I240967d918db13be45cf9b79bfcc989e9b826937 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmllint: Properly process qmldir imports and dependenciesUlf Hermann2020-06-245-0/+29
| | | | | | | | | | | | | | | | | | We don't want to pick the dependencies from the qmltypes files. Rather, parse them directly from the qmldir. Do process versions, too. Also, import explicitly given qmltypes files only once, and don't expose QML types from dependencies as actual types. Hide them behind an inaccessible prefix. For the inaccessible prefix to work, we need to import the C++ class names without the prefix. The prefix doesn't make sense for C++ names anyway. In addition, properly process version-less imports. Change-Id: If582ad271db35351d219332c319571a814628fe0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Discern between "auto" and versioned imports in qmldirsUlf Hermann2020-06-247-4/+46
| | | | | | | | | | | | | You can now import the latest version, a specific version, or, "auto" which is the same version as the parent module. [ChangeLog][QtQml] You can now procedurally add module imports to modules, using qmlRegisterModuleImport(). However, actual import statements in qmldir files should be preferred wherever possible. Fixes: QTBUG-84899 Change-Id: I3b32dd8b07a19d31b6538b9a6bb436840862f345 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qqmlecmascript: modify test to return type which is actually unknownFabian Kosmale2020-06-231-1/+3
| | | | | | | | This is necessary after the change to QMetaMethod, which now uses compile time information to return the (meta) return type. Change-Id: I9f0bf4fd174c7000273b6d3c65ec3ebf8f2c46f8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* tst_qqmlecmascript: QList is now QList again (not QVector)Fabian Kosmale2020-06-231-1/+1
| | | | | Change-Id: Ib3b7437fcf3696111563cc1b5f9440b6b0d9c75e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Remove QQuickPointerDevice in favor of QPointingDeviceShawn Rutledge2020-06-2319-125/+68
| | | | | | | | | | | | | | ...and generally deal with changes immediately required after adding QInputDevice and QPointingDevice. Also fixed a few usages of deprecated accessors that weren't taken care of in 212c2bffbb041aee0e3c9a7f0551ef151ed2d3ad. Task-number: QTBUG-46412 Task-number: QTBUG-69433 Task-number: QTBUG-72167 Change-Id: I93a2643162878afa216556f10808fd92e0b20071 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Do not resolve URLs when assigning them to a propertyUlf Hermann2020-06-2211-51/+35
| | | | | | | | | | | | | | | We don't know in advance if a URL is part of the source code and should be relative to the current element, or if it is part of the application data and should not be touched. [ChangeLog][QtQml][Important Behavior Changes] URLs are not resolved or intercepted anymore when assigning them to a "url" property. Instead they are resolved and possibly intercepted when used to access an actual resource. Fixes: QTBUG-76879 Change-Id: Iaa2385aff2c13aa71a12e57385d9afb5dc60a073 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Rename setSceneGraphBackend to setGraphicsApiLaszlo Agocs2020-06-225-7/+7
| | | | | | | | | | | | | | | | ...and fix up the docs. The string-based setSceneGraphBackend() stays of course (the docs have been enhanced, however). The GraphicsApi enum-based overload is now renamed to setGraphicsApi(). Using the same name for both functions is a historical artifact, reflecting the evolution (5.0 - 5.8 - 5.14). In 6.0 we can give it a more appropriate name, since it does not have much to do with "backends" from the user's perspective. Change-Id: Id75dbf81f50a148797e5b5de9be4000153737473 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Add test for rendercontrol + rendererinterfaceLaszlo Agocs2020-06-221-0/+219
| | | | | | | | | | Also add support for doing QQuickWindow::setSceneGraphBackend(QSGRendererInterface::Unknown). This becomes relevant especially in tests, where we may request a specific graphics API, but then want to switch back to the default behavior. Change-Id: Ib09c411432fc37bd4d36ce55d54d20af3f83860a Reviewed-by: Andy Nichols <andy.nichols@qt.io>