aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/tests/QtWidgets/bug_862.py
blob: 49d9e24b27a012886fa17c8b29761d1233c51146 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# 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 for bug 862, original description was:
#
# print seems to be broken at least for QGraphicsItems-derived objects. The
# attached code shows:
#
# <__main__.MyQObject object at 0xf99f38>
# <__main__.MyQWidget object at 0xf99f38>
# <PySide.QtGui.MyQGraphicsObject (this = 0x11c0d60 , parent = 0x0 , pos =
# QPointF(0, 0) , z = 0 , flags =  ( ) )  at 0xf99f38>
# <PySide.QtGui.QGraphicsItem (this = 0x11c2e60 , parent = 0x0 , pos = QPointF(0,
# 0) , z = 0 , flags =  ( ) )  at 0xf99f38>
#
# Where it should be showing something like:
#
# <__main__.MyQObject object at 0x7f55cf226c20>
# <__main__.MyQWidget object at 0x7f55cf226c20>
# <__main__.MyQGraphicsObject object at 0x7f55cf226c20>
# <__main__.MyQGraphicsItem object at 0x7f55cf226c20>
#

import os
import sys
import unittest

from pathlib import Path
sys.path.append(os.fspath(Path(__file__).resolve().parents[1]))
from init_paths import init_test_paths
init_test_paths(False)

from PySide6.QtCore import QObject
from PySide6.QtWidgets import QApplication, QGraphicsItem, QGraphicsWidget, QGraphicsObject, QWidget
import PySide6.QtCore


class MyQObject(QObject):
    def __init__(self):
        super().__init__()


class MyQWidget(QWidget):
    def __init__(self):
        super().__init__()


class MyQGraphicsObject(QGraphicsObject):
    def __init__(self):
        super().__init__()


class MyQGraphicsItem(QGraphicsItem):
    def __init__(self):
        super().__init__()


class TestRepr (unittest.TestCase):

    def testIt(self):

        app = QApplication([])

        self.assertEqual("<__main__.MyQObject(0x", repr(MyQObject())[:22])
        self.assertEqual("<__main__.MyQWidget(0x", repr(MyQWidget())[:22])
        self.assertEqual("<__main__.MyQGraphicsObject(0x", repr(MyQGraphicsObject())[:30])
        self.assertEqual("<__main__.MyQGraphicsItem(0x", repr(MyQGraphicsItem())[:28])

        self.assertEqual("<PySide6.QtCore.QObject(0x", repr(QObject())[:26])
        self.assertEqual("<PySide6.QtCore.QObject(0x", repr(PySide6.QtCore.QObject())[:26])
        self.assertEqual("<PySide6.QtWidgets.QWidget(0x", repr(QWidget())[:29])
        self.assertEqual("<PySide6.QtWidgets.QGraphicsWidget(0x", repr(QGraphicsWidget())[:37])


if __name__ == "__main__":
    unittest.main()