This commit is contained in:
rattatwinko
2025-05-25 20:42:58 +02:00
commit 8e9b2568b2
4902 changed files with 1152638 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
# Automatically generated configuration for PyQt5.QtTest.
sip-version = "6.8.6"
sip-abi-version = "12.15"
module-tags = ["Qt_5_15_14", "WS_X11"]
module-disabled-features = []

View File

@@ -0,0 +1,55 @@
// QtTestmod.sip generated by MetaSIP
//
// This file is part of the QtTest Python extension module.
//
// Copyright (c) 2024 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt5.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%Module(name=PyQt5.QtTest, keyword_arguments="Optional", use_limited_api=True)
%Import QtCore/QtCoremod.sip
%Import QtWidgets/QtWidgetsmod.sip
%Copying
Copyright (c) 2024 Riverbank Computing Limited <info@riverbankcomputing.com>
This file is part of PyQt5.
This file may be used under the terms of the GNU General Public License
version 3.0 as published by the Free Software Foundation and appearing in
the file LICENSE included in the packaging of this file. Please review the
following information to ensure the GNU General Public License version 3.0
requirements will be met: http://www.gnu.org/copyleft/gpl.html.
If you do not wish to use this file under the terms of the GPL version 3.0
then you may purchase a commercial license. For more information contact
info@riverbankcomputing.com.
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%End
%DefaultSupertype sip.simplewrapper
%Include qabstractitemmodeltester.sip
%Include qsignalspy.sip
%Include qtestcase.sip
%Include qtestkeyboard.sip
%Include qtestmouse.sip
%Include qtestsystem.sip
%Include qtesttouch.sip

View File

@@ -0,0 +1,48 @@
// qabstractitemmodeltester.sip generated by MetaSIP
//
// This file is part of the QtTest Python extension module.
//
// Copyright (c) 2024 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt5.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%If (Qt_5_11_0 -)
class QAbstractItemModelTester : public QObject
{
%TypeHeaderCode
// Qt v5.11.0 needs this.
#include <qabstractitemmodel.h>
#include <qabstractitemmodeltester.h>
%End
public:
enum class FailureReportingMode
{
QtTest,
Warning,
Fatal,
};
QAbstractItemModelTester(QAbstractItemModel *model /KeepReference=1/, QObject *parent /TransferThis/ = 0);
QAbstractItemModelTester(QAbstractItemModel *model /KeepReference=1/, QAbstractItemModelTester::FailureReportingMode mode, QObject *parent /TransferThis/ = 0);
QAbstractItemModel *model() const;
QAbstractItemModelTester::FailureReportingMode failureReportingMode() const;
};
%End

View File

@@ -0,0 +1,105 @@
// qsignalspy.sip generated by MetaSIP
//
// This file is part of the QtTest Python extension module.
//
// Copyright (c) 2024 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt5.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QSignalSpy : QObject
{
%TypeHeaderCode
#include <qsignalspy.h>
%End
%ConvertToSubClassCode
sipType = (sipCpp->inherits("QSignalSpy") ? sipType_QSignalSpy : 0);
#if QT_VERSION >= 0x050b00
if (!sipType && sipCpp->inherits("QAbstractItemModelTester"))
sipType = sipType_QAbstractItemModelTester;
#endif
%End
public:
QSignalSpy(SIP_PYOBJECT signal /TypeHint="pyqtBoundSignal"/) [(const QObject *obj, const char *aSignal)];
%MethodCode
QObject *sender;
QByteArray signal_signature;
if ((sipError = pyqt5_qttest_get_pyqtsignal_parts(a0, &sender, signal_signature)) == sipErrorNone)
sipCpp = new sipQSignalSpy(sender, signal_signature.constData());
else if (sipError == sipErrorContinue)
sipError = sipBadCallableArg(0, a0);
%End
%If (Qt_5_14_0 -)
QSignalSpy(const QObject *obj, const QMetaMethod &signal);
%End
bool isValid() const;
QByteArray signal() const;
bool wait(int timeout = 5000) /ReleaseGIL/;
int __len__() const;
%MethodCode
sipRes = sipCpp->count();
%End
QList<QVariant> __getitem__(int i) const;
%MethodCode
Py_ssize_t idx = sipConvertFromSequenceIndex(a0, sipCpp->count());
if (idx < 0)
sipIsErr = 1;
else
sipRes = new QList<QVariant>(sipCpp->at((int)idx));
%End
void __setitem__(int i, const QList<QVariant> &value);
%MethodCode
int len = sipCpp->count();
if ((a0 = (int)sipConvertFromSequenceIndex(a0, len)) < 0)
sipIsErr = 1;
else
(*sipCpp)[a0] = *a1;
%End
void __delitem__(int i);
%MethodCode
if ((a0 = (int)sipConvertFromSequenceIndex(a0, sipCpp->count())) < 0)
sipIsErr = 1;
else
sipCpp->removeAt(a0);
%End
};
%ModuleHeaderCode
// Imports from QtCore.
typedef sipErrorState (*pyqt5_qttest_get_pyqtsignal_parts_t)(PyObject *, QObject **, QByteArray &);
extern pyqt5_qttest_get_pyqtsignal_parts_t pyqt5_qttest_get_pyqtsignal_parts;
%End
%ModuleCode
// Imports from QtCore.
pyqt5_qttest_get_pyqtsignal_parts_t pyqt5_qttest_get_pyqtsignal_parts;
%End
%PostInitialisationCode
// Imports from QtCore.
pyqt5_qttest_get_pyqtsignal_parts = (pyqt5_qttest_get_pyqtsignal_parts_t)sipImportSymbol("pyqt5_get_pyqtsignal_parts");
Q_ASSERT(pyqt5_qttest_get_pyqtsignal_parts);
%End

View File

@@ -0,0 +1,30 @@
// qtestcase.sip generated by MetaSIP
//
// This file is part of the QtTest Python extension module.
//
// Copyright (c) 2024 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt5.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
namespace QTest
{
%TypeHeaderCode
#include <qtestcase.h>
%End
void qSleep(int ms) /ReleaseGIL/;
};

View File

@@ -0,0 +1,62 @@
// qtestkeyboard.sip generated by MetaSIP
//
// This file is part of the QtTest Python extension module.
//
// Copyright (c) 2024 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt5.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
namespace QTest
{
%TypeHeaderCode
#include <qtestkeyboard.h>
%End
enum KeyAction
{
Press,
Release,
Click,
%If (Qt_5_6_0 -)
Shortcut,
%End
};
void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyClick(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyClicks(QWidget *widget, const QString &sequence, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyEvent(QTest::KeyAction action, QWidget *widget, char ascii, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyPress(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyPress(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyRelease(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyRelease(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
%If (Qt_5_10_0 -)
void keySequence(QWidget *widget, const QKeySequence &keySequence);
%End
void keyEvent(QTest::KeyAction action, QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyEvent(QTest::KeyAction action, QWindow *window, char ascii, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyClick(QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyClick(QWindow *window, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyPress(QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyPress(QWindow *window, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyRelease(QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
void keyRelease(QWindow *window, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1);
%If (Qt_5_10_0 -)
void keySequence(QWindow *window, const QKeySequence &keySequence);
%End
};

View File

@@ -0,0 +1,39 @@
// qtestmouse.sip generated by MetaSIP
//
// This file is part of the QtTest Python extension module.
//
// Copyright (c) 2024 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt5.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
namespace QTest
{
%TypeHeaderCode
#include <qtestmouse.h>
%End
void mouseClick(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1);
void mouseDClick(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1);
void mouseMove(QWidget *widget, QPoint pos = QPoint(), int delay = -1);
void mousePress(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1);
void mouseRelease(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1);
void mousePress(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1);
void mouseRelease(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1);
void mouseClick(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1);
void mouseDClick(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1);
void mouseMove(QWindow *window, QPoint pos = QPoint(), int delay = -1);
};

View File

@@ -0,0 +1,34 @@
// qtestsystem.sip generated by MetaSIP
//
// This file is part of the QtTest Python extension module.
//
// Copyright (c) 2024 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt5.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
namespace QTest
{
%TypeHeaderCode
#include <qtestsystem.h>
%End
void qWait(int ms) /ReleaseGIL/;
bool qWaitForWindowActive(QWindow *window, int timeout = 5000) /ReleaseGIL/;
bool qWaitForWindowExposed(QWindow *window, int timeout = 5000) /ReleaseGIL/;
bool qWaitForWindowActive(QWidget *widget, int timeout = 5000) /ReleaseGIL/;
bool qWaitForWindowExposed(QWidget *widget, int timeout = 5000) /ReleaseGIL/;
};

View File

@@ -0,0 +1,62 @@
// qtesttouch.sip generated by MetaSIP
//
// This file is part of the QtTest Python extension module.
//
// Copyright (c) 2024 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt5.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
namespace QTest
{
%TypeHeaderCode
#include <qtesttouch.h>
%End
class QTouchEventSequence
{
%TypeHeaderCode
#include <qtesttouch.h>
%End
public:
~QTouchEventSequence();
QTest::QTouchEventSequence &press(int touchId, const QPoint &pt, QWindow *window = 0);
QTest::QTouchEventSequence &move(int touchId, const QPoint &pt, QWindow *window = 0);
QTest::QTouchEventSequence &release(int touchId, const QPoint &pt, QWindow *window = 0);
QTest::QTouchEventSequence &stationary(int touchId);
QTest::QTouchEventSequence &press(int touchId, const QPoint &pt, QWidget *widget) [QTest::QTouchEventSequence & (int touchId, const QPoint &pt, QWidget *widget = 0)];
QTest::QTouchEventSequence &move(int touchId, const QPoint &pt, QWidget *widget) [QTest::QTouchEventSequence & (int touchId, const QPoint &pt, QWidget *widget = 0)];
QTest::QTouchEventSequence &release(int touchId, const QPoint &pt, QWidget *widget) [QTest::QTouchEventSequence & (int touchId, const QPoint &pt, QWidget *widget = 0)];
void commit(bool processEvents = true) /ReleaseGIL/;
private:
QTouchEventSequence(QWidget *widget, QTouchDevice *aDevice, bool autoCommit);
QTouchEventSequence(QWindow *window, QTouchDevice *aDevice, bool autoCommit);
};
QTest::QTouchEventSequence touchEvent(QWidget *widget, QTouchDevice *device);
%MethodCode
// Disable auto-committing so that we can copy the instance around.
sipRes = new QTest::QTouchEventSequence(QTest::touchEvent(a0, a1, false));
%End
QTest::QTouchEventSequence touchEvent(QWindow *window, QTouchDevice *device);
%MethodCode
// Disable auto-committing so that we can copy the instance around.
sipRes = new QTest::QTouchEventSequence(QTest::touchEvent(a0, a1, false));
%End
};