diff options
Diffstat (limited to 'tests/QtDeclarative/bug_456.py')
-rwxr-xr-x | tests/QtDeclarative/bug_456.py | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tests/QtDeclarative/bug_456.py b/tests/QtDeclarative/bug_456.py new file mode 100755 index 0000000..8a0c662 --- /dev/null +++ b/tests/QtDeclarative/bug_456.py @@ -0,0 +1,78 @@ +#!/usr/bin/python + +# Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# Contact: PySide Team (pyside@openbossa.org) +# +# This file is part of the examples of PySide: Python for Qt. +# +# $QT_BEGIN_LICENSE:BSD$ +# You may use this file under the terms of the BSD license as follows: +# +# "Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +# $QT_END_LICENSE$ + +from PySide import QtCore, QtGui, QtDeclarative +from helper import adjust_filename, TimedQApplication +import unittest + +class RotateValue(QtCore.QObject): + def __init__(self): + super(RotateValue,self).__init__() + + @QtCore.Slot(result=int) + def val(self): + return 100 + + def setRotation(self, v): + self._rotation = v + + def getRotation(self): + return self._rotation + + rotation = QtCore.Property(int, getRotation, setRotation) + +class TestConnectionWithInvalidSignature(TimedQApplication): + + def testSlotRetur(self): + view = QtDeclarative.QDeclarativeView() + rotatevalue = RotateValue() + + timer = QtCore.QTimer() + timer.start(2000) + + context = view.rootContext() + context.setContextProperty("rotatevalue", rotatevalue) + view.setSource(adjust_filename('bug_456.qml', __file__)) + root = view.rootObject() + button = root.findChild(QtCore.QObject, "buttonMouseArea") + view.show() + button.clicked.emit() + self.assertEqual(rotatevalue.rotation, 100) + +if __name__ == '__main__': + unittest.main() |