summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2016-06-06 18:07:18 +0200
committerUlf Hermann <ulf.hermann@qt.io>2016-06-10 09:02:44 +0000
commit0c0cb4b0438de0c798163b50e641b3a7144fc76b (patch)
tree30a85127478d4204ff14b45b616d7bcf5221a81e
parent472745fb2eda6f1f35791583a7aeae369737e14f (diff)
downloadqt-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.qbs1
-rw-r--r--src/plugins/qmlprofiler/qmlprofilerplugin.cpp2
-rw-r--r--src/plugins/qmlprofiler/tests/qmleventlocation_test.cpp72
-rw-r--r--src/plugins/qmlprofiler/tests/qmleventlocation_test.h44
-rw-r--r--src/plugins/qmlprofiler/tests/tests.pri6
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