aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* FakeFlickable: animate returnToBounds() when flicking is doneShawn Rutledge2017-05-221-8/+41
| | | | | | | | | It looks much nicer than just jerking back into position. We still don't have "resistance" to dragging past the bounds, though. Change-Id: I60f6f58fe87638fd17144ea6640bae673a3b633d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* tst_qquickpointerhandler: Remove unused includes; better debug outputShawn Rutledge2017-05-191-19/+19
| | | | | Change-Id: I1e0539fe24e19ca15641fa4007488b33c24ab8ba Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* tst_flickableinterop: test buttons with all gesturePolicy valuesShawn Rutledge2017-05-155-13/+71
| | | | | Change-Id: If3d9e10bb54fc75a7e72bc6367de3e083611a45f Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* tst_qquickpointerhandler: use QScopedPointer; improvementsShawn Rutledge2017-05-112-85/+113
| | | | | | | | | | | | | | | | | It's now standard practice in autotests to use QScopedPointer to manage the window so that it doesn't need to be deleted (or would be left dangling if the test fails). It's nice to be able to see the bounds of the EventItem. Test not only the order of the event types received, but the EventPoint state, and where they were received. Of course PointerEvents go only to PointerHandlers in this test so far... but now we can distinguish filtered events from events which were received via the QQuickItem virtual function overrides. Change-Id: I4830a431bedb7101c8c980ab3260d23b5852b645 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* touchmouse autotest: add debug operator for the test-specific Event typeShawn Rutledge2017-05-111-0/+16
| | | | | | | | | It's nice to be able to do qDebug() << eventItem->eventList when troubleshooting behavior in case of test failure. Change-Id: I2b50d5b092a0c9eb4eab3105be66a36aedf871bb Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Default QQuickItem::acceptTouchEvents to true until Qt 6Shawn Rutledge2017-05-103-4/+13
| | | | | | | | This is a partial revert of 1457df74f4c1d770e1e820de8cd082be1bd2489e to avoid making a mandatory API change so soon. Change-Id: I05040579fa36d3dc5ef7616861f6d17adf500d2c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Merge remote-tracking branch 'origin/dev' into wip/pointerhandlerShawn Rutledge2017-05-0859-69/+435
|\ | | | | | | Change-Id: Ia06843de255547174efa556b1ab76be4b4be4287
| * Allow creating attached properties for objects instantiated in C++Frederik Gladhorn2017-05-041-1/+1
| | | | | | | | | | | | Task-number: QTBUG-57396 Change-Id: I31912677ebfdcea9ba97fe0bb66d56bb82b4c90c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * QmlContextWrapper -> QQmlContextWrapperRobin Burchell2017-05-041-1/+1
| | | | | | | | | | | | | | That poor Q looked so lonely. Change-Id: I29a0aa0574fefa5be8ffaa9857e03500c914c830 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * C++11 scoped enum support for QMLMichael Brasser2017-05-037-0/+76
| | | | | | | | | | | | | | | | | | [ChangeLog][QtQml] Support C++11 scoped enums in QML. These can now be accessed as <TypeName>.<EnumName>.<EnumValue> Change-Id: I29bd3f16e980f3e6f1b2390b5a8e9e8e999952a3 Task-number: QTBUG-54961 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Merge remote-tracking branch 'origin/5.9' into devLars Knoll2017-05-0210-4/+165
| |\ | | | | | | | | | Change-Id: I71275a2076c3d32ee2896571be882067320a2e9e
| | * Polish the shared image providerEirik Aavitsland2017-04-284-1/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the new shared memory image provider was added, some of the issues identified during review were postponed to be fixed during stabilization phase. This commit deals with - Replace the kludge for registering plugin version - Add autotest - Place plugin in labs - Use QT_CONFIG instead of QT_NO_xxx - Use the new extended image provider api, in order to use the scaled-size calculation from Quick Change-Id: I75c01c7565650fcf859411dde9520ee65b2b0c64 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * Blacklist tst_qquicktextinput on WindowsRobin Burchell2017-04-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | It has been repeatedly failing for a long time. Change-Id: I2155cc7d821e4d1ea486eeb85445348fac6cafc9 Task-number: QTBUG-41895 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Merge "Merge remote-tracking branch 'origin/5.8' into 5.9" into refs/staging/5.9Simon Hausmann2017-04-272-0/+23
| | |\
| | | * Merge remote-tracking branch 'origin/5.8' into 5.9Simon Hausmann2017-04-272-0/+23
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qtqmlglobal.h src/qtqmlglobal_p.h src/jsruntime/qv4global_p.h src/qml/compiler/compiler.pri src/qml/compiler/qv4ssa.cpp src/qmldevtools/qtqmldevtoolsglobal_p.h tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp Change-Id: I55c5d015b2cb1053b83b9c61caaf004fb49ee486
| | | | * V4: Fix issues with very small loops5.8Erik Verbruggen2017-04-182-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Loops consisting of just a single basic block (e.g. a do-while loop with no nested loops or if statements) have a back-edge to themselves. There were 2 problems: - loop detection would create LoopInfo for any loop header referred to by blocks inside the loop (and a 1 block loop doesn't have body blocks), nor would it mark the loop header as such - when splitting critical edges, the newly inserted block would not be marked as part of the loop This is a problem specifically for 1 block loops: the block ends with a CJUMP, so the back-edge is a critical edge. So the new block inserted by edge splitting wouldn't be marked as belonging to the loop. The end result was that the life-time intervals for temporaries that are defined before the loop, but that are used inside the loop, and not after the loop, would have their life-time ended before the loop ends (instead of spanning the whole loop, *including* the back-edge). This in turns could lead to the stack/register allocator re-using the storage for that temporary, resulting in strange things happening. Task-number: QTBUG-59012 Change-Id: Ic946c73913711272efea2151cb85350412ca2fde Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | QQmlApplicationEngine: Fix using invalid pointersRainer Keller2017-04-261-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a root object was deleted before QQmlApplicationEngine the invalid pointers stayed in the list of root objects leading to crashes when destructing QQmlApplicationEngine. Root objects are watched for destruction and removed from the list. Change-Id: I1babab54dbb7d7b16ed883ada5b3e420ca8690cb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Rename macos blacklistings to osxTony Sarajärvi2017-04-241-3/+3
| | |/ / | | | | | | | | | | | | | | | | Change-Id: I7b31408b066054bde72402eb4602debbfdad7c1d Reviewed-by: Liang Qi <liang.qi@qt.io>
| * | | tst_grabImage: Small improvement to avoid accidental leakage of ItemsRobin Burchell2017-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the test fails for some reason, ensure that they are cleaned up properly by using TestCase's item creation instead of doing it directly. Change-Id: I639bd246662260f31d5a32d140ee98ad11884446 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Re-blacklist an unstable testRobin Burchell2017-04-222-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I accidentally attributed this to the wrong BLACKLIST in 186cbe30939947e3a2d33b250fc861cbee361dfe, which meant that it was running incorrectly. Change-Id: I64b9d322829736da0a05b03ccacb4e08fff863df Task-number: QTBUG-60343 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Merge remote-tracking branch 'origin/5.9' into devLars Knoll2017-04-222-1/+39
| |\| | | | | | | | | | | | | | Change-Id: I95266fdaf5c6dc65969bd2e28403da7969367d32
| | * | Add an autotest for GC crashes on some platformsRobin Burchell2017-04-212-1/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to QTBUG-59977, where crashes were seen on some platforms. Try to prevent this from creeping out and inconveniencing other modules again. Task-number: QTBUG-59977 Change-Id: I89730c7882e4d87e6049f087724988a7aa52d5a5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Add support for std::vector and QVector matching the support for QListVille Voutilainen2017-04-212-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-60133 Change-Id: I5497dc3c4a1c3922e7147d7a20593c75a0d9d0e9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-04-211-0/+15
| |\| | | | | | | | | | | | | | Change-Id: Ibed6ee74d36b4ce37391c82db00a0abd30d09e7a
| | * | QML: clear the property cache on QObjectWrapper destuctionErik Verbruggen2017-04-191-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an external QObject is exposed to an engine through a QObjectWrapper, make sure to deref and clear the propertyCache reference in the object's declarative data when the QObjectWrapper is destroyed. This makes sure that there is no dangling propertyCache pointer when the object is subsequently exposed to another engine. Task-number: QTBUG-57633 Change-Id: I37f6793d8be65b23b4e81bb4ed91db18271261b0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | qmltest: Split into separate testsRobin Burchell2017-04-2037-62/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running everything in one big process has high risks of problems caused by globally mutable state. It also makes running small subsets of the tests more painful than it needs to be. Make use of the new QML-only test support in qtbase to have one project per subdirectory instead. This means no more C++ "stub" binary (just run make check or qmltestrunner in the directory). This relies on qtbase/727da2965caa8bccf8bbfbdd571ed05b35251f82. Change-Id: I0da70dba19aa54e456cd183b4b6b245ee20b1f3a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | QQmlConnections: Don't crash (or read past bounds) if a silly prop name is givenRobin Burchell2017-04-132-0/+25
| | | | | | | | | | | | | | | | | | | | Change-Id: I156d27b21159f019a969a33e553e63fac9a3d193 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Add tst_flickableinterop: verify drag and tap handlers inside FlickableShawn Rutledge2017-04-287-0/+816
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flickable can steal the grab from a PointerHandler the same way it can steal from an Item: by filtering the children's events. But within the drag threshold, or if the DragHandler is dragging, the handlers behave normally. Change-Id: If1bc1f2e8d9aaebb590f3434a3018a9f1a1f1dac Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | DragHandler: allow parent to be different from targetShawn Rutledge2017-04-271-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The most obvious way to implement a Slider is to allow dragging the knob - as on a real-world physical sliding potentiometer. But to make it easier on a touchscreen, it should be possible to touch anywhere along the slider's travel, as on a QtQuick.Controls 2 Slider. For that purpose, we need to respond to events within the bounds of one Item while actually dragging a different Item (the knob). It's similar to the way that PinchHandler can handle pinch gestures within one Item while transforming another (which may be too small to get both fingers inside). Change-Id: Iac9a5f11a7a45e22d93fe52bf62d157c48d72d3d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | QQMultiPointerHandler: don't steal grab if keepMouseGrab/keepTouchGrabShawn Rutledge2017-04-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An Item (such as MPTA with onGestureStarted: gesture.grab()) may set these flags, traditionally to prevent Flickable from stealing the grab. QQuickMultiPointerHandler (and thus PinchHandler) now respects these flags too. Change-Id: Iac3ab796c5aa410be45639d679ecf82b7c44a442 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | add pinchDragFlingMPTA exampleShawn Rutledge2017-04-251-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a prototype of what 3-finger pinch is intended for: manipulating a container exclusively with a 3-finger gesture while not interfering at all with other gestures that occur inside the container. And it's normal that existing Items (like MPTA) do implicit grabs of touchpoints just by accepting, so this is also a test of cooperation between PointerHandlers and legacy Areas. It also adds the ability to drag the MPTA only while the Meta key is held down. And there is momentum on release whether you are doing a 3-finger pinch or via the DragHandler. Change-Id: Icd0e84809ec32dc8f347dd9c8f875d10f52eba19 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | QQuickPointerDeviceHandler: add acceptedModifiersShawn Rutledge2017-04-252-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes you want to require holding down a key in order to enable some interaction. As with the other "accepted" flags, it's better to do this with a property than with Javascript. Change-Id: Ie29880f5f9f496ddca1bee462e2c0e6dd30fa9f5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | TapHandler longPress autotest: be less demanding about hold timeShawn Rutledge2017-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's hitting slightly less than the expected amount of time in CI. Change-Id: I51ab1ee385045dd948f52e0c27e72ce627952fd6 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | add autotest for TapHandlerShawn Rutledge2017-04-216-0/+829
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Idc516220365b3051e072506ede3f3159b0b736b2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | PH manual tests: better object names for easier debuggingShawn Rutledge2017-04-202-1/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: Icd5b9dc5fa00c98cc40b03e9d72f6b28fc51a579 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | PinchHandler: add centroidVelocityShawn Rutledge2017-04-201-0/+7
| | | | | | | | | | | | | | | | | | | | Change-Id: I34cc9146155bded8311c1173e4b8d34d8b17b034 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Add QQuickItem acceptTouchEvents/setAcceptTouchEvents; require for touchShawn Rutledge2017-04-143-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It has been suboptimal to speculatively deliver touch events to Items which are not interested; even worse is when we must deliver to a parent item which is filtering events, when the child Item will not accept the touch event anyway. So now it is required that any QQuickItem subclass which wishes to accept touch events must call setAcceptTouchEvents(true) (typically in its constructor). If it does not do this, it will not get any touch events (and this saves us the trouble of looking for parents which filter touch events, too). It is consistent with needing to call setAcceptHoverEvents() to get hover events, and setAcceptedMouseButtons() to get mouse events. [ChangeLog][QtQuick][QQuickItem] When subclassing QQuickItem, it is now required to call setAcceptTouchEvents(true) if you need the item to receive touch events. Change-Id: Idc76c04f4e7f1d4a613087e756e96dac368f4f23 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Blacklist ListView::test_listInteractiveCurrentIndexEnforce completelyShawn Rutledge2017-04-141-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It has failed on Windows too. Change-Id: I539ffacaedcc62339e2017e2272297c9bc3846cf Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Merge remote-tracking branch 'origin/dev' into wip/pointerhandlerShawn Rutledge2017-04-1356-271/+1747
|\| | | | | | | | | | | | | | | Change-Id: Ie2894830470a69827d4ace3d8af9bee971e3fbd4
| * | | tst_qmlplugindump: Ensure process starts properlyRobin Burchell2017-04-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | While we're here, clean up the output too. Only print it if the test fails. Change-Id: I69973e1e6b5125378649081f7ab361e6d31005b4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-04-111-0/+2
| |\| | | | | | | | | | | | | | Change-Id: I95914046889022e0ef9bdc17338dc5895c5223fe
| | * | Blacklist tst_qquickwindow::attachedProperty on macOS 10.11Tony Sarajärvi2017-04-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-60052 Change-Id: I9f415fa2c2a984dd347983c67d1255efb858cb0d Reviewed-by: Liang Qi <liang.qi@qt.io>
| * | | Allow custom bounds behaviors for FlickableJ-P Nurmi2017-04-101-49/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtQuick][Flickable] Added a boundsMovement property that allows disabling the default bounce effect and implementing custom edge effects. Task-number: QTBUG-38515 Change-Id: Id00d30a863e264cdbac00fbad8189406f29484c4 Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | | Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-04-0714-42/+345
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jit/qv4assembler.cpp src/qml/jit/qv4assembler_p.h src/qml/jit/qv4isel_masm.cpp src/qml/jsruntime/qv4vme_moth.cpp Change-Id: I865d794e550a263387a39ca8d051ebf48b70cbc0
| | * | Enable running of qmlcachegen tests on ARM/qemuSimon Hausmann2017-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives us test coverage for the most important cross-compiling scenario of x86-64 host to armv7 target. Change-Id: I31abd3802681b14561e1ee4c60f6cc9cc2049bf2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * | Fix support for jsTr() and QT_TR_NOOP in list elements when cachingSimon Hausmann2017-04-061-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to the Qt Quick Compiler we need to do the expression simplification pass at cache generation time to extract translation calls in list elements. Change-Id: I267fc9647ab82bc83d6b087c06c0036df38238ff Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * | Fix loading of ahead-of-time generated cache files when cross-compilingSimon Hausmann2017-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The target ABI is something that we must include correctly at cache generation time. The corresponding qmake variable is available in qtbase now, so we can use that and embed it in the generated data. Change-Id: Icd6e44824f5151535ce9ddac27687b7877288725 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * | Blacklist tst_QQuickMultiPointTouchArea::nested on Ubuntu 16.04Tony Sarajärvi2017-04-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-59960 Change-Id: Ibbcde3aa64e517a7bc0c0073efc84ff66a3fae4c Reviewed-by: Liang Qi <liang.qi@qt.io>
| | * | Add auto-test for qmlcachegenSimon Hausmann2017-04-063-0/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test writes a simple QML file with embedded JS code into a temporary directory, calls qmlcachegen to generate the cache file, removes the original source code and tries to load the component. Change-Id: I63e1b0c76a987f4a21b3dc6cb7c4dc828dd5d11f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * | QQuickParticleSystem: Fix crash when an Affector diesMartin T. H. Sandsmark2017-04-052-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A guarded pointer wasn't checked before being de-referenced, that lead to a crash if an emitter was modified after an affector was deleted, but before updateCurrentTime() was called. Change-Id: I6cb605a711319fb77c1e2e87fa9f35427cd7797b Reviewed-by: Robin Burchell <robin.burchell@crimson.no>