diff options
Diffstat (limited to 'sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup')
5 files changed, 76 insertions, 0 deletions
diff --git a/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/data/tst_setup.qml b/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/data/tst_setup.qml new file mode 100644 index 000000000..2cfe936a6 --- /dev/null +++ b/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/data/tst_setup.qml @@ -0,0 +1,20 @@ +// Copyright (C) 2018 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +import QtQuick 2.0 +import QtTest 1.2 + +import QmlRegisterTypeCppModule 1.0 +import ImportPathQmlModule 1.0 + +TestCase { + name: "setup" + + QmlRegisterTypeCppType {} + ImportPathQmlType {} + + function initTestCase() + { + verify(qmlEngineAvailableCalled) + } +} diff --git a/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/imports/ImportPathQmlModule/ImportPathQmlType.qml b/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/imports/ImportPathQmlModule/ImportPathQmlType.qml new file mode 100644 index 000000000..617bdaaf6 --- /dev/null +++ b/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/imports/ImportPathQmlModule/ImportPathQmlType.qml @@ -0,0 +1,3 @@ +import QtQuick 2.0 + +Item {} diff --git a/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/imports/ImportPathQmlModule/qmldir b/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/imports/ImportPathQmlModule/qmldir new file mode 100644 index 000000000..dea7c9a8a --- /dev/null +++ b/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/imports/ImportPathQmlModule/qmldir @@ -0,0 +1,2 @@ +module ImportPathQmlModule +ImportPathQmlType 1.0 ImportPathQmlType.qml diff --git a/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/quicktestmainwithsetup.pyproject b/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/quicktestmainwithsetup.pyproject new file mode 100644 index 000000000..61e89f4af --- /dev/null +++ b/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/quicktestmainwithsetup.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["tst_quicktestmainwithsetup.py", "data/tst_setup.qml", + "imports/ImportPathQmlModule/ImportPathQmlType.qml"] +} diff --git a/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/tst_quicktestmainwithsetup.py b/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/tst_quicktestmainwithsetup.py new file mode 100644 index 000000000..2e45960cd --- /dev/null +++ b/sources/pyside6/tests/QtQuickTest/quicktestmainwithsetup/tst_quicktestmainwithsetup.py @@ -0,0 +1,47 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +from __future__ import annotations + +import os +import sys + +from pathlib import Path +sys.path.append(os.fspath(Path(__file__).resolve().parents[2])) +from init_paths import init_test_paths +init_test_paths(False) + +from pathlib import Path +from PySide6.QtCore import QObject, Slot +from PySide6.QtQml import QQmlEngine, qmlRegisterType +from PySide6.QtQuickTest import QUICK_TEST_MAIN_WITH_SETUP + + +"""Copy of the equivalent test in qtdeclarative.""" + + +class QmlRegisterTypeCppType(QObject): + def __init__(self, parent=None): + super().__init__(parent) + + +class CustomTestSetup(QObject): + def __init__(self, parent=None): + super().__init__(parent) + + @Slot(QQmlEngine) + def qmlEngineAvailable(self, qmlEngine): + # Test that modules are successfully imported by the TestCaseCollector + # that parses the QML files (but doesn't run them). For that to happen, + # qmlEngineAvailable() must be called before TestCaseCollector does its + # thing. + qmlRegisterType(QmlRegisterTypeCppType, "QmlRegisterTypeCppModule", 1, 0, + "QmlRegisterTypeCppType") + import_dir = Path(__file__).parent / "imports" + qmlEngine.addImportPath(os.fspath(import_dir)) + qmlEngine.rootContext().setContextProperty("qmlEngineAvailableCalled", True) + + +data_dir = Path(__file__).parent / "data" +exitCode = QUICK_TEST_MAIN_WITH_SETUP("qquicktestsetup", CustomTestSetup, sys.argv, + os.fspath(data_dir)) +sys.exit(exitCode) |