Created unit test for bug #820.
Reviewer: Lauro Moura <lauro.neto@openbossa.org>
Hugo Parente Lima <hugo.pl@gmail.com>
This commit is contained in:
parent
f65c15ec95
commit
adf13f83e9
2 changed files with 70 additions and 0 deletions
|
|
@ -10,6 +10,7 @@ PYSIDE_TEST(bug_699.py)
|
||||||
PYSIDE_TEST(bug_706.py)
|
PYSIDE_TEST(bug_706.py)
|
||||||
PYSIDE_TEST(bug_723.py)
|
PYSIDE_TEST(bug_723.py)
|
||||||
PYSIDE_TEST(bug_724.py)
|
PYSIDE_TEST(bug_724.py)
|
||||||
|
PYSIDE_TEST(bug_820.py)
|
||||||
PYSIDE_TEST(bug_826.py)
|
PYSIDE_TEST(bug_826.py)
|
||||||
PYSIDE_TEST(bug_829.py)
|
PYSIDE_TEST(bug_829.py)
|
||||||
PYSIDE_TEST(bug_834.py)
|
PYSIDE_TEST(bug_834.py)
|
||||||
|
|
|
||||||
69
tests/QtCore/bug_820.py
Normal file
69
tests/QtCore/bug_820.py
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
import functools
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
from PySide.QtCore import QObject, Slot, Signal, SIGNAL
|
||||||
|
|
||||||
|
def log_exception():
|
||||||
|
def log_exception_decorator(func):
|
||||||
|
@functools.wraps(func)
|
||||||
|
def wrapper(*args, **kwds):
|
||||||
|
try:
|
||||||
|
return func(*args, **kwds)
|
||||||
|
except Exception:
|
||||||
|
raise
|
||||||
|
|
||||||
|
return wrapper
|
||||||
|
|
||||||
|
return log_exception_decorator
|
||||||
|
|
||||||
|
|
||||||
|
def log_exception2():
|
||||||
|
def log_exception_decorator(func):
|
||||||
|
def wrapper(*args, **kwds):
|
||||||
|
try:
|
||||||
|
return func(*args, **kwds)
|
||||||
|
except Exception:
|
||||||
|
raise
|
||||||
|
|
||||||
|
return wrapper
|
||||||
|
|
||||||
|
return log_exception_decorator
|
||||||
|
|
||||||
|
class MyObject(QObject):
|
||||||
|
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
QObject.__init__(self, parent)
|
||||||
|
self._mySlotcalled = False
|
||||||
|
self._mySlot2called = False
|
||||||
|
|
||||||
|
@Slot()
|
||||||
|
@log_exception()
|
||||||
|
def mySlot(self):
|
||||||
|
self._mySlotcalled = True
|
||||||
|
|
||||||
|
@Slot(name="mySlot2")
|
||||||
|
@log_exception2()
|
||||||
|
def mySlot2(self):
|
||||||
|
self._mySlot2called = True
|
||||||
|
|
||||||
|
def poke(self):
|
||||||
|
self.events.emit()
|
||||||
|
|
||||||
|
events = Signal()
|
||||||
|
|
||||||
|
|
||||||
|
class SlotWithDecoratorTest(unittest.TestCase):
|
||||||
|
def testSlots(self):
|
||||||
|
o = MyObject()
|
||||||
|
self.assert_(o.metaObject().indexOfSlot("mySlot()") > 0)
|
||||||
|
self.assert_(o.metaObject().indexOfSlot("mySlot2()") > 0)
|
||||||
|
|
||||||
|
o.events.connect(o.mySlot)
|
||||||
|
o.events.connect(o.mySlot2)
|
||||||
|
o.poke()
|
||||||
|
self.assertTrue(o._mySlotcalled)
|
||||||
|
self.assertTrue(o._mySlot2called)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue