diff options
Diffstat (limited to 'sources/pyside6/tests/QtCore/qobject_inherits_test.py')
-rw-r--r-- | sources/pyside6/tests/QtCore/qobject_inherits_test.py | 55 |
1 files changed, 19 insertions, 36 deletions
diff --git a/sources/pyside6/tests/QtCore/qobject_inherits_test.py b/sources/pyside6/tests/QtCore/qobject_inherits_test.py index 0d0b0d174..0bd4fba75 100644 --- a/sources/pyside6/tests/QtCore/qobject_inherits_test.py +++ b/sources/pyside6/tests/QtCore/qobject_inherits_test.py @@ -1,33 +1,9 @@ -############################################################################# -## -## Copyright (C) 2016 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the test suite of Qt for Python. -## -## $QT_BEGIN_LICENSE:GPL-EXCEPT$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 3 as published by the Free Software -## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 '''Test cases for QObject methods''' +import gc import os import sys import unittest @@ -42,19 +18,20 @@ from PySide6.QtWidgets import QApplication, QLabel, QVBoxLayout is_alive = None + class InheritsCase(unittest.TestCase): '''Test case for QObject.inherits''' def testCppInheritance(self): - #QObject.inherits() for c++ classes - #An class inherits itself + # QObject.inherits() for c++ classes + # A class inherits itself self.assertTrue(QObject().inherits('QObject')) def testPythonInheritance(self): - #QObject.inherits() for python classes + # QObject.inherits() for python classes class Dummy(QObject): - #Dummy class + # Dummy class pass self.assertTrue(Dummy().inherits('QObject')) @@ -62,15 +39,16 @@ class InheritsCase(unittest.TestCase): self.assertTrue(not Dummy().inherits('FooBar')) def testPythonMultiInheritance(self): - #QObject.inherits() for multiple inheritance + # QObject.inherits() for multiple inheritance # QObject.inherits(classname) should fail if classname isn't a # QObject subclass class Parent(object): - #Dummy parent + # Dummy parent pass + class Dummy(QObject, Parent): - #Dummy class + # Dummy class pass self.assertTrue(Dummy().inherits('QObject')) @@ -81,7 +59,7 @@ class InheritsCase(unittest.TestCase): class DerivedObject(QObject): def __init__(self): self.member = 'member' - QObject.__init__(self) + super().__init__() obj0 = DerivedObject() # The second instantiation of DerivedObject will generate an exception # that will not come to surface immediately. @@ -108,6 +86,7 @@ class InheritsCase(unittest.TestCase): # is null under the pythonTypeIsValueType() method in shiboken. def testDeleteMultipleInheritance(self): app = QApplication(sys.argv) + class DerivedLabel(QLabel, QObject): def __del__(self): global is_alive @@ -122,9 +101,13 @@ class InheritsCase(unittest.TestCase): child.deleteLater() self.assertTrue(is_alive) del child + # PYSIDE-535: Need to collect garbage in PyPy to trigger deletion + gc.collect() self.assertTrue(is_alive) QTimer.singleShot(100, app.quit) - app.exec_() + app.exec() + # PYSIDE-535: Need to collect garbage in PyPy to trigger deletion + gc.collect() self.assertFalse(is_alive) |