Fixed unittest to work with python3.

This commit is contained in:
Renato Filho 2011-10-07 15:03:53 -03:00 • committed by Hugo Parente Lima
commit 401651e26c
2 changed files with 91 additions and 84 deletions

View file

@ -43,6 +43,4 @@ class CheckForEventsTypes(unittest.TestCase):
o.app = None o.app = None
if __name__ == '__main__': if __name__ == '__main__':
print int(QEvent.User) unittest.main()
val = QEvent.User + 100
#unittest.main()

View file

@ -1,81 +1,90 @@
from PySide.QtCore import QObject, Slot, QTimer from PySide.QtCore import QObject, Slot, QTimer
from PySide.QtWebKit import QWebView from PySide.QtWebKit import QWebView
import unittest import unittest
from helper import UsesQApplication from helper import UsesQApplication
class JSFuncs(QObject): functionID = -1
functionID = -1
@Slot(str,result=str) class JSFuncs(QObject):
def slot_str_str(self, x): @Slot(str,result=str)
JSFuncs.functionID = 0 def slot_str_str(self, x):
return x.upper() global functionID
functionID = 0
@Slot(str,result='QVariant') return x.upper()
def slot_str_list(self, x):
JSFuncs.functionID = 1 @Slot(str,result='QVariant')
return [x, x] def slot_str_list(self, x):
global functionID
@Slot('QStringList',result=str) functionID = 1
def slot_strlist_str(self, x): return [x, x]
JSFuncs.functionID = 2
return x[-1] @Slot('QStringList',result=str)
def slot_strlist_str(self, x):
@Slot('QVariant',result=str) global functionID
def slot_variant_str(self, x): functionID = 2
JSFuncs.functionID = 3 return x[-1]
return str(x)
@Slot('QVariant',result=str)
@Slot('QVariantList',result=str) def slot_variant_str(self, x):
def slot_variantlist_str(self, x): global functionID
JSFuncs.functionID = 4 functionID = 3
return str(x[-1]) return str(x)
@Slot('QVariantMap',result=str) @Slot('QVariantList',result=str)
def slot_variantmap_str(self, x): def slot_variantlist_str(self, x):
JSFuncs.functionID = 5 global functionID
return str(x["foo"]) functionID = 4
return str(x[-1])
@Slot('QVariantMap',result=str)
PAGE_DATA = "data:text/html,<!doctype html><html><body onload='%s'></body></html>" def slot_variantmap_str(self, x):
FUNCTIONS_LIST = ['jsfuncs.slot_str_str("hello")', global functionID
'jsfuncs.slot_str_list("hello")', functionID = 5
'jsfuncs.slot_strlist_str(["hello","world"])', return str(x["foo"])
'jsfuncs.slot_variant_str("hello")',
'jsfuncs.slot_variantlist_str(["hello","world"])',
'jsfuncs.slot_variantmap_str({"foo": "bar"})']
PAGE_DATA = "data:text/html,<!doctype html><html><body onload='%s'></body></html>"
FUNCTIONS_LIST = ['jsfuncs.slot_str_str("hello")',
class TestJsCall(UsesQApplication): 'jsfuncs.slot_str_list("hello")',
'jsfuncs.slot_strlist_str(["hello","world"])',
@classmethod 'jsfuncs.slot_variant_str("hello")',
def setUpClass(self): 'jsfuncs.slot_variantlist_str(["hello","world"])',
super(TestJsCall, self).setUpClass() 'jsfuncs.slot_variantmap_str({"foo": "bar"})']
def createInstance(self):
self._view = QWebView() class TestJsCall(UsesQApplication):
self._jsfuncs = JSFuncs()
JSFuncs.functionID = -1 @classmethod
self._view.page().mainFrame().addToJavaScriptWindowObject("jsfuncs", self._jsfuncs) def setUpClass(self):
self._view.loadFinished[bool].connect(self.onLoadFinished) super(TestJsCall, self).setUpClass()
self._view.load(PAGE_DATA % FUNCTIONS_LIST[self._functionID])
self._view.show() def createInstance(self):
global functionID
def testJsCall(self): self._view = QWebView()
self._functionID = 0 self._jsfuncs = JSFuncs()
self.createInstance() functionID = -1
self.app.exec_() self._view.page().mainFrame().addToJavaScriptWindowObject("jsfuncs", self._jsfuncs)
self._view.loadFinished[bool].connect(self.onLoadFinished)
def onLoadFinished(self, result): self._view.load(PAGE_DATA % FUNCTIONS_LIST[self._functionID])
self.assertEqual(self._functionID, JSFuncs.functionID) self._view.show()
if self._functionID == len(FUNCTIONS_LIST) - 1:
QTimer.singleShot(300, self.app.quit) def testJsCall(self):
else: self._functionID = 0
#new test self.createInstance()
self._functionID += 1 self.app.exec_()
self.createInstance()
def onLoadFinished(self, result):
global functionID
if __name__ == "__main__": self.assertEqual(self._functionID, functionID)
unittest.main() if self._functionID == (len(FUNCTIONS_LIST) - 1):
QTimer.singleShot(300, self.app.quit)
else:
#new test
self._functionID += 1
self.createInstance()
if __name__ == "__main__":
unittest.main()