Replace "requires" class decorator with a simple if (for Python 2.5 compatibility)

Reviewed-by: Lauro Moura <lauro.neto@openbossa.org>
Reviewed-by: Bruno Araujo <bruno.araujo@openbossa.org>
This commit is contained in:
Anderson Lizardo 2010-02-25 12:25:41 -04:00
commit a13b5b0145
6 changed files with 159 additions and 206 deletions

View file

@ -6,12 +6,11 @@ from PySide.QtCore import QObject, SIGNAL
try:
from PySide.QtGui import QPushButton, QSpinBox
hasQtGui = True
except ImportError:
pass
hasQtGui = False
from helper import BasicPySlotCase, UsesQApplication
from helper.decorators import requires
def random_gen(count=100, largest=99, lowest=0):
for i in range(count):
@ -44,25 +43,24 @@ class MultipleSignalConnections(unittest.TestCase):
self.assert_(rec.called)
@requires('PySide.QtGui')
class QtGuiMultipleSlots(UsesQApplication, MultipleSignalConnections):
'''Multiple connections to QtGui signals'''
if hasQtGui:
class QtGuiMultipleSlots(UsesQApplication, MultipleSignalConnections):
'''Multiple connections to QtGui signals'''
def testButtonClick(self):
"""Multiple connections to QPushButton.clicked()"""
sender = QPushButton('button')
receivers = [BasicPySlotCase() for x in range(30)]
self.run_many(sender, 'clicked()', sender.click, receivers)
def testSpinBoxValueChanged(self):
"""Multiple connections to QSpinBox.valueChanged(int)"""
for test in random_gen(10):
sender = QSpinBox()
#FIXME if number of receivers if higher than 50, segfaults
receivers = [BasicPySlotCase() for x in range(10)]
self.run_many(sender, 'valueChanged(int)', sender.setValue,
receivers, (test,))
def testButtonClick(self):
"""Multiple connections to QPushButton.clicked()"""
sender = QPushButton('button')
receivers = [BasicPySlotCase() for x in range(30)]
self.run_many(sender, 'clicked()', sender.click, receivers)
def testSpinBoxValueChanged(self):
"""Multiple connections to QSpinBox.valueChanged(int)"""
for test in random_gen(10):
sender = QSpinBox()
#FIXME if number of receivers if higher than 50, segfaults
receivers = [BasicPySlotCase() for x in range(10)]
self.run_many(sender, 'valueChanged(int)', sender.setValue,
receivers, (test,))
if __name__ == '__main__':
unittest.main()