diff options
author | Mitch Curtis <mitch.curtis@theqtcompany.com> | 2015-02-12 13:55:22 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-02-13 12:01:33 +0000 |
commit | 6f15c206b069ed0fcf48a285bfcc4ad636927df0 (patch) | |
tree | 6150e262bc2d049219981a4cb1e1deeeeed5d636 /tests/benchmarks | |
parent | d28a02aec9a1632f2263d9276099454b33fb6741 (diff) | |
download | qtquickcontrols-6f15c206b069ed0fcf48a285bfcc4ad636927df0.tar.gz |
Import Qt Quick Extras (the former Qt Quick Enterprise Controls)
Change-Id: I59c5c97c564f707da4ce617e25e13ff8124f7d4b
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'tests/benchmarks')
5 files changed, 214 insertions, 0 deletions
diff --git a/tests/benchmarks/benchmarks.pro b/tests/benchmarks/benchmarks.pro new file mode 100644 index 00000000..0453716e --- /dev/null +++ b/tests/benchmarks/benchmarks.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +SUBDIRS = \ + statusindicator diff --git a/tests/benchmarks/statusindicator/LotsOfIndicatorsActive.qml b/tests/benchmarks/statusindicator/LotsOfIndicatorsActive.qml new file mode 100644 index 00000000..ff8424f2 --- /dev/null +++ b/tests/benchmarks/statusindicator/LotsOfIndicatorsActive.qml @@ -0,0 +1,58 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Quick Extras module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** 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 http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.2 +import QtQuick.Extras 1.3 + +Rectangle { + id: root + width: 240 + height: 240 + color: "#444" + + Repeater { + model: 50 + + delegate: StatusIndicator { + x: Math.floor(index % 10) * 8 + y: Math.floor(index / 10) * 8 + width: 8 + height: 8 + color: Qt.rgba(36 / 255, 141 / 255, 254 / 255) + active: true + } + } +} diff --git a/tests/benchmarks/statusindicator/LotsOfIndicatorsInactive.qml b/tests/benchmarks/statusindicator/LotsOfIndicatorsInactive.qml new file mode 100644 index 00000000..dd5a19a2 --- /dev/null +++ b/tests/benchmarks/statusindicator/LotsOfIndicatorsInactive.qml @@ -0,0 +1,58 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Quick Extras module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** 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 http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.2 +import QtQuick.Extras 1.3 + +Rectangle { + id: root + width: 240 + height: 240 + color: "#444" + + Repeater { + model: 50 + + delegate: StatusIndicator { + x: Math.floor(index % 10) * 8 + y: Math.floor(index / 10) * 8 + width: 8 + height: 8 + color: Qt.rgba(36 / 255, 141 / 255, 254 / 255) + active: false + } + } +} diff --git a/tests/benchmarks/statusindicator/statusindicator.pro b/tests/benchmarks/statusindicator/statusindicator.pro new file mode 100644 index 00000000..d66b5515 --- /dev/null +++ b/tests/benchmarks/statusindicator/statusindicator.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = tst_bench_statusindicator +QT = core quick testlib + +SOURCES += \ + tst_statusindicator.cpp + +OTHER_FILES += \ + LotsOfIndicatorsOn.qml \ + LotsOfIndicatorsOff.qml + +# Define SRCDIR equal to test's source directory +DEFINES += SRCDIR=\\\"$$PWD\\\" diff --git a/tests/benchmarks/statusindicator/tst_statusindicator.cpp b/tests/benchmarks/statusindicator/tst_statusindicator.cpp new file mode 100644 index 00000000..3aa7678a --- /dev/null +++ b/tests/benchmarks/statusindicator/tst_statusindicator.cpp @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Quick Extras module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** 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 http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtTest/QtTest> +#include <QtQml/QQmlComponent> +#include <QtQml/QQmlEngine> +#include <QtQuick/QQuickItem> +#include <QtQuick/QQuickWindow> + +class tst_StatusIndicator: public QObject +{ + Q_OBJECT +private Q_SLOTS: + void benchmarkCreation_data(); + void benchmarkCreation(); +}; + +void tst_StatusIndicator::benchmarkCreation_data() +{ + QTest::addColumn<bool>("active"); + + QTest::newRow("active") << true; + QTest::newRow("inactive") << false; +} + +void tst_StatusIndicator::benchmarkCreation() +{ + QFETCH(bool, active); + + QQuickWindow window; + window.resize(240, 240); + window.create(); + + QQmlEngine engine; + // TODO: fix + QString path = QString::fromLatin1(SRCDIR "/LotsOfIndicators%1.qml").arg(active ? "Active" : "Inactive"); + QQmlComponent component(&engine, QUrl::fromLocalFile(path)); + QVERIFY2(!component.isError(), qPrintable(component.errorString())); + QVERIFY(component.isReady()); + QBENCHMARK { + QQuickItem *root = qobject_cast<QQuickItem*>(component.create()); + root->setParentItem(window.contentItem()); + window.grabWindow(); + } +} + +QTEST_MAIN(tst_StatusIndicator) + +#include "tst_statusindicator.moc" |