aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/tests/QtGui/bug_714.py
blob: a3f9c71228e7656baf98d02000c6b4e680a89227 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import unittest
import sys
from PySide2.QtGui import QPixmap
from PySide2.QtWidgets import QLabel, QApplication

class TestLabelPixmap(unittest.TestCase):
    def testReference(self):
        l = QLabel()
        p = QPixmap()
        l.setPixmap(p) # doesn't increment pixmap ref because this makes a copy
        self.assertEqual(sys.getrefcount(p), 2)

        p = l.pixmap() # this increment the reference because this is an internal pointer
        self.assertEqual(sys.getrefcount(p), 3)

        p2 = l.pixmap()
        self.assertEqual(p, p2)

if __name__ == '__main__':
    app = QApplication([])
    unittest.main()