aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-201-0/+4
|\ | | | | | | Change-Id: I024445b3401a57040d7d67780ea32d2f8b02f41a
| * Blacklist tst_qquickmousearea::pressOneAndTapAnother on OpenSuseUlf Hermann2020-02-181-0/+4
| | | | | | | | | | | | Task-number: QTBUG-82282 Change-Id: I4794bea023f45b3bdac2f19a68550c7116a49fa2 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | ResolvedList: attempt read from correct meta objectFabian Kosmale2020-02-193-0/+39
| | | | | | | | | | | | | | Fixes: QTBUG-82171 Change-Id: If14b10d703aa1b69cd697024ada2fae0453103d7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
* | Fix deprecation warning against QDateTime(QDate)Edward Welbourne2020-02-183-12/+12
| | | | | | | | | | | | Change-Id: Iaba4d9f1ea4b265326a8d1b07573b0f30b4d7428 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | V4 Debugger: Properly set up context object for expressionsUlf Hermann2020-02-142-0/+14
| | | | | | | | | | | | | | | | | | | | | | We need to use the object in question as context object in order to access its properties. Otherwise we can only access the context properties and, incidentally, the root scope's properties. The latter is why the test didn't fail. Fixes: QTBUG-82150 Change-Id: I1f18f9e78dd61786310fd75e0695929522a4c90c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-137-1/+116
|\| | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4engine.cpp Change-Id: I61f41672e2dfe7e542ca30fed5f173d0a9ee3412
| * QQuickLoader: store statusFabian Kosmale2020-02-122-0/+30
| | | | | | | | | | | | | | | | | | | | This allows us to emit the change signal only when the status has actually changed. Due to alignment restrictions, this does not even change the size of the class. Fixes: QTBUG-82002 Change-Id: I2192bf80e72b92108046780811c3acdab39af518 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Fix a bug where a layout could crash or become non-responsiveJan Arve Sæther2020-02-121-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This happened because of that QQuickText is ill-behaving: When the width on a QQuickText with word wrap enabled is changed to something less than its implicitWidth, its implicitHeight is changed to reflect the height it needs in order to fit all lines. This will cause the layout to be invalidated, and rearranged again. However, at the same time it will also change its implicitWidth actually become wider than its initial implicitWidth (this seems to be a bug). So the next time it is rearranged it will actually be wide enough so that it doesn't need to wrap. This again will cause its implicitWidth and implicitHeight to change to reflect that only one line is needed, which again will cause it to rearrange, but since the item has a too small width for that it will again change the implicitHeight to reflect that it needs more lines..... This went on forever until there was a stack overflow. In addition it also caused an endless (that is, if it didn't stack overflow) updatePolish()/polish() loop (basically polish() was called from within updatePolish() continuously). To make the layout more robust for such "ill-behaving" items we have to add one recursion guard, and one polish-loop guard. Change-Id: I9f752ed320a100c8d0f0fd340347a556e63318e5 Task-number: QTBUG-73683 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Fix QQmlProperty and Connections for properties starting with '_'Fabian Kosmale2020-02-113-0/+49
| | | | | | | | | | | | | | | | | | We do a weird renaming for the change handler of properties starting with '_', now we do it at least in a consistent way. Fixes: QTBUG-82017 Change-Id: I1535a5ee462f3a344c972461f1fb954f039aa854 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * QV4Engine: Do not construct invalid QVariantFabian Kosmale2020-02-071-1/+6
| | | | | | | | | | | | | | | | | | If the provided typeHint is -1, it does not make sense to construct a QVariant of this type and to check whether it is appendable. Fixes: QTBUG-81945 Change-Id: I32cbb9e70e210a7eca8d55801c1783338d1173b7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | qmlformat: preserve annotationsFawzi Mohamed2020-02-124-0/+300
| | | | | | | | | | | | Change-Id: I22e72d91f6d422e93a7ebc642a8449cb490aec20 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
* | Add UiAnnotation for annotation objectsFawzi Mohamed2020-02-122-0/+11
| | | | | | | | | | | | | | | | | | | | This is a partial patch that is fuilly fixed with the following one (big restructure) because it needs extra visit methods, and that leads to conflicts, but I think it gets lost if merged with the next one. Change-Id: I54331a47a5c7faaf78a97e580825d1feec5adf92 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Introduce BaseVisitorFawzi Mohamed2020-02-122-1/+8
| | | | | | | | | | | | | | | | | | | | Base Visitor is an abstract visitor that has all visit methods abstract, subclassing this one gets an error if some visit method is not implemented (dumper and reformatter for example will gain from this. Change-Id: I3f8cfeb6fc0ef917acf725bbe1c293d761304287 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Added AstDumper: better describe and compare AST treesFawzi Mohamed2020-02-125-1/+1517
| | | | | | | | | | | | | | | | | | | | This is just added to the test sources (via tests/auto/shared/astdump.pri) Fixes: QTBUG-81819 Change-Id: Icc70e6f7a6ded9e9957c6d4151f696be34c942e6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Add a static variant of qmlRegisterInterface()Ulf Hermann2020-02-122-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | qmlRegisterInterface() should not be called procedurally, for the same reason that qmlRegisterType() should not be called procedurally. Also, add URI and major version parameters to qmlRegisterInterface(), and deprecate the typeName parameter. We want to identify which import an interface belongs to. Task-number: QTBUG-68796 Change-Id: Iba3d66e5ce6219b30aadba34396f12fca92f35a7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Allow dynamic and static registration of same URI in any orderUlf Hermann2020-02-124-65/+209
| | | | | | | | | | | | | | | | | | Previously, a static registration would not go through if a dynamic registration was carried out before the first type of the statically registered module was referenced. Change-Id: Icf6a2b78dff7d0e5b29138501e04723510d6a668 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Deliver QTabletEvents to pointer handlersv5.15.0-alpha1Shawn Rutledge2020-02-118-1/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At this time, there are not yet any specialized handlers to do anything specifically with tablet events; but we demonstrate how to use HoverHandler to detect the type of stylus in use, and how to use PointHandler to draw on a Canvas. Unfortunately, events of types TabletEnterProximity and TabletLeaveProximity are not delivered to the window, only to QGuiApplication. So HoverHandler can detect when the stylus is moved out of its parent Item (as long as it's still hovering over the tablet surface), but cannot detect when the stylus leaves the tablet completely. In Qt 5 that would require a custom application subclass (see qtbase/examples/widgets/widgets/tablet/tabletapplication.cpp). Fixes: QTBUG-79660 Change-Id: I81fdb99082dc41c0455085e6b6d3952402bf8742 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | tst_qquickwindow: construct pointer events with proper devicesShawn Rutledge2020-02-111-2/+2
| | | | | | | | | | | | | | | | | | In the QQuickPointerMouseEvent constructor, the device pointer became mandatory mainly because it's mandatory in QQuickSinglePointEvent, because we want to ensure that we distinguish mouse from tablet events. Change-Id: I3d314c6877493b8b5b6407f5eb5631f7083900a5 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QQmlCustomParser: Resolve import namespacesUlf Hermann2020-02-112-2/+37
| | | | | | | | | | | | | | | | | | Also, don't use plain QObject for testing registrations with extensions and foreign types. This interacts with other tests. Change-Id: I43df8a4e5b22def5a87f508130f1c7b4833ecfb6 Fixes: QTBUG-81970 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QQmlEngine: Test that types are correctly removedFabian Kosmale2020-02-102-0/+15
| | | | | | | | | | | | | | Amends 4f0c9986069c690e8ed7a7d2b42dfbce5c492368 Change-Id: I10a0d7988e1f5a003ccc80faa5b5c9bda62359cd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Models: Make sure we can use QList<QObject *> as required modelUlf Hermann2020-02-062-0/+72
| | | | | | | | | | | | | | | | | | We can use it as model passed via a context property as shown in the objectlistmodel example. We should also be able to pass it directly then. Change-Id: I55db74df969d8024553d9470f1afe4710e61b1bf Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-069-6/+760
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/types/qqmlbind.cpp src/quick/items/qquicklistview.cpp tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp Change-Id: Id6805c13256ad13d5651011e5dd09bba0ec02987
| * Blacklist tst_qquickmousearea::nestedStopAtBounds on opensuse 15.0Ulf Hermann2020-02-031-0/+4
| | | | | | | | | | | | | | | | | | This partially reverts commit 51e02fdc02c3cc2dbf9d2ba0b3fb709a6cd4e32e. Task-number: QTBUG-78153 Change-Id: I421fdc3acefd11cabfc192eb06c3cd92c0e76149 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Enable conversion from QJSValues containing arrays to container typesFabian Kosmale2020-01-314-6/+39
| | | | | | | | | | | | | | | | | | | | | | | | We started to convert containers to QJSValues, so that we could use them as JavaScript arrays. Unfortunately, this would then lead to a type missmatch when those same values where to be stored in a property of the container type. This commit fixes this by converting them back to the original type. Fixes: QTBUG-80916 Change-Id: I30a3b03e17c34b171d4a6881dfd7801c13e94d80 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Fix some ListView bugs related to snapping when it had a headerJan Arve Sæther2020-01-302-0/+668
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most bugs were related to the PullBackHeader header positining mode, for instance the old code did not take into consideration that for the PullBackHeader it was sometimes not sufficient to scroll the view. The header also had to be scrolled independently from the view: We achieve this by hooking on to the same timeline that is used for scrolling the view. (This way, both animations are synchronized, and they start and end at the same time). Change-Id: I75708c0fd8d4741032c04ad9ee144d7a49cf3359 Fixes: QTBUG-76362 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * QQuickFlickable: fix division by zeroMitch Curtis2020-01-292-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue could be seen when enabling exceptions and running the following QML code: Flickable { id: flickable anchors.fill: parent contentWidth: 1000 contentHeight: 1000 Text { text: flickable.visibleArea.xPosition } } Change-Id: I615f9f9dc84903fb3a902f416a55e3ce3fece64c Fixes: QTBUG-81098 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QmlDebug: add new debugtranslationserviceTim Jenssen2020-02-054-0/+134
| | | | | | | | | | | | | | | | | | | | | | | | Users were asking for having the possibility to see where the translated text will not fit in the reserved/available space. This is more a preparation patch to get the right connectors to change the visualization of findings or maybe log this to a file. Task-number: QDS-1463 Change-Id: Ic0a7a930141d6eeb79964e51c0a165c69888cf5d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Inline components: fix name resolutionFabian Kosmale2020-02-054-0/+39
| | | | | | | | | | | | | | | | Inline components are an explicit component boundary, and therefore need some extra treatment. Change-Id: I03cc0d58f3565999f64675e8482ed3c3a325e8c0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QV4: Handle value tyes in sameValue algorithmFabian Kosmale2020-02-041-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | The sameValue(Zero) algorithm were implemented according to the JavaScript specification; however QML has the concept of value types. For those we need to check equality with the intrinsic isEqualTo method. This aligns sameValue(Zero) with strict equality in its treatment of value types. This fixes Array.includes for value types Fixes: QTBUG-81825 Change-Id: Idd3e09cbed94bca6ea44f5683610b87d184e432c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Tests: rename connect -> connectToTim Jenssen2020-02-039-28/+28
| | | | | | | | | | | | | | avoids strange compiler errors if a QObject::connect is used Change-Id: Ib9f5fc4114a06f7f1d1a0b9a142a15ce19270cec Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* | Further RHI adaptation of shaders in lancelot test scenesEirik Aavitsland2020-02-032-73/+1
| | | | | | | | | | | | | | | | | | | | | | In the recent commit that added RHI shaders, a couple of the test scenes were overlooked. The attributes.qml test file is simply removed as it adds no significant test coverage. Change-Id: Ic3af7b4447da322323f67faa1cf93c160c5043e8 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Add autotest for Image.sourceClipRect propertyShawn Rutledge2020-01-312-0/+74
| | | | | | | | | | | | | | | | It clips the heart.png image in various ways and tests a few pixel colors to verify the boundaries of the clipped portion. Change-Id: I1c65e522c99720e94a6e13020bd9bf9736e19b4e Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Required properties: Allow retroactive require specificationFabian Kosmale2020-01-3110-2/+58
| | | | | | | | | | | | | | | | It is now possible to mark a property of a parent class as required in the child by writing required <propertyName> Change-Id: I9e9d58c7b5c00577b056e905b39744b2fa359ea0 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | add annotations to QMLFawzi Mohamed2020-01-313-0/+215
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A QML Annotation is a Qml Object declaration prepended with @. The name of the annotation is restricted to a dot separated list of non keyword identifiers. Annotations can be put before an Object definition, or any object member declaration: bindings, property declarations, function declarations. This patch, aside parsing the annotations does absolutely nothing, the list of annotations is discarded and never touches the AST. [ChangeLog][QML] Add Qml Annotations Task-number: QTBUG-81714 Change-Id: I4d79559a0d1fb23acaf482d0ef8f7d106dbf099d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Tests: make ConnectResult a Q_ENUM to get nice error messageTim Jenssen2020-01-311-1/+2
| | | | | | | | | | Change-Id: I0e22eb66109e61a5341388d37f5b596f4125ac99 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Add PointerHandler.cursorShape propertyShawn Rutledge2020-01-316-7/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, QQuickItemPrivate::setHasCursorInChild() was unable to check the QQuickItemPrivate::hasCursor variable, because the function argument hasCursor was shadowing that, even though the comment "nope! sorry, I have a cursor myself" hints that the intention was to check that. So this change exposed a problem there, and we have to fix that too, in order to keep the tst_qquickwindow::cursor() test passing. [ChangeLog][Event Handlers] Pointer Handlers now have a cursorShape property to set the cursor when the handler is active and the mouse is hovering, and restore to the previous cursor when the mouse leaves. Fixes: QTBUG-68073 Change-Id: Ib5c66bd59c4691c4210ee5465e1c95e7bdcf5ae1 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Image ColorSpace bindings for Quick/QMLAllan Sandfeld Jensen2020-01-312-0/+29
| | | | | | | | | | | | | | | | | | | | Adds a ColorSpace type mapped to QColorSpace, and adds a property to Image nodes to read and change it, converting the image if necessary on read. Fixes: QTBUG-80616 Change-Id: Ie80c8bc045f66de01de3a5d2c4a9974f07d2871d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | 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>
* | Add Image.sourceClipRect propertyShawn Rutledge2020-01-304-0/+90
| | | | | | | | | | | | | | | | | | | | | | | | Since we set sourceSize, we expect to use that coordinate system in sourceClipRect too. Therefore we use QImageReader::setScaledClipRect(), not setClipRect(). [ChangeLog][QtQuick][Image] Image now has a sourceClipRect property to render a clipped image from a region of the sourceSize. Change-Id: If08277df772c2ab1063dd88572e49de41b97bca4 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Reduce Qt Declarative's use of QDateTime's locale-dependent APIsFabian Kosmale2020-01-302-12/+52
| | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtQml] Qt.formatDateTime, Qt.formatDate and Qt.formatTime now support formatting according to a locale and an optional locale format type. If locale dependent formatting is desired, this method should be used instead of the locale-related DateFormat enum members. Fixes: QTBUG-81631 Change-Id: I971231644ebbeaccbf54dd8f036adf4d31547301 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | qmlformat: Support even more language featuresMaximilian Goldstein2020-01-305-6/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support (among other things) for: - Pragmas - Type annotations - get / set properties - Some previously unsupported escape sequences (\b,\v...) - Calling methods on numeric literals Also now checks whether the dumped code is still parsable. Change-Id: Ia142a7c0b3e608115e79c1d98a62b682dce4eec9 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2020-01-292-4/+2
|\ \
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-292-4/+2
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp Change-Id: I133bfd4bd9dd6f704252c956c90f05e8a8a40d6a
| | * Blacklist tst_QQuickWidget::enterLeave on macOSTor Arne Vestbø2020-01-231-0/+2
| | | | | | | | | | | | | | | Change-Id: Ie5437ad18fdfdba95c87adb68345b43dc1003155 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * ArrayPrototype::method_filter: Check for exception after callbackUlf Hermann2020-01-231-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | If there was an exception we cannot assume the returned value holds anything sensible. Also, we should immediately return. Fixes: QTBUG-81581 Change-Id: I822c204c476e05d6de78124b66ab2f939ca38ffd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | tst_qqmlproperty: Avoid memory leaksUlf Hermann2020-01-291-30/+32
| | | | | | | | | | | | | | | | | | Change-Id: I38c414edbf75409b3278d89f55f1dbe97fc1fda0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | Required properties: Allow required default propertiesFabian Kosmale2020-01-298-8/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | This was already possible from C++, this change adds the required changes to the grammar to allow declaring required default properties in QML. Change-Id: I76cb4d70e573bf161676da8295ab257fe95ed4ae Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Fix vertical position of PathTextEskil Abrahamsen Blomfeldt2020-01-291-0/+91
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | The PathText would always translate to y=0, regardless of what y was set to. We should obviously get the y coordinate of the shape *before* translating it into position to find the distance from the baseline. This change also updates the example, which had not been updated to the changed origin of the PathText, and it adds a Lancelot test for keeping track of the PathText shape rendering. Change-Id: I940ac956af5229842739f8d8751a1f13bb86b8e7 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Handle required properties declared in C++Fabian Kosmale2020-01-287-0/+95
| | | | | | | | | | | | Fixes: QTBUG-81561 Change-Id: I97a0f5013b6e3662ffaad53c5cc871404e11a310 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Fix tst_qqmlvaluetypes::colorProperty when run standaloneSimon Hausmann2020-01-281-0/+2
| | | | | | | | | | | | | | | | The test relied on implicit registration of QQmlProperty in the meta-type system. Change-Id: I21e08a44f8e3d3b1376977cb9c959e0630789ef9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>