aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmltest
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmltest')
-rw-r--r--src/qmltest/CMakeLists.txt5
-rw-r--r--src/qmltest/SignalSpy.qml9
-rw-r--r--src/qmltest/TestCase.qml2
-rw-r--r--src/qmltest/doc/snippets/overview.cmake2
-rw-r--r--src/qmltest/doc/src/qtquicktest-qmltypes.qdoc2
-rw-r--r--src/qmltest/quicktest.cpp14
-rw-r--r--src/qmltest/quicktestevent.cpp4
-rw-r--r--src/qmltest/quicktestresult.cpp3
-rw-r--r--src/qmltest/quicktestutil.cpp2
9 files changed, 27 insertions, 16 deletions
diff --git a/src/qmltest/CMakeLists.txt b/src/qmltest/CMakeLists.txt
index b823c48d82..7f55ebc8b0 100644
--- a/src/qmltest/CMakeLists.txt
+++ b/src/qmltest/CMakeLists.txt
@@ -2,9 +2,6 @@
## QuickTest Module:
#####################################################################
-set_source_files_properties(TestCase.qml SignalSpy.qml PROPERTIES
- QT_QML_SOURCE_VERSION "1.0;6.0"
-)
set_source_files_properties(testlogger.js PROPERTIES
QT_QML_SKIP_QMLDIR_ENTRY TRUE
)
@@ -36,12 +33,12 @@ qt_internal_add_qml_module(QuickTest
Qt::CorePrivate
Qt::Gui
Qt::QmlPrivate
- Qt::Quick
Qt::QuickPrivate
Qt::TestPrivate
PUBLIC_LIBRARIES
Qt::Core
Qt::Test
+ Qt::Quick
PRIVATE_MODULE_INTERFACE
Qt::TestPrivate
)
diff --git a/src/qmltest/SignalSpy.qml b/src/qmltest/SignalSpy.qml
index 52ed83e261..7257e4f3f3 100644
--- a/src/qmltest/SignalSpy.qml
+++ b/src/qmltest/SignalSpy.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -218,9 +218,14 @@ Item {
/*! \internal */
property bool qtest_valid:false
/*! \internal */
+ property bool qtest_reentrancy_guard: false
/*! \internal */
function qtest_update() {
+ if (qtest_reentrancy_guard)
+ return;
+ qtest_reentrancy_guard = true;
+
if (qtest_prevTarget != null) {
var prevHandlerName = qtest_signalHandlerName(qtest_prevSignalName)
var prevFunc = qtest_prevTarget[prevHandlerName]
@@ -251,6 +256,8 @@ Item {
} else {
spy.qtest_valid = false
}
+
+ qtest_reentrancy_guard = false;
}
/*! \internal */
diff --git a/src/qmltest/TestCase.qml b/src/qmltest/TestCase.qml
index 1c9011e01e..5a2cd1d5c4 100644
--- a/src/qmltest/TestCase.qml
+++ b/src/qmltest/TestCase.qml
@@ -1133,7 +1133,7 @@ Item {
\qmlmethod TestCase::warn(message)
Prints \a message as a warning message. Similar to
- \c{QWARN(message)} in C++.
+ \c{qWarning(message)} in C++.
\sa ignoreWarning()
*/
diff --git a/src/qmltest/doc/snippets/overview.cmake b/src/qmltest/doc/snippets/overview.cmake
index 5415e42a17..9ea4d01e83 100644
--- a/src/qmltest/doc/snippets/overview.cmake
+++ b/src/qmltest/doc/snippets/overview.cmake
@@ -1,4 +1,4 @@
#! [cmake_use]
-find_package(Qt6 COMPONENTS QuickTest REQUIRED)
+find_package(Qt6 REQUIRED COMPONENTS QuickTest)
target_link_libraries(mytarget PRIVATE Qt6::QuickTest)
#! [cmake_use]
diff --git a/src/qmltest/doc/src/qtquicktest-qmltypes.qdoc b/src/qmltest/doc/src/qtquicktest-qmltypes.qdoc
index d7cada0db2..d874b20a5a 100644
--- a/src/qmltest/doc/src/qtquicktest-qmltypes.qdoc
+++ b/src/qmltest/doc/src/qtquicktest-qmltypes.qdoc
@@ -26,7 +26,7 @@
****************************************************************************/
/*!
- \qmlmodule QtTest 1.\QtMinorVersion
+ \qmlmodule QtTest
\title Qt Quick Test QML Types
\brief Provides QML types to unit test your QML application.
\ingroup qmlmodules
diff --git a/src/qmltest/quicktest.cpp b/src/qmltest/quicktest.cpp
index 276463c7c5..8b1aad5dc0 100644
--- a/src/qmltest/quicktest.cpp
+++ b/src/qmltest/quicktest.cpp
@@ -298,7 +298,7 @@ private:
if (!object) // Start at root of compilation unit if not enumerating a specific child
object = compilationUnit->objectAt(0);
- if (object->flags & Object::IsInlineComponentRoot)
+ if (object->hasFlag(Object::IsInlineComponentRoot))
return result;
if (const auto superTypeUnit = compilationUnit->resolvedTypes.value(
@@ -314,13 +314,13 @@ private:
// Look for override of name in this type
for (auto binding = object->bindingsBegin(); binding != object->bindingsEnd(); ++binding) {
if (compilationUnit->stringAt(binding->propertyNameIndex) == QLatin1String("name")) {
- if (binding->type == QV4::CompiledData::Binding::Type_String) {
+ if (binding->type() == QV4::CompiledData::Binding::Type_String) {
result.testCaseName = compilationUnit->stringAt(binding->stringIndex);
} else {
QQmlError error;
error.setUrl(compilationUnit->url());
- error.setLine(binding->location.line);
- error.setColumn(binding->location.column);
+ error.setLine(binding->location.line());
+ error.setColumn(binding->location.column());
error.setDescription(QStringLiteral("the 'name' property of a TestCase must be a literal string"));
result.errors << error;
}
@@ -344,7 +344,7 @@ private:
}
for (auto binding = object->bindingsBegin(); binding != object->bindingsEnd(); ++binding) {
- if (binding->type == QV4::CompiledData::Binding::Type_Object) {
+ if (binding->type() == QV4::CompiledData::Binding::Type_Object) {
const Object *child = compilationUnit->objectAt(binding->value.objectIndex);
result << enumerateTestCases(compilationUnit, child);
}
@@ -432,7 +432,7 @@ int quick_test_main_with_setup(int argc, char **argv, const char *name, const ch
testPath = s;
}
-#if defined(Q_OS_ANDROID)
+#if defined(Q_OS_ANDROID) || defined(Q_OS_INTEGRITY)
if (testPath.isEmpty())
testPath = QLatin1String(":/");
#endif
@@ -631,3 +631,5 @@ int quick_test_main_with_setup(int argc, char **argv, const char *name, const ch
}
QT_END_NAMESPACE
+
+#include "moc_quicktest_p.cpp"
diff --git a/src/qmltest/quicktestevent.cpp b/src/qmltest/quicktestevent.cpp
index 1ed642fe07..c41061200e 100644
--- a/src/qmltest/quicktestevent.cpp
+++ b/src/qmltest/quicktestevent.cpp
@@ -227,7 +227,7 @@ namespace QtQuickTest
static const char *mouseActionNames[] =
{ "MousePress", "MouseRelease", "MouseClick", "MouseDoubleClick", "MouseMove", "MouseDoubleClickSequence" };
QString warning = QString::fromLatin1("Mouse event \"%1\" not accepted by receiving window");
- QWARN(warning.arg(QString::fromLatin1(mouseActionNames[static_cast<int>(action)])).toLatin1().data());
+ QTest::qWarn(warning.arg(QString::fromLatin1(mouseActionNames[static_cast<int>(action)])).toLatin1().data());
}
}
@@ -482,3 +482,5 @@ QQuickTouchEventSequence *QuickTestEvent::touchEvent(QObject *item)
}
QT_END_NAMESPACE
+
+#include "moc_quicktestevent_p.cpp"
diff --git a/src/qmltest/quicktestresult.cpp b/src/qmltest/quicktestresult.cpp
index 0853c26f51..22edb95687 100644
--- a/src/qmltest/quicktestresult.cpp
+++ b/src/qmltest/quicktestresult.cpp
@@ -775,7 +775,8 @@ QObject *QuickTestResult::grabImage(QQuickItem *item)
if (item && item->window()) {
QQuickWindow *window = item->window();
QImage grabbed = window->grabWindow();
- QRectF rf(item->x(), item->y(), item->width(), item->height());
+ const auto dpi = grabbed.devicePixelRatio();
+ QRectF rf(item->x() * dpi, item->y() * dpi, item->width() * dpi, item->height() * dpi);
rf = rf.intersected(QRectF(0, 0, grabbed.width(), grabbed.height()));
QObject *o = new QuickTestImageObject(grabbed.copy(rf.toAlignedRect()));
QQmlEngine::setContextForObject(o, qmlContext(this));
diff --git a/src/qmltest/quicktestutil.cpp b/src/qmltest/quicktestutil.cpp
index 994c66845b..0e6694fd7b 100644
--- a/src/qmltest/quicktestutil.cpp
+++ b/src/qmltest/quicktestutil.cpp
@@ -111,3 +111,5 @@ int QuickTestUtil::callerLine(int frameIndex) const
}
QT_END_NAMESPACE
+
+#include "moc_quicktestutil_p.cpp"