diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2016-06-06 18:07:18 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2016-06-10 09:02:44 +0000 |
commit | 0c0cb4b0438de0c798163b50e641b3a7144fc76b (patch) | |
tree | 30a85127478d4204ff14b45b616d7bcf5221a81e | |
parent | 472745fb2eda6f1f35791583a7aeae369737e14f (diff) | |
download | qt-creator-0c0cb4b0438de0c798163b50e641b3a7144fc76b.tar.gz |
QmlProfiler: Add tests for QmlEventLocation
Change-Id: I3d35c87f194e298a57d361053ad5a35efedd67dd
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
-rw-r--r-- | src/plugins/qmlprofiler/qmlprofiler.qbs | 1 | ||||
-rw-r--r-- | src/plugins/qmlprofiler/qmlprofilerplugin.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qmlprofiler/tests/qmleventlocation_test.cpp | 72 | ||||
-rw-r--r-- | src/plugins/qmlprofiler/tests/qmleventlocation_test.h | 44 | ||||
-rw-r--r-- | src/plugins/qmlprofiler/tests/tests.pri | 6 |
5 files changed, 123 insertions, 2 deletions
diff --git a/src/plugins/qmlprofiler/qmlprofiler.qbs b/src/plugins/qmlprofiler/qmlprofiler.qbs index 7f56bd7091..c37f6b7828 100644 --- a/src/plugins/qmlprofiler/qmlprofiler.qbs +++ b/src/plugins/qmlprofiler/qmlprofiler.qbs @@ -86,6 +86,7 @@ QtcPlugin { "memoryusagemodel_test.cpp", "memoryusagemodel_test.h", "pixmapcachemodel_test.cpp", "pixmapcachemodel_test.h", "qmlevent_test.cpp", "qmlevent_test.h", + "qmleventlocation_test.cpp", "qmleventlocation_test.h", ] } } diff --git a/src/plugins/qmlprofiler/qmlprofilerplugin.cpp b/src/plugins/qmlprofiler/qmlprofilerplugin.cpp index 774e70e6d9..8bfc8c05d9 100644 --- a/src/plugins/qmlprofiler/qmlprofilerplugin.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerplugin.cpp @@ -39,6 +39,7 @@ #include "tests/memoryusagemodel_test.h" #include "tests/pixmapcachemodel_test.h" #include "tests/qmlevent_test.h" +#include "tests/qmleventlocation_test.h" #endif #include <extensionsystem/pluginmanager.h> @@ -95,6 +96,7 @@ QList<QObject *> QmlProfiler::Internal::QmlProfilerPlugin::createTestObjects() c tests << new MemoryUsageModelTest; tests << new PixmapCacheModelTest; tests << new QmlEventTest; + tests << new QmlEventLocationTest; #endif return tests; } diff --git a/src/plugins/qmlprofiler/tests/qmleventlocation_test.cpp b/src/plugins/qmlprofiler/tests/qmleventlocation_test.cpp new file mode 100644 index 0000000000..4321e69b20 --- /dev/null +++ b/src/plugins/qmlprofiler/tests/qmleventlocation_test.cpp @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** 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 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** 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. +** +****************************************************************************/ + +#include "qmleventlocation_test.h" + +#include <qmlprofiler/qmleventlocation.h> +#include <QtTest> + +namespace QmlProfiler { +namespace Internal { + +QmlEventLocationTest::QmlEventLocationTest(QObject *parent) : QObject(parent) +{ +} + +void QmlEventLocationTest::testCtor() +{ + QmlEventLocation location; + QVERIFY(!location.isValid()); + + QmlEventLocation location2("blah.qml", 2, 3); + QVERIFY(location2.isValid()); + QCOMPARE(location2.filename(), QString("blah.qml")); + QCOMPARE(location2.line(), 2); + QCOMPARE(location2.column(), 3); +} + +void QmlEventLocationTest::testStreamOps() +{ + QmlEventLocation location("socken.js", 12, 13); + + QBuffer wbuffer; + wbuffer.open(QIODevice::WriteOnly); + QDataStream wstream(&wbuffer); + wstream << location; + + QBuffer rbuffer; + rbuffer.setData(wbuffer.data()); + rbuffer.open(QIODevice::ReadOnly); + QDataStream rstream(&rbuffer); + + QmlEventLocation location2; + QVERIFY(location != location2); + rstream >> location2; + + QCOMPARE(location2, location); +} + +} // namespace Internal +} // namespace QmlProfiler diff --git a/src/plugins/qmlprofiler/tests/qmleventlocation_test.h b/src/plugins/qmlprofiler/tests/qmleventlocation_test.h new file mode 100644 index 0000000000..5b86fcb3c2 --- /dev/null +++ b/src/plugins/qmlprofiler/tests/qmleventlocation_test.h @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** 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 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** 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. +** +****************************************************************************/ +#pragma once + +#include <QObject> + +namespace QmlProfiler { +namespace Internal { + +class QmlEventLocationTest : public QObject +{ + Q_OBJECT +public: + explicit QmlEventLocationTest(QObject *parent = 0); + +private slots: + void testCtor(); + void testStreamOps(); +}; + +} // namespace Internal +} // namespace QmlProfiler diff --git a/src/plugins/qmlprofiler/tests/tests.pri b/src/plugins/qmlprofiler/tests/tests.pri index 794d4675e8..6f938f8f81 100644 --- a/src/plugins/qmlprofiler/tests/tests.pri +++ b/src/plugins/qmlprofiler/tests/tests.pri @@ -7,7 +7,8 @@ SOURCES += \ $$PWD/localqmlprofilerrunner_test.cpp \ $$PWD/memoryusagemodel_test.cpp \ $$PWD/pixmapcachemodel_test.cpp \ - $$PWD/qmlevent_test.cpp + $$PWD/qmlevent_test.cpp \ + $$PWD/qmleventlocation_test.cpp HEADERS += \ $$PWD/debugmessagesmodel_test.h \ @@ -18,4 +19,5 @@ HEADERS += \ $$PWD/localqmlprofilerrunner_test.h \ $$PWD/memoryusagemodel_test.h \ $$PWD/pixmapcachemodel_test.h \ - $$PWD/qmlevent_test.h + $$PWD/qmlevent_test.h \ + $$PWD/qmleventlocation_test.h |