From 57d28e9b0aff010f55bf465d27bb5c3e009d47ec Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 7 Dec 2010 12:43:45 +1000 Subject: Test signals --- tests/buttonclick/buttonclick.pro | 6 +++ tests/buttonclick/buttonclick.qrc | 6 +++ tests/buttonclick/data/Button.qml | 73 ++++++++++++++++++++++++++++++ tests/buttonclick/data/tst_buttonclick.qml | 56 +++++++++++++++++++++++ tests/buttonclick/tst_buttonclick.cpp | 44 ++++++++++++++++++ tests/tests.pro | 3 +- 6 files changed, 187 insertions(+), 1 deletion(-) create mode 100644 tests/buttonclick/buttonclick.pro create mode 100644 tests/buttonclick/buttonclick.qrc create mode 100644 tests/buttonclick/data/Button.qml create mode 100644 tests/buttonclick/data/tst_buttonclick.qml create mode 100644 tests/buttonclick/tst_buttonclick.cpp (limited to 'tests') diff --git a/tests/buttonclick/buttonclick.pro b/tests/buttonclick/buttonclick.pro new file mode 100644 index 0000000..9e41a01 --- /dev/null +++ b/tests/buttonclick/buttonclick.pro @@ -0,0 +1,6 @@ +TEMPLATE=app +TARGET=tst_buttonclick +CONFIG += warn_on testcase +SOURCES += tst_buttonclick.cpp +RESOURCES += buttonclick.qrc +include(../../src/quicktestlib/quicktestlib_dep.pri) diff --git a/tests/buttonclick/buttonclick.qrc b/tests/buttonclick/buttonclick.qrc new file mode 100644 index 0000000..8557e70 --- /dev/null +++ b/tests/buttonclick/buttonclick.qrc @@ -0,0 +1,6 @@ + + + data/tst_buttonclick.qml + data/Button.qml + + diff --git a/tests/buttonclick/data/Button.qml b/tests/buttonclick/data/Button.qml new file mode 100644 index 0000000..a2716e0 --- /dev/null +++ b/tests/buttonclick/data/Button.qml @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $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$ +** +****************************************************************************/ + +import QtQuick 1.0 + +Rectangle { + id: container + + property string text: "Button" + + signal clicked + + width: buttonLabel.width + 20; height: buttonLabel.height + 5 + border { width: 1; color: "black" } + smooth: true + radius: 8 + + // color the button with a gradient + gradient: Gradient { + GradientStop { position: 0.0; color: "blue" } + GradientStop { position: 1.0; color: "lightblue" } + } + + MouseArea { + id: mouseArea + anchors.fill: parent + onClicked: container.clicked(); + } + + Text { + id: buttonLabel + anchors.centerIn: container + color: "white" + text: container.text + } +} diff --git a/tests/buttonclick/data/tst_buttonclick.qml b/tests/buttonclick/data/tst_buttonclick.qml new file mode 100644 index 0000000..89e223b --- /dev/null +++ b/tests/buttonclick/data/tst_buttonclick.qml @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 1.0 +import QtTest 1.0 + +Button { + id: button + onClicked: text = "Clicked" + TestCase { + name: "ClickTest" + + function test_click() { + button.clicked(); + compare(button.text, "Clicked"); + } + } +} diff --git a/tests/buttonclick/tst_buttonclick.cpp b/tests/buttonclick/tst_buttonclick.cpp new file mode 100644 index 0000000..d728d63 --- /dev/null +++ b/tests/buttonclick/tst_buttonclick.cpp @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qdeclarativetest.h" + +QTEST_QUICK_MAIN(buttonclick) diff --git a/tests/tests.pro b/tests/tests.pro index 5e7b986..f13f49f 100644 --- a/tests/tests.pro +++ b/tests/tests.pro @@ -1,7 +1,8 @@ TEMPLATE = subdirs SUBDIRS += \ qdeclarativebinding \ - qdeclarativeborderimage + qdeclarativeborderimage \ + buttonclick # This test fails, so don't run it by default #SUBDIRS += qmlexample -- cgit v1.2.3