From e75b82fdf6e9903e7264a1bc962ab7ed42c53bcd Mon Sep 17 00:00:00 2001 From: renatofilho Date: Wed, 6 Oct 2010 18:53:39 -0300 Subject: Created unittest for widgets defined in Python and used during QUiLoader.loader function. Reviewer: Hugo Parente Lima Luciano Wolf --- tests/QtUiTools/bug_392.py | 23 +++++++++++++++--- tests/QtUiTools/customwidget.ui | 51 +++++++++++++++++++++++++++++++++++++++ tests/QtUiTools/pycustomwidget.ui | 36 +++++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 3 deletions(-) create mode 100644 tests/QtUiTools/customwidget.ui create mode 100644 tests/QtUiTools/pycustomwidget.ui diff --git a/tests/QtUiTools/bug_392.py b/tests/QtUiTools/bug_392.py index 5717d457c..36b2f1091 100644 --- a/tests/QtUiTools/bug_392.py +++ b/tests/QtUiTools/bug_392.py @@ -5,6 +5,13 @@ from helper import UsesQApplication from PySide import QtCore, QtGui, QtDeclarative from PySide.QtUiTools import QUiLoader +class MyWidget(QtGui.QComboBox): + def __init__(self, parent=None): + QtGui.QComboBox.__init__(self, parent) + + def isPython(self): + return True + class BugTest(UsesQApplication): def testCase(self): w = QtGui.QWidget() @@ -12,7 +19,7 @@ class BugTest(UsesQApplication): filePath = os.path.join(os.path.dirname(__file__), 'action.ui') result = loader.load(filePath, w) - self.assertEqual(type(result.statusbar.actionFoo), QtGui.QAction) + self.assert_(isinstance(result.statusbar.actionFoo, QtGui.QAction)) def testCustomWidgets(self): w = QtGui.QWidget() @@ -20,8 +27,18 @@ class BugTest(UsesQApplication): filePath = os.path.join(os.path.dirname(__file__), 'customwidget.ui') result = loader.load(filePath, w) - self.assert_(type(result.declarativeView), QtDeclarative.QDeclarativeView) - self.assert_(type(result.worldTimeClock), QtGui.QWidget) + self.assert_(isinstance(result.declarativeView, QtDeclarative.QDeclarativeView)) + self.assert_(isinstance(result.worldTimeClock, QtGui.QWidget)) + + def testPythonCustomWidgets(self): + w = QtGui.QWidget() + loader = QUiLoader() + loader.registerCustomWidget(MyWidget) + + filePath = os.path.join(os.path.dirname(__file__), 'pycustomwidget.ui') + result = loader.load(filePath, w) + self.assert_(isinstance(result.custom, MyWidget)) + self.assert_(result.custom.isPython()) if __name__ == '__main__': diff --git a/tests/QtUiTools/customwidget.ui b/tests/QtUiTools/customwidget.ui new file mode 100644 index 000000000..181ee6072 --- /dev/null +++ b/tests/QtUiTools/customwidget.ui @@ -0,0 +1,51 @@ + + + qwidget + + + + 0 + 0 + 303 + 350 + + + + + + + + + 0 + 150 + 300 + 200 + + + + + + + 190 + 20 + 100 + 100 + + + + + + + QDeclarativeView + QGraphicsView +
QtDeclarative/QDeclarativeView
+
+ + WorldTimeClock + QWidget +
worldtimeclock.h
+
+
+ + +
diff --git a/tests/QtUiTools/pycustomwidget.ui b/tests/QtUiTools/pycustomwidget.ui new file mode 100644 index 000000000..c066153a0 --- /dev/null +++ b/tests/QtUiTools/pycustomwidget.ui @@ -0,0 +1,36 @@ + + + qwidget + + + + 0 + 0 + 400 + 300 + + + + + + + + + 10 + 10 + 79 + 23 + + + + + + + MyWidget + QComboBox +
customwidget
+
+
+ + +
-- cgit v1.2.3