Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change-Id: I558821c0dec9166ea1d0d2e1e2f889553c436316 Task-number:QTBUG-16082
- Loading branch information
1 parent
9bf28fb
commit daf671b
Showing
51 changed files
with
6,819 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
/**************************************************************************** | ||
** | ||
** 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 documentation of the Qt Toolkit. | ||
** | ||
** $QT_BEGIN_LICENSE:FDL$ | ||
** 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 Free Documentation License | ||
** Alternatively, this file may be used under the terms of the GNU Free | ||
** Documentation License version 1.3 as published by the Free Software | ||
** Foundation and appearing in the file included in the packaging of this | ||
** file. | ||
** | ||
** If you have questions regarding the use of this file, please contact | ||
** Nokia at qt-info@nokia.com. | ||
** $QT_END_LICENSE$ | ||
** | ||
****************************************************************************/ | ||
|
||
/*! | ||
\page qmltest.html | ||
\title QtQuickTest Reference Documentation | ||
\keyword QtQuickTest Reference Documentation | ||
|
||
\section1 Introduction | ||
|
||
QtQuickTest is a unit test framework for Qt Quick (QML) applications. | ||
Test cases are written as JavaScript functions within a TestCase | ||
element: | ||
|
||
\code | ||
import QtQuick 2.0 | ||
import QtTest 1.0 | ||
|
||
TestCase { | ||
name: "MathTests" | ||
|
||
function test_math() { | ||
compare(2 + 2, 4, "2 + 2 = 4") | ||
} | ||
|
||
function test_fail() { | ||
compare(2 + 2, 5, "2 + 2 = 5") | ||
} | ||
} | ||
\endcode | ||
|
||
Functions whose names start with \c{test_} are treated as test cases | ||
to be executed. See the documentation for the \l TestCase and | ||
\l SignalSpy elements for more information on writing test cases. | ||
|
||
\section1 Running tests | ||
|
||
Test cases are launched by a C++ harness that consists of | ||
the following code: | ||
|
||
\code | ||
#include <QtQuickTest/quicktest.h> | ||
QUICK_TEST_MAIN(example) | ||
\endcode | ||
|
||
Where "example" is an identifier to use to uniquely identify | ||
this set of tests. You should add \c{CONFIG += qmltestcase}. | ||
for example: | ||
|
||
\code | ||
TEMPLATE = app | ||
TARGET = tst_example | ||
CONFIG += warn_on qmltestcase | ||
SOURCES += tst_example.cpp | ||
\endcode | ||
|
||
The test harness scans the specified source directory recursively | ||
for "tst_*.qml" files. If \c{QUICK_TEST_SOURCE_DIR} is not defined, | ||
then the current directory will be scanned when the harness is run. | ||
Other *.qml files may appear for auxillary QML components that are | ||
used by the test. | ||
|
||
The \c{-input} command-line option can be set at runtime to run | ||
test cases from a different directory. This may be needed to run | ||
tests on a target device where the compiled-in directory name refers | ||
to a host. For example: | ||
|
||
\code | ||
tst_example -input /mnt/SDCard/qmltests | ||
\endcode | ||
|
||
See \c{tests/qmlauto} in the source tree for an example of creating a | ||
test harness that uses the \c{QUICK_TEST_SOURCE_DIR} macro. | ||
|
||
If your test case needs QML imports, then you can add them as | ||
\c{-import} options to the the test program command-line by adding | ||
the following line to your .pro file: | ||
|
||
\code | ||
IMPORTPATH += $$PWD/../imports/my_module1 $$PWD/../imports/my_module2 | ||
\endcode | ||
|
||
\section1 Running tests with QtQuick 1 | ||
|
||
The \c{-qtquick1} option can be passed to a test binary to run | ||
the tests using QDeclarativeView (QtQuick 1) rather than QSGView (QtQuick 2): | ||
|
||
\code | ||
tst_example -qtquick1 | ||
\endcode | ||
|
||
To run tests with either QtQuick 1 or QtQuick 2, use | ||
"import QtQuick 1.0" in your unit tests and then specify | ||
compatibility mode to the QtQuick2 engine: | ||
|
||
\code | ||
QMLSCENE_IMPORT_NAME=quick1 tst_example | ||
\endcode | ||
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
TEMPLATE = subdirs | ||
SUBDIRS += declarative | ||
contains(QT_CONFIG, qmltest): SUBDIRS += qmltest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
TEMPLATE=app | ||
TARGET=tst_qmltestexample | ||
CONFIG += qmltestcase | ||
SOURCES += tst_qmltest.cpp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
/**************************************************************************** | ||
** | ||
** 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 2.0 | ||
import QtTest 1.0 | ||
|
||
TestCase { | ||
name: "BasicTests" | ||
|
||
function test_pass() { | ||
compare(2 + 2, 4, "2 + 2") | ||
} | ||
|
||
function test_fail() { | ||
compare(2 + 2, 5, "2 + 2") | ||
} | ||
|
||
function test_skip() { | ||
skip("skipping") | ||
} | ||
|
||
function test_expecting() { | ||
expectFail("", "this is the fail we wanted") | ||
verify(false) | ||
} | ||
|
||
function test_table_data() { | ||
return [ | ||
{tag: "2 + 2 = 4", a: 2, b: 2, answer: 4 }, | ||
{tag: "2 + 6 = 8", a: 2, b: 6, answer: 8 }, | ||
{tag: "2 + 2 = 5", a: 2, b: 2, answer: 5 }, // fail | ||
] | ||
} | ||
|
||
function test_table(data) { | ||
compare(data.a + data.b, data.answer) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
/**************************************************************************** | ||
** | ||
** 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 2.0 | ||
import QtTest 1.0 | ||
|
||
Rectangle { | ||
id: foo | ||
width: 640; height: 480 | ||
color: "cyan" | ||
|
||
TestCase { | ||
name: "ItemTests" | ||
id: test1 | ||
|
||
function test_color() { | ||
compare(foo.color, "#00ffff") | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
/**************************************************************************** | ||
** | ||
** 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 <QtQuickTest/quicktest.h> | ||
QUICK_TEST_MAIN(qmltest) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
QT.qmltest.VERSION = 5.0.0 | ||
QT.qmltest.MAJOR_VERSION = 5 | ||
QT.qmltest.MINOR_VERSION = 0 | ||
QT.qmltest.PATCH_VERSION = 0 | ||
|
||
QT.qmltest.name = QtQuickTest | ||
QT.qmltest.bins = $$QT_MODULE_BIN_BASE | ||
QT.qmltest.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtQuickTest | ||
QT.qmltest.private_includes = $$QT_MODULE_INCLUDE_BASE/QtQuickTest/$$QT.qmltest.VERSION | ||
QT.qmltest.sources = $$QT_MODULE_BASE/src/qmltest | ||
QT.qmltest.libs = $$QT_MODULE_LIB_BASE | ||
QT.qmltest.plugins = $$QT_MODULE_PLUGIN_BASE | ||
QT.qmltest.imports = $$QT_MODULE_IMPORT_BASE | ||
QT.qmltest.depends = declarative testlib | ||
QT.qmltest.DEFINES = QT_DECLARATIVE_LIB | ||
|
||
QT_CONFIG += qmltest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
TEMPLATE = subdirs | ||
|
||
SUBDIRS += folderlistmodel particles gestures inputcontext etcprovider | ||
contains(QT_CONFIG, qmltest): SUBDIRS += testlib | ||
|
Oops, something went wrong.