Created new unittest model.
Separete unittest for module.
Only run unittest for compiled modules.
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>,
Luciano Wolf <luciano.wolf@openbossa.org>
This commit is contained in:
parent
471486732b
commit
ab918abc1e
211 changed files with 241 additions and 79 deletions
56
tests/QtCore/duck_punching_test.py
Normal file
56
tests/QtCore/duck_punching_test.py
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
'''Test case for duck punching new implementations of C++ virtual methods into object instances.'''
|
||||
|
||||
import unittest
|
||||
import types
|
||||
from PySide.QtCore import QObject, QEvent
|
||||
from helper import UsesQCoreApplication
|
||||
|
||||
class Duck(QObject):
|
||||
def __init__(self):
|
||||
QObject.__init__(self)
|
||||
def childEvent(self, event):
|
||||
QObject.childEvent(self, event)
|
||||
|
||||
class TestDuckPunchingOnQObjectInstance(UsesQCoreApplication):
|
||||
'''Test case for duck punching new implementations of C++ virtual methods into object instances.'''
|
||||
|
||||
def setUp(self):
|
||||
#Acquire resources
|
||||
self.duck_childEvent_called = False
|
||||
UsesQCoreApplication.setUp(self)
|
||||
|
||||
def tearDown(self):
|
||||
#Release resources
|
||||
del self.duck_childEvent_called
|
||||
UsesQCoreApplication.tearDown(self)
|
||||
|
||||
|
||||
def testChildEventMonkeyPatch(self):
|
||||
#Test if the new childEvent injected on QObject instance is called from C++
|
||||
parent = QObject()
|
||||
def childEvent(obj, event):
|
||||
self.duck_childEvent_called = True
|
||||
QObject.childEvent(obj, event)
|
||||
parent.childEvent = types.MethodType(childEvent, parent, QObject)
|
||||
child = QObject()
|
||||
child.setParent(parent)
|
||||
self.assert_(self.duck_childEvent_called)
|
||||
|
||||
def testChildEventMonkeyPatchWithInheritance(self):
|
||||
#Test if the new childEvent injected on a QObject's extension class instance is called from C++
|
||||
parent = Duck()
|
||||
def childEvent(obj, event):
|
||||
QObject.childEvent(obj, event)
|
||||
self.duck_childEvent_called = True
|
||||
child = QObject()
|
||||
child.setParent(parent)
|
||||
parent.childEvent = types.MethodType(childEvent, parent, QObject)
|
||||
child = QObject()
|
||||
child.setParent(parent)
|
||||
self.assert_(self.duck_childEvent_called)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue