From b855240b782395f94315f43ea3e7e182299fac48 Mon Sep 17 00:00:00 2001 From: Matthew Vogt Date: Thu, 16 Feb 2012 14:43:03 +1000 Subject: Rename QDeclarative symbols to QQuick and QQml Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones --- tests/auto/qml/debugger/qqmlinspector/app/app.pro | 9 + tests/auto/qml/debugger/qqmlinspector/app/main.cpp | 71 ++++++++ .../qml/debugger/qqmlinspector/app/qtquick2.qml | 5 + .../qml/debugger/qqmlinspector/qqmlinspector.pro | 3 + .../debugger/qqmlinspector/tst_qqmlinspector.cpp | 186 +++++++++++++++++++++ .../debugger/qqmlinspector/tst_qqmlinspector.pro | 12 ++ 6 files changed, 286 insertions(+) create mode 100644 tests/auto/qml/debugger/qqmlinspector/app/app.pro create mode 100644 tests/auto/qml/debugger/qqmlinspector/app/main.cpp create mode 100644 tests/auto/qml/debugger/qqmlinspector/app/qtquick2.qml create mode 100644 tests/auto/qml/debugger/qqmlinspector/qqmlinspector.pro create mode 100644 tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp create mode 100644 tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.pro (limited to 'tests/auto/qml/debugger/qqmlinspector') diff --git a/tests/auto/qml/debugger/qqmlinspector/app/app.pro b/tests/auto/qml/debugger/qqmlinspector/app/app.pro new file mode 100644 index 0000000000..f6ef983735 --- /dev/null +++ b/tests/auto/qml/debugger/qqmlinspector/app/app.pro @@ -0,0 +1,9 @@ +TARGET = app +QT += qml quick widgets + +CONFIG += declarative_debug +macx:CONFIG -= app_bundle + +SOURCES += main.cpp + +OTHER_FILES += qtquick1.qml qtquick2.qml diff --git a/tests/auto/qml/debugger/qqmlinspector/app/main.cpp b/tests/auto/qml/debugger/qqmlinspector/app/main.cpp new file mode 100644 index 0000000000..a7ef09c283 --- /dev/null +++ b/tests/auto/qml/debugger/qqmlinspector/app/main.cpp @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 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 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + QGuiApplication app(argc, argv); + + bool qtquick2 = true; + for (int i = 1; i < app.arguments().size(); ++i) { + const QString arg = app.arguments().at(i); + if (arg == "-qtquick1") { + qtquick2 = false; + } else if (arg == "-qtquick2") { + qtquick2 = true; + } else { + qWarning() << "Usage: " << app.arguments().at(0) << "[-qtquick1|-qtquick2]"; + return -1; + } + } + + if (qtquick2) { + QQuickView *view = new QQuickView(); + view->setSource(QUrl::fromLocalFile("app/qtquick2.qml")); + } else { + qWarning("No suitable QtQuick1 implementation is available!"); + } + return app.exec(); +} diff --git a/tests/auto/qml/debugger/qqmlinspector/app/qtquick2.qml b/tests/auto/qml/debugger/qqmlinspector/app/qtquick2.qml new file mode 100644 index 0000000000..9c36e13c5b --- /dev/null +++ b/tests/auto/qml/debugger/qqmlinspector/app/qtquick2.qml @@ -0,0 +1,5 @@ +import QtQuick 2.0 + +Item { + +} diff --git a/tests/auto/qml/debugger/qqmlinspector/qqmlinspector.pro b/tests/auto/qml/debugger/qqmlinspector/qqmlinspector.pro new file mode 100644 index 0000000000..5544f76581 --- /dev/null +++ b/tests/auto/qml/debugger/qqmlinspector/qqmlinspector.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs + +SUBDIRS += tst_qqmlinspector.pro app diff --git a/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp b/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp new file mode 100644 index 0000000000..4f74a036d6 --- /dev/null +++ b/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp @@ -0,0 +1,186 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 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 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include +#include +#include +#include +#include +#include + +#include "../../../../../src/plugins/qmltooling/shared/qqmlinspectorprotocol.h" +#include "../shared/debugutil_p.h" + +using namespace QmlJSDebugger; + +#define PORT 13772 +#define STR_PORT "13772" + +class QQmlInspectorClient : public QQmlDebugClient +{ + Q_OBJECT + +public: + QQmlInspectorClient(QQmlDebugConnection *connection) + : QQmlDebugClient(QLatin1String("QQmlObserverMode"), connection) + , m_showAppOnTop(false) + { + } + + bool showAppOnTop() const { return m_showAppOnTop; } + void setShowAppOnTop(bool showOnTop); + +signals: + void showAppOnTopChanged(); + +protected: + void messageReceived(const QByteArray &message); + +private: + bool m_showAppOnTop; +}; + +class tst_QQmlInspector : public QObject +{ + Q_OBJECT + +public: + tst_QQmlInspector() + : m_process(0) + , m_connection(0) + , m_client(0) + { + } + + +private: + QQmlDebugProcess *m_process; + QQmlDebugConnection *m_connection; + QQmlInspectorClient *m_client; + +private slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + + void connect(); + void showAppOnTop(); +}; + + +void QQmlInspectorClient::setShowAppOnTop(bool showOnTop) +{ + QByteArray message; + QDataStream ds(&message, QIODevice::WriteOnly); + ds << InspectorProtocol::ShowAppOnTop << showOnTop; + + sendMessage(message); +} + +void QQmlInspectorClient::messageReceived(const QByteArray &message) +{ + QDataStream ds(message); + InspectorProtocol::Message type; + ds >> type; + + switch (type) { + case InspectorProtocol::ShowAppOnTop: + ds >> m_showAppOnTop; + emit showAppOnTopChanged(); + break; + default: + qDebug() << "Unhandled message " << (int)type; + } +} + +void tst_QQmlInspector::initTestCase() +{ +} + +void tst_QQmlInspector::cleanupTestCase() +{ +} + +void tst_QQmlInspector::init() +{ + const QString executable = SRCDIR"/app/app"; + const QString argument = "-qmljsdebugger=port:"STR_PORT",block"; + + m_process = new QQmlDebugProcess(executable); + m_process->start(QStringList() << argument); + if (!m_process->waitForSessionStart()) { + QFAIL(QString("Could not launch app '%1'.\nApplication output:\n%2").arg(executable, m_process->output()).toAscii()); + } + + QQmlDebugConnection *m_connection = new QQmlDebugConnection(); + m_client = new QQmlInspectorClient(m_connection); + + m_connection->connectToHost(QLatin1String("127.0.0.1"), PORT); +} + +void tst_QQmlInspector::cleanup() +{ + delete m_process; + delete m_connection; + delete m_client; +} + +void tst_QQmlInspector::connect() +{ + QTRY_COMPARE(m_client->state(), QQmlDebugClient::Enabled); +} + +void tst_QQmlInspector::showAppOnTop() +{ + QTRY_COMPARE(m_client->state(), QQmlDebugClient::Enabled); + + m_client->setShowAppOnTop(true); + QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(showAppOnTopChanged()))); + QCOMPARE(m_client->showAppOnTop(), true); + + m_client->setShowAppOnTop(false); + QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(showAppOnTopChanged()))); + QCOMPARE(m_client->showAppOnTop(), false); +} + +QTEST_MAIN(tst_QQmlInspector) + +#include "tst_qqmlinspector.moc" diff --git a/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.pro b/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.pro new file mode 100644 index 0000000000..010e97cef7 --- /dev/null +++ b/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.pro @@ -0,0 +1,12 @@ +CONFIG += testcase +TARGET = tst_qqmlinspector +macx:CONFIG -= app_bundle + +HEADERS += ../shared/debugutil_p.h +SOURCES += tst_qqmlinspector.cpp \ + ../shared/debugutil.cpp + +DEFINES += SRCDIR=\\\"$$PWD\\\" +CONFIG += parallel_test declarative_debug + +QT += qml-private testlib -- cgit v1.2.3