| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
url is object, but without any property.
Task-number: QTBUG-61297
Change-Id: I68b0523be54e4d42f57267205ba8d66ff4ac4e30
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
| |
Change-Id: I5e6dbd2012718890f5fcc92beebcd1829dc53a57
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
|
|
|
|
|
|
|
|
| |
This matches the behavior seen from Component's createObject()
function.
Change-Id: I83fe73a588d04c5efd30c49059bb19e7584bef48
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Objects created with createTemporaryObject() and
createTemporaryQmlObject() can be destroyed manually before the test
ends. Before this patch, there would be a type error when trying to
check if the object still exists in qtest_destroyTemporaryObjects().
The error seems to stem from the fact that objects that are stored in
an array and later destroy()'d are not nullified, but rather left in
a corrupt state. See the linked bug for more information about this.
We work around this issue by checking for the existence of the
destroy() function on the object before attempting to call it.
Task-number: QTBUG-57749
Change-Id: I0f6ddd47d86af6fb87392c2992f9f6143af6aab8
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/qmltooling/qmldbg_debugger/qv4debugjob.cpp
src/plugins/qmltooling/qmldbg_inspector/globalinspector.cpp
src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp
src/qml/qml/qqmlimport.cpp
src/quick/items/context2d/qquickcontext2dtexture_p.h
tools/qmleasing/splineeditor.h
Change-Id: I8f6630fcac243824350986c8e9f4bd6483bf20b5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2e7d4ecdc59942b484159ca827f5d5dbc8787a1b caused the regression.
To fix the regression I try accessing the signal name first
and if it is not a function try accessing the handler name.
Comes with a unit test to test both cases.
Change-Id: I3897f344df9c6219636c70259eed503d9b76f09e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A typical pattern with QML tests is to dynamically create
an item and then destroy it at the end of the test function:
TestCase {
id: testCase
name: "MyTest"
when: windowShown
function test_click() {
var item = Qt.createQmlObject("import QtQuick 2.0; Item {}", testCase);
verify(item);
// Test item...
item.destroy();
}
}
The problem with this pattern is that any failures in the test function
will cause the call to item.destroy() to be skipped, leaving the item
hanging around in the scene until the test case has finished. This can
result in interference with future tests; for example, by blocking input
events or producing unrelated debug output that makes it difficult to
follow the code's execution.
By calling e.g. createTemporaryQmlObject() instead, the object is
guaranteed to be destroyed at the end of the test function:
TestCase {
id: testCase
name: "MyTest"
when: windowShown
function test_click() {
var item = createTemporaryObject("import QtQuick 2.0; Item {}", testCase);
verify(item);
// Test item...
// Don't need to worry about destroying "item" here.
}
}
[ChangeLog][TestCase] Added createTemporaryObject() and
createTemporaryQmlObject() functions that can be used to ensure that
dynamically created objects are destroyed at the end of each test
function.
Change-Id: I483342052462aa86464c86bf2082892712dceb58
Task-number: QTBUG-56361
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|/
|
|
|
|
|
|
|
| |
[ChangeLog][QuickTest] Add support for simulating touch events
from TestCase.
Task-number: QTBUG-23083
Change-Id: Ic045e00a91b8270b6f08d398323e06b576615e79
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/jsruntime/qv4string.cpp
The conflict resolution for qv4tsring.cpp is to essentially omit the
change of commit 64714ea431f2fd355ed27edc69dba4e992511e75 as the code in
5.8 already uses the add/mul_overflow functions.
This merge also reverts commit f4ac007f4a19bc095ff15d415a6629986de78e49
as we can deal with dead store elimination now.
Change-Id: Iee08c87cbe1a2ff23a73ce621d56262b4e007c56
|
| |
| |
| |
| |
| | |
Change-Id: Idcc23782f2ed382914a74740ad9f2984d7a98f78
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update qmltypes for 5.8.
For some files the -noforceqtquick option is used; in this way
there are no redundand definitions of QtQuick component and no
unneded dependencies from QtQuick.
Change-Id: Id29683fcd6d15056923867ea65b091f998297fc4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I326616356ee26d4532c6d57558c43c919f0a900d
|
| |\
| | |
| | |
| | | |
Change-Id: I7bd70996e3372d154c6b0e47336baa22146667b0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Infinite-speed drags do not work well with velocity-sensitive
components like Flickable. As with change d04982dc on qtbase,
adding a short delay helps to stabilize tests.
To keep it flexible, we make QTest::defaultMouseDelay()
available via the qtest_events.defaultMouseDelay property.
So the delay can be increased by passing a larger delay
value to mouseDrag, or by changing the QTEST_MOUSEEVENT_DELAY
environment variable (as before).
Task-number: QTBUG-55382
Change-Id: I8f8088758a206be104a439ee0d1832eeca574e8c
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is useful for conditions which can't be tested using tryCompare.
One such situation is that of the currentItem property of ListView.
In Qt Quick Controls 2, the currentItem property of the ListView that
is internally a child of Tumbler can be null for a certain period of
time, so using tryCompare() would result in errors due to trying to
access a property of a null object:
tryCompare(tumblerView.currentItem, "text", "2")
The current workaround is to use wait(50) in a for loop, which is ugly
and could lead to flaky tests:
for (var delay = 1000; delay >= 0; delay -= 50) {
if (tumblerView.currentItem)
break;
wait(50);
}
verify(tumblerView.currentItem);
compare(tumblerView.currentItem.text, data.currentIndex.toString());
Using tryVerify(), we can first ensure that currentItem isn't null, and
then use a regular synchronous compare afterwards:
tryVerify(function(){ return tumblerView.currentItem; });
compare(tumbler.currentItem.text, data.currentIndex.toString());
[ChangeLog][QtTest][TestCase] Added tryVerify() function to allow
verification of asynchronous conditions that can't be tested using
tryCompare().
Change-Id: Ie93052b650f7fe0bf26853054a8f0f35a483e387
Task-number: QTBUG-19708
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
One test also used tryCompare with indexes instead of property strings,
so continue to allow that.
Change-Id: If8bdb9935181666f975f02fd256734a9992d2b48
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I27a6962e404be0b92a9702f9deff8775edb782b1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/jsapi/qjsengine.cpp
src/qml/qml/qqmlengine_p.h
src/quick/items/qquickanchors.cpp
src/quick/items/qquickanimatedimage_p_p.h
src/quick/items/qquickitem_p.h
tests/auto/qml/qqmlecmascript/testtypes.h
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
tests/benchmarks/qml/creation/tst_creation.cpp
Change-Id: I65861e32f16e8a04c7090a90231627e1ebf6ba6f
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickimagebase.cpp
src/imports/layouts/plugin.cpp
Change-Id: I5f48474df4034a1347ec74795c85d369a55b6b21
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When instantiating static plugins no check is done whether the
QQmlExtensionInterface is declared. Therefore all user plugins are
instantiated in the Qml thread, which may cause problems.
Task-number: QTBUG-52012
Change-Id: Ia91ec5ec7b2a9721bd11e3648cdc161855b4454e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The base type already provides an empty implementation of that method.
Change-Id: I942db101343b1d4bb6de16ada189d969834a6cae
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Clearly state that we want to override registerTypes of
QQmlExtensionPlugin.
Change-Id: I0acf76115d47d7166ccb813a811dd757d514e6e2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change also fixes the build of two benchmarks, tst_affectors
and tst_emission.
Conflicts:
src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
src/qml/qml/ftw/qhashfield_p.h
tests/benchmarks/particles/affectors/tst_affectors.cpp
tests/benchmarks/particles/emission/tst_emission.cpp
tests/benchmarks/qml/pointers/pointers.pro
tests/benchmarks/qml/pointers/tst_pointers.cpp
tests/benchmarks/qml/qmltime/qmltime.pro
tests/benchmarks/qml/qquickwindow/qquickwindow.pro
Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of
Cannot read property 'width' of null
and a line pointing to TestCase.qml, you get
No item given to mouseWheel
and a line pointing to the offending code
Change-Id: I8e035878035cb836a4c0c33a772ad4353d8dd000
Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Don't add second 'on' prefix if the user passed a signal handler name.
Change-Id: I9ba3e61503ca3f9f0ac880dbbb83ca790b98eb47
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In some types, e.g. MouseArea, the "pressed" symbol refers
both to a signal and to a property. When trying to connect
to the signal, we get an error since the engine will resolve
to the property instead. We circumvent that by connecting to
the signal handler instead, i.e. "onPressed" for the "pressed"
signal.
Change-Id: I4212b752be4da4ec2209a3447ac41326f1e0bb5d
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)
Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This is needed so that the qmldir file is picked up correctly when using a
static build of the plugins in the application as this gets taken care of
automatically by qmake. The Q_INIT_RESOURCES line itself is only needed
statically because no resource file is needed for dynamic libraries so it
is protected with the QT_STATIC define.
Task-number: QTBUG-35754
Change-Id: I9059e10c0846548f365fe4f95dd9c6100eeb43cd
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Update all plugins.qmltypes except for QtQuick2.
Change-Id: If79b82fa54d159171f45a1bd2e9432c76b3c5686
Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current behavior of the TestEvent is to send all the
key events to the test window. For this reason is not possible routing
events to custom windows created inside the test suite.
The new behavior is to send the key events to the current focused window
[Change][QuickTest][TestCase]
Changed default routing behavior for key events in TestCase.
The key events are sent to the window with active focus
Change-Id: I6ff3113eb9f1cbc25f6cfd2dd7bfdff178ee6ac3
Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com>
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows for comparison of image objects returned from TestCase's
grabImage() function using QImage's operator== function. Doing pixel by
pixel image comparisons in QML is extremely slow.
This functionality is useful for checking that an item was redrawn
after a property change, for example.
[ChangeLog][QuickTest][TestCase] Added equals() function to image
object returned from TestCase's grabImage() function.
Change-Id: I0ece9df6effe2b1b9d8e1ee8ac011115d9367ef2
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Call wait(0) after the cleanup() function and not only at
the end of the test run (wait(0) is used to call processEvents()).
Otherwise, eventual destroy() calls in test function are not executed
between data tests.
Task-number: QTBUG-30523
Task-number: QTBUG-42185
Change-Id: I1d588ee28c61cda835e25307bc1c565d68b741fe
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I7bcc209b0c6e77cf6d974af85a19487345a48975
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The existing method MouseDoubleClick() emulates the mouse
double click event only.
The added method MouseDoubleClickSequence() emulates the full
sequence of mouse events a physical double-click would generate:
Press-Release-Press-DoubleClick-Release
Introducing a new method in order to provide convenience when a
test requires to simulate a complete double-click action without
changing the behavior of MouseDoubleClick() and risking to break
existing tests.
Add autotest.
Task-number: QTBUG-42185
Change-Id: I1cdddd9e21d3b1d8a818f6d4e3717b06b7d70e08
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I4d5640ff95e1361ec7e65fb3e87d7726d8185ff5
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
center of the item
Most of the times you just want to act on the item not caring the position.
This helps for cleaner test code
Change-Id: I0e8a4919c503e3fd6dee60e1bd937ac57622279f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
| |
Change-Id: Icd276ed19087c2a1cde8c626347c696efb21ceb3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I4ceb1a969bd4296b82f899088b02b5e8cf100bcd
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
| |
Change-Id: I9b6c54b572d4653d609b154000e274b9e64d591f
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
| |
It previously used QObject::findChild(), which won't work in all cases,
because items like ListView don't seem to make their delegate items
QObject children, while simple nested Items do.
Change-Id: I1a8ed1fb55493212cb25abf595d016437812a80f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
| |
Change-Id: I93f1f8ec74808fc0a9f681cd88f7e5616089c80c
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is useful for auto tests where it's necessary to have access to
dynamically created child items. For example:
property Component threeItemDelegate: Text {
objectName: "delegate" + styleData.index
text: styleData.value
}
...
function test_stuff() {
...
var delegate0 = findChild(item, "delegate0");
// check delegate0 for some condition...
}
[ChangeLog][QtTest][TestCase] Added findChild function to TestCase.
Change-Id: I04a8b07c9904768c07ec12f4b03f1afb1989e054
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Otherwise messages triggered by the waiting (and the event loop that's
run in QTest::qWait()) won't be correctly attributed to the test
function being run.
Task-number: QTBUG-37609
Change-Id: Iccc13d8caa021fc26fbf76da0056cb0dd870ec0e
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The property/methods documentation needs to be available in the
components qml file. Thus we now import those components from the
qml files directly instead of using fake header files.
Rename the Qt Quick Test page to Qt Quick Test Qml Types to be
consistent with the other submodules.
Task-number: QTBUG-33587
Change-Id: Ifb1df8e7d15f2e23b4b4268e5df138934e62fc42
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
|
|
|
|
|
|
|
| |
To TestCase and SignalSpy documentation.
Change-Id: I83f18ab107e8d047756568ab2cdddd1eaf5574ec
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-34601
Change-Id: Icf5bdc2ea66b9a13186de957d5ae9c8701b481c7
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should avoid the TestCase and SignalSpy
types being listed in the All Classes page, which
is meant for the C++ classes.
Task-number: QTBUG-33316
Change-Id: I0f2f9e557df89f46f656a8820602fe5712c64073
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
|
|
|
|
|
|
|
|
| |
Needed for static builds. qmlimportscanner will
read the "plugin" and "classname" entries.
Change-Id: I31939451366ad3e771d516ac426525c8bcdba57d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|