/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Charts module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:GPL$ ** 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 General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 or (at your option) any later version ** approved by the KDE Free Qt Foundation. The licenses are as published by ** the Free Software Foundation and appearing in the file LICENSE.GPL3 ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #include #include #include #include "tst_definitions.h" class tst_qml : public QObject { Q_OBJECT public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: void checkPlugin_data(); void checkPlugin(); private: QString componentErrors(const QQmlComponent* component) const; QString imports_1_1(); QString imports_1_3(); QString imports_1_4(); QString imports_2_0(); QString imports_2_1(); }; QString tst_qml::componentErrors(const QQmlComponent* component) const { Q_ASSERT(component); QStringList errors; foreach (QQmlError const& error, component->errors()) { errors << error.toString(); } return errors.join("\n"); } QString tst_qml::imports_1_1() { return "import QtQuick 2.0 \n" "import QtCharts 1.1 \n"; } QString tst_qml::imports_1_3() { return "import QtQuick 2.0 \n" "import QtCharts 1.3 \n"; } QString tst_qml::imports_1_4() { return "import QtQuick 2.0 \n" "import QtCharts 1.4 \n"; } QString tst_qml::imports_2_0() { return "import QtQuick 2.0 \n" "import QtCharts 2.0 \n"; } QString tst_qml::imports_2_1() { return "import QtQuick 2.1 \n" "import QtCharts 2.1 \n"; } void tst_qml::initTestCase() { } void tst_qml::cleanupTestCase() { } void tst_qml::init() { } void tst_qml::cleanup() { } void tst_qml::checkPlugin_data() { QTest::addColumn("source"); QTest::newRow("createChartView") << imports_1_1() + "ChartView{}"; QTest::newRow("XYPoint") << imports_1_1() + "XYPoint{}"; QTest::newRow("scatterSeries") << imports_1_1() + "ScatterSeries{}"; QTest::newRow("lineSeries") << imports_1_1() + "LineSeries{}"; QTest::newRow("splineSeries") << imports_1_1() + "SplineSeries{}"; QTest::newRow("areaSeries") << imports_1_1() + "AreaSeries{}"; QTest::newRow("barSeries") << imports_1_1() + "BarSeries{}"; QTest::newRow("stackedBarSeries") << imports_1_1() + "StackedBarSeries{}"; QTest::newRow("precentBarSeries") << imports_1_1() + "PercentBarSeries{}"; QTest::newRow("horizonatlBarSeries") << imports_1_1() + "HorizontalBarSeries{}"; QTest::newRow("horizonatlStackedBarSeries") << imports_1_1() + "HorizontalStackedBarSeries{}"; QTest::newRow("horizonatlstackedBarSeries") << imports_1_1() + "HorizontalPercentBarSeries{}"; QTest::newRow("pieSeries") << imports_1_1() + "PieSeries{}"; QTest::newRow("PieSlice") << imports_1_1() + "PieSlice{}"; QTest::newRow("BarSet") << imports_1_1() + "BarSet{}"; QTest::newRow("HXYModelMapper") << imports_1_1() + "HXYModelMapper{}"; QTest::newRow("VXYModelMapper") << imports_1_1() + "VXYModelMapper{}"; QTest::newRow("HPieModelMapper") << imports_1_1() + "HPieModelMapper{}"; QTest::newRow("HPieModelMapper") << imports_1_1() + "HPieModelMapper{}"; QTest::newRow("HBarModelMapper") << imports_1_1() + "HBarModelMapper{}"; QTest::newRow("VBarModelMapper") << imports_1_1() + "VBarModelMapper{}"; QTest::newRow("ValueAxis") << imports_1_1() + "ValueAxis{}"; #ifndef QT_QREAL_IS_FLOAT QTest::newRow("DateTimeAxis") << imports_1_1() + "DateTimeAxis{}"; #endif QTest::newRow("CategoryAxis") << imports_1_1() + "CategoryAxis{}"; QTest::newRow("CategoryRange") << imports_1_1() + "CategoryRange{}"; QTest::newRow("BarCategoryAxis") << imports_1_1() + "BarCategoryAxis{}"; QTest::newRow("createPolarChartView") << imports_1_3() + "PolarChartView{}"; QTest::newRow("LogValueAxis") << imports_1_3() + "LogValueAxis{}"; QTest::newRow("BoxPlotSeries") << imports_1_3() + "BoxPlotSeries{}"; QTest::newRow("BoxSet") << imports_1_3() + "BoxSet{}"; QTest::newRow("createChartView_2_0") << imports_2_0() + "ChartView{}"; QTest::newRow("XYPoint_2_0") << imports_2_0() + "XYPoint{}"; QTest::newRow("scatterSeries_2_0") << imports_2_0() + "ScatterSeries{}"; QTest::newRow("lineSeries_2_0") << imports_2_0() + "LineSeries{}"; QTest::newRow("splineSeries_2_0") << imports_2_0() + "SplineSeries{}"; QTest::newRow("areaSeries_2_0") << imports_2_0() + "AreaSeries{}"; QTest::newRow("barSeries_2_0") << imports_2_0() + "BarSeries{}"; QTest::newRow("stackedBarSeries_2_0") << imports_2_0() + "StackedBarSeries{}"; QTest::newRow("precentBarSeries_2_0") << imports_2_0() + "PercentBarSeries{}"; QTest::newRow("horizonatlBarSeries_2_0") << imports_2_0() + "HorizontalBarSeries{}"; QTest::newRow("horizonatlStackedBarSeries_2_0") << imports_2_0() + "HorizontalStackedBarSeries{}"; QTest::newRow("horizonatlstackedBarSeries_2_0") << imports_2_0() + "HorizontalPercentBarSeries{}"; QTest::newRow("pieSeries_2_0") << imports_2_0() + "PieSeries{}"; QTest::newRow("PieSlice_2_0") << imports_2_0() + "PieSlice{}"; QTest::newRow("BarSet_2_0") << imports_2_0() + "BarSet{}"; QTest::newRow("HXYModelMapper_2_0") << imports_2_0() + "HXYModelMapper{}"; QTest::newRow("VXYModelMapper_2_0") << imports_2_0() + "VXYModelMapper{}"; QTest::newRow("HPieModelMapper_2_0") << imports_2_0() + "HPieModelMapper{}"; QTest::newRow("HPieModelMapper_2_0") << imports_2_0() + "HPieModelMapper{}"; QTest::newRow("HBarModelMapper_2_0") << imports_2_0() + "HBarModelMapper{}"; QTest::newRow("VBarModelMapper_2_0") << imports_2_0() + "VBarModelMapper{}"; QTest::newRow("ValueAxis_2_0") << imports_2_0() + "ValueAxis{}"; #ifndef QT_QREAL_IS_FLOAT QTest::newRow("DateTimeAxis_2_0") << imports_2_0() + "DateTimeAxis{}"; #endif QTest::newRow("CategoryAxis_2_0") << imports_2_0() + "CategoryAxis{}"; QTest::newRow("CategoryRange_2_0") << imports_2_0() + "CategoryRange{}"; QTest::newRow("BarCategoryAxis_2_0") << imports_2_0() + "BarCategoryAxis{}"; QTest::newRow("createPolarChartView_2_0") << imports_2_0() + "PolarChartView{}"; QTest::newRow("LogValueAxis_2_0") << imports_2_0() + "LogValueAxis{}"; QTest::newRow("BoxPlotSeries_2_0") << imports_2_0() + "BoxPlotSeries{}"; QTest::newRow("BoxSet_2_0") << imports_2_0() + "BoxSet{}"; QTest::newRow("CategoryAxis_2_1") << imports_2_1() + "CategoryAxis{}"; QTest::newRow("ScatterSeries_2_1") << imports_2_1() + "ScatterSeries{}"; QTest::newRow("LineSeries_2_1") << imports_2_1() + "LineSeries{}"; QTest::newRow("SplineSeries_2_1") << imports_2_1() + "SplineSeries{}"; } void tst_qml::checkPlugin() { QFETCH(QString, source); QQmlEngine engine; engine.addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QLatin1String("qml"))); QQmlComponent component(&engine); component.setData(source.toLatin1(), QUrl()); QVERIFY2(!component.isError(), qPrintable(componentErrors(&component))); TRY_COMPARE(component.status(), QQmlComponent::Ready); QObject *obj = component.create(); QVERIFY(obj != 0); delete obj; } QTEST_MAIN(tst_qml) #include "tst_qml.moc"