diff options
author | renatofilho <renato.filho@openbossa.org> | 2010-11-05 16:33:36 -0300 |
---|---|---|
committer | renatofilho <renato.filho@openbossa.org> | 2010-11-05 19:01:07 -0300 |
commit | 5371e403ffe741119ba0803077b772ca84f3fce3 (patch) | |
tree | a93755452e70ba3080e430680f0d41b4c8a7fdcc /tests/QtDeclarative/bug_451.py | |
parent | a029d217c2ae26aedb89e472ccdf61d20ec7fd26 (diff) | |
download | pyside-5371e403ffe741119ba0803077b772ca84f3fce3.tar.gz pyside-5371e403ffe741119ba0803077b772ca84f3fce3.tar.xz pyside-5371e403ffe741119ba0803077b772ca84f3fce3.zip |
Created unit test for bug #451.
Reviewer: Hugo Parente Lima <hugo.pl@gmail.com>
Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'tests/QtDeclarative/bug_451.py')
-rwxr-xr-x | tests/QtDeclarative/bug_451.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/QtDeclarative/bug_451.py b/tests/QtDeclarative/bug_451.py new file mode 100755 index 0000000..60e8dcc --- /dev/null +++ b/tests/QtDeclarative/bug_451.py @@ -0,0 +1,65 @@ +''' Test bug 451: http://bugs.openbossa.org/show_bug.cgi?id=451''' + +from PySide import QtCore, QtGui, QtDeclarative +from helper import adjust_filename +import sys +import unittest + +class PythonObject(QtCore.QObject): + def __init__(self): + QtCore.QObject.__init__(self, None) + self._called = "" + self._arg1 = None + self._arg2 = None + + def setCalled(self, v): + self._called = v + + def setArg1(self, v): + self._arg1 = v + + def setArg2(self, v): + self._arg2 = v + + def getCalled(self): + return self._called + + def getArg1(self): + return self._arg1 + + def getArg2(self): + return self._arg2 + + called = QtCore.Property(str, getCalled, setCalled) + arg1 = QtCore.Property(int, getArg1, setArg1) + arg2 = QtCore.Property('QVariant', getArg2, setArg2) + +class TestBug(unittest.TestCase): + def testQMLFunctionCall(self): + app = QtGui.QApplication(sys.argv) + view = QtDeclarative.QDeclarativeView() + + obj = PythonObject() + context = view.rootContext() + context.setContextProperty("python", obj) + view.setSource(adjust_filename('bug_451.qml', __file__)) + root = view.rootObject() + root.simpleFunction() + self.assertEqual(obj.called, "simpleFunction") + + root.oneArgFunction(42) + self.assertEqual(obj.called, "oneArgFunction") + self.assertEqual(obj.arg1, 42) + + root.twoArgFunction(10, app) + self.assertEqual(obj.called, "twoArgFunction") + self.assertEqual(obj.arg1, 10) + self.assertEqual(obj.arg2, app) + + rvalue = root.returnFunction() + self.assertEqual(obj.called, "returnFunction") + self.assertEqual(rvalue, 42) + + +if __name__ == '__main__': + unittest.main() |