diff options
Diffstat (limited to 'src/qmltest/doc')
-rw-r--r-- | src/qmltest/doc/qtqmltest.qdocconf | 22 | ||||
-rw-r--r-- | src/qmltest/doc/snippets/src_qmltest_qquicktest.cpp | 81 | ||||
-rw-r--r-- | src/qmltest/doc/src/qtquicktest-cppapi.qdoc | 59 | ||||
-rw-r--r-- | src/qmltest/doc/src/qtquicktest-index.qdoc | 46 | ||||
-rw-r--r-- | src/qmltest/doc/src/qtquicktest-qmltypes.qdoc | 46 | ||||
-rw-r--r-- | src/qmltest/doc/src/qtquicktest.qdoc | 79 |
6 files changed, 291 insertions, 42 deletions
diff --git a/src/qmltest/doc/qtqmltest.qdocconf b/src/qmltest/doc/qtqmltest.qdocconf index a819546fba..9a3e16b64d 100644 --- a/src/qmltest/doc/qtqmltest.qdocconf +++ b/src/qmltest/doc/qtqmltest.qdocconf @@ -15,28 +15,28 @@ qhp.QtQmlTest.indexRoot = qhp.QtQmlTest.filterAttributes = qtqmltest $QT_VERSION qtrefdoc qhp.QtQmlTest.customFilters.Qt.name = QtQmlTest $QT_VERSION qhp.QtQmlTest.customFilters.Qt.filterAttributes = qtqmltest $QT_VERSION -qhp.QtQmlTest.subprojects = qmltypes classes examples -qhp.QtQmlTest.subprojects.classes.title = C++ Classes -qhp.QtQmlTest.subprojects.classes.indexTitle = Qt Quick Test C++ Classes -qhp.QtQmlTest.subprojects.classes.selectors = class doc:headerfile + +qhp.QtQmlTest.subprojects = qmltypes classes +qhp.QtQmlTest.subprojects.classes.title = C++ API +qhp.QtQmlTest.subprojects.classes.indexTitle = Qt Quick Test C++ API +qhp.QtQmlTest.subprojects.classes.selectors = class namespace doc:headerfile qhp.QtQmlTest.subprojects.classes.sortPages = true -qhp.QtQmlTest.subprojects.examples.title = Examples -qhp.QtQmlTest.subprojects.examples.indexTitle = Qt Quick Test Examples -qhp.QtQmlTest.subprojects.examples.selectors = doc:example qhp.QtQmlTest.subprojects.qmltypes.title = QML Types qhp.QtQmlTest.subprojects.qmltypes.indexTitle = Qt Quick Test QML Types qhp.QtQmlTest.subprojects.qmltypes.selectors = qmlclass qhp.QtQmlTest.subprojects.qmltypes.sortPages = true - -tagfile = ../../../doc/qtqmltest/qtqmltest.tags +tagfile = qtqmltest.tags depends += qtcore qtgui qttestlib qtqml qtquick qtdoc headerdirs += .. -sourcedirs += .. +sourcedirs += .. \ + ../../imports/testlib + +exampledirs += snippets navigation.landingpage = "Qt Quick Test" -navigation.cppclassespage = "Qt Quick Test C++ Classes" +navigation.cppclassespage = "Qt Quick Test C++ API" navigation.qmltypespage = "Qt Quick Test QML Types" diff --git a/src/qmltest/doc/snippets/src_qmltest_qquicktest.cpp b/src/qmltest/doc/snippets/src_qmltest_qquicktest.cpp new file mode 100644 index 0000000000..191f693a9a --- /dev/null +++ b/src/qmltest/doc/snippets/src_qmltest_qquicktest.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, 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 The Qt Company Ltd 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$ +** +****************************************************************************/ + +//! [1] +//! [0] +#include <QtQuickTest> +//! [0] +QUICK_TEST_MAIN(example) +//! [1] + +//! [2] +// tst_mytest.cpp +#include <QtQuickTest> +#include <QQmlEngine> +#include <QQmlContext> + +class Setup : public QObject +{ + Q_OBJECT + +public: + Setup() {} + +public slots: + void qmlEngineAvailable(QQmlEngine *engine) + { + engine->rootContext()->setContextProperty("myContextProperty", QVariant(true)); + } +}; + +QUICK_TEST_MAIN_WITH_SETUP(mytest, Setup) + +#include "tst_mytest.moc" +//! [2] diff --git a/src/qmltest/doc/src/qtquicktest-cppapi.qdoc b/src/qmltest/doc/src/qtquicktest-cppapi.qdoc new file mode 100644 index 0000000000..0e5dab8887 --- /dev/null +++ b/src/qmltest/doc/src/qtquicktest-cppapi.qdoc @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** 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. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \module QtQuickTest + \keyword Qt Quick Test C++ API + \title Qt Quick Test C++ API + \ingroup modules + + \brief Provides macros and functions for tests. + + The C++ macros and functions can be included into your application using + the following include statement: + + \snippet src_qmltest_qquicktest.cpp 0 + + There are two ways to link against the corresponding C++ library. If your + test project uses a QML \l TestCase, you should already have the following + line in your project file: + + \badcode + CONFIG += qmltestcase + \endcode + + This will cause the test to link to the C++ \QtQuickTest library. + + If you have a C++-only test project, you can add the following line + to your project file: + + \badcode + QT += qmltest + \endcode + + \sa {Executing C++ Before QML Tests} +*/ diff --git a/src/qmltest/doc/src/qtquicktest-index.qdoc b/src/qmltest/doc/src/qtquicktest-index.qdoc index 4fad21e080..a7a840f2b3 100644 --- a/src/qmltest/doc/src/qtquicktest-index.qdoc +++ b/src/qmltest/doc/src/qtquicktest-index.qdoc @@ -30,6 +30,7 @@ \title Qt Quick Test \brief Unit testing framework for QML. + \target Introduction to Qt Quick Test \section1 Introduction \l {Qt Quick Test QML Types}{Qt Quick Test} is a unit test framework for QML applications. @@ -62,15 +63,13 @@ only guaranteed to work with the Qt version it was developed against. However, source compatibility is guaranteed. + \target Running Qt Quick Tests \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 + \snippet src_qmltest_qquicktest.cpp 1 Where "example" is the identifier to use to uniquely identify this set of tests. Finally, add \c{CONFIG += qmltestcase} to the project @@ -139,7 +138,7 @@ \section1 Executing C++ Before QML Tests To execute C++ code before any of the QML tests are run, the - \c QUICK_TEST_MAIN_WITH_SETUP macro can be used. This can be useful for + \l QUICK_TEST_MAIN_WITH_SETUP macro can be used. This can be useful for setting context properties on the QML engine, amongst other things. The macro is identical to \c QUICK_TEST_MAIN, except that it takes an @@ -152,13 +151,13 @@ \li Purpose \li Since \row - \li void applicationAvailable() + \li \c {void applicationAvailable()} \li Called right after the QApplication object was instantiated. Use this function to perform setup that does not require a \l QQmlEngine instance. \li Qt 5.12 \row - \li void qmlEngineAvailable(QQmlEngine*) + \li \c {void qmlEngineAvailable(QQmlEngine *)} \li Called when the QML engine is available. Any \l {QQmlEngine::addImportPath}{import paths}, \l {QQmlEngine::addPluginPath}{plugin paths}, @@ -175,7 +174,7 @@ amongst other things. \li Qt 5.11 \row - \li void cleanupTestCase() + \li \c {void cleanupTestCase()} \li Called right after the test execution has finished. Use this function to clean up before everything will start to be destructed. \li Qt 5.12 @@ -184,29 +183,7 @@ The following example demonstrates how the macro can be used to set context properties on the QML engine: - \code - #include <QtQuickTest> - #include <QQmlEngine> - #include <QQmlContext> - - class Setup : public QObject - { - Q_OBJECT - - public: - Setup() {} - - public slots: - void qmlEngineAvailable(QQmlEngine *engine) - { - engine->rootContext()->setContextProperty("myContextProperty", QVariant(true)); - } - }; - - QUICK_TEST_MAIN_WITH_SETUP(mytest, Setup) - - #include "tst_mytest.moc" - \endcode + \snippet src_qmltest_qquicktest.cpp 2 The \c .moc include is based on the file name of the \c .cpp file. For example, in the example above, the \c .cpp file is named @@ -217,6 +194,13 @@ #include "MyTest.moc" \endcode + \section1 Reference + + \list + \li \l{Qt Quick Test QML Types}{QML Types} + \li \l{Qt Quick Test C++ API}{C++ API} + \endlist + \section1 Licenses Qt Quick Tests is available under commercial licenses from \l{The Qt Company}. diff --git a/src/qmltest/doc/src/qtquicktest-qmltypes.qdoc b/src/qmltest/doc/src/qtquicktest-qmltypes.qdoc new file mode 100644 index 0000000000..0ed8c6faa0 --- /dev/null +++ b/src/qmltest/doc/src/qtquicktest-qmltypes.qdoc @@ -0,0 +1,46 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** 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. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \qmlmodule QtTest 1.\QtMinorVersion + \title Qt Quick Test QML Types + \brief Provides QML types to unit test your QML application. + \ingroup qmlmodules + + You can import this module using the following statement: + + \qml \QtMinorVersion + import QtTest 1.\1 + \endqml + + \section1 QML Types + \generatelist {qmltypesbymodule QtTest} + \noautolist + + For more information about how to use these types, see + \l{Qt Quick Test}. +*/ diff --git a/src/qmltest/doc/src/qtquicktest.qdoc b/src/qmltest/doc/src/qtquicktest.qdoc new file mode 100644 index 0000000000..31c097ed76 --- /dev/null +++ b/src/qmltest/doc/src/qtquicktest.qdoc @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2018 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** 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. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \namespace QQuickTest + \inmodule QtQuickTest + + \brief The QQuickTest namespace contains all the functions and + macros related to Qt Quick Test. + + See the \l{Introduction to Qt Quick Test} for information about how to write + Qt Quick unit tests. + + To link to the Qt Quick Test C++ library, see \l {Qt Quick Test C++ API}. + + \sa {Executing C++ Before QML Tests} +*/ + +/*! + \macro QUICK_TEST_MAIN(name) + \relates QQuickTest + + \brief Sets up the entry point for a Qt Quick Test application. + The \a name argument uniquely identifies this set of tests. + + \snippet src_qmltest_qquicktest.cpp 1 + + \note The macro assumes that your test sources are in the current + directory, unless the \c QUICK_TEST_SOURCE_DIR environment variable is set. + + \sa QUICK_TEST_MAIN_WITH_SETUP(), {Running Qt Quick Tests} + +*/ + +/*! + \macro QUICK_TEST_MAIN_WITH_SETUP(name, QuickTestSetupClass) + \relates QQuickTest + + \brief Sets up the entry point for a Qt Quick Test application. + The \a name argument uniquely identifies this set of tests. + + This macro is identical to QUICK_TEST_MAIN(), except that it takes an + additional argument \a QuickTestSetupClass, a pointer to a QObject-derived + class. With this class it is possible to define additional setup code to + execute before running the QML test. + + \note The macro assumes that your test sources are in the current + directory, unless the \c QUICK_TEST_SOURCE_DIR environment variable is set. + + The following snippet demonstrates the use of this macro: + + \snippet src_qmltest_qquicktest.cpp 2 + + \sa QUICK_TEST_MAIN(), {Running Qt Quick Tests} +*/ |