aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/tests/QtUiTools/uiloader_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside2/tests/QtUiTools/uiloader_test.py')
-rw-r--r--sources/pyside2/tests/QtUiTools/uiloader_test.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/sources/pyside2/tests/QtUiTools/uiloader_test.py b/sources/pyside2/tests/QtUiTools/uiloader_test.py
index 07461ca2f..2fceb45c1 100644
--- a/sources/pyside2/tests/QtUiTools/uiloader_test.py
+++ b/sources/pyside2/tests/QtUiTools/uiloader_test.py
@@ -40,6 +40,15 @@ from PySide2.QtWidgets import QWidget
from PySide2.QtUiTools import QUiLoader
+class OverridingLoader(QUiLoader):
+ def createWidget(self, class_name, parent=None, name=''):
+ if class_name == 'QWidget':
+ w = QWidget(parent)
+ w.setObjectName(name)
+ return w
+ return QUiLoader.createWidget(self, class_name, parent, name)
+
+
class QUiLoaderTester(UsesQApplication):
def setUp(self):
UsesQApplication.setUp(self)
@@ -58,6 +67,13 @@ class QUiLoaderTester(UsesQApplication):
self.assertEqual(w.findChild(QWidget, "grandson_object"), child.findChild(QWidget, "grandson_object"))
+ def testLoadFileOverride(self):
+ # PYSIDE-1070, override QUiLoader::createWidget() with parent=None crashes
+ loader = OverridingLoader()
+ w = loader.load(self._filePath)
+ self.assertNotEqual(w, None)
+
+
if __name__ == '__main__':
unittest.main()