aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/debugger/qqmlinspector
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/debugger/qqmlinspector')
-rw-r--r--tests/auto/qml/debugger/qqmlinspector/data/window.qml7
-rw-r--r--tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp38
2 files changed, 44 insertions, 1 deletions
diff --git a/tests/auto/qml/debugger/qqmlinspector/data/window.qml b/tests/auto/qml/debugger/qqmlinspector/data/window.qml
new file mode 100644
index 0000000000..29eaced121
--- /dev/null
+++ b/tests/auto/qml/debugger/qqmlinspector/data/window.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+import QtQuick.Window 2.0
+
+Window {
+ height: 100
+ width: 100
+}
diff --git a/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp b/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp
index f1a6c23a3f..5848b42028 100644
--- a/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp
+++ b/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp
@@ -67,6 +67,8 @@ public:
{
}
+private:
+ void startQmlsceneProcess(const char *qmlFile);
private:
QQmlDebugProcess *m_process;
@@ -80,9 +82,10 @@ private slots:
void connect();
void showAppOnTop();
void reloadQml();
+ void reloadQmlWindow();
};
-void tst_QQmlInspector::init()
+void tst_QQmlInspector::startQmlsceneProcess(const char *qmlFile)
{
const QString argument = "-qmljsdebugger=port:" STR_PORT ",block";
@@ -97,6 +100,10 @@ void tst_QQmlInspector::init()
m_connection->connectToHost(QLatin1String("127.0.0.1"), PORT);
}
+void tst_QQmlInspector::init()
+{
+}
+
void tst_QQmlInspector::cleanup()
{
if (QTest::currentTestFailed()) {
@@ -110,11 +117,13 @@ void tst_QQmlInspector::cleanup()
void tst_QQmlInspector::connect()
{
+ startQmlsceneProcess("qtquick2.qml");
QTRY_COMPARE(m_client->state(), QQmlDebugClient::Enabled);
}
void tst_QQmlInspector::showAppOnTop()
{
+ startQmlsceneProcess("qtquick2.qml");
QTRY_COMPARE(m_client->state(), QQmlDebugClient::Enabled);
m_client->setShowAppOnTop(true);
@@ -128,6 +137,7 @@ void tst_QQmlInspector::showAppOnTop()
void tst_QQmlInspector::reloadQml()
{
+ startQmlsceneProcess("qtquick2.qml");
QTRY_COMPARE(m_client->state(), QQmlDebugClient::Enabled);
QByteArray fileContents;
@@ -150,6 +160,32 @@ void tst_QQmlInspector::reloadQml()
QCOMPARE(m_client->m_reloadRequestId, m_client->m_responseId);
}
+void tst_QQmlInspector::reloadQmlWindow()
+{
+ startQmlsceneProcess("window.qml");
+ QTRY_COMPARE(m_client->state(), QQmlDebugClient::Enabled);
+
+ QByteArray fileContents;
+
+ QFile file(testFile("changes.txt"));
+ if (file.open(QFile::ReadOnly))
+ fileContents = file.readAll();
+ file.close();
+
+ QHash<QString, QByteArray> changesHash;
+ changesHash.insert("window.qml", fileContents);
+
+ m_client->reloadQml(changesHash);
+ QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(responseReceived())));
+
+ QEXPECT_FAIL("", "cannot debug with a QML file containing a top-level Window", Abort);
+ QTRY_COMPARE(m_process->output().contains(
+ QString("version 2.0")), true);
+
+ QCOMPARE(m_client->m_requestResult, true);
+ QCOMPARE(m_client->m_reloadRequestId, m_client->m_responseId);
+}
+
QTEST_MAIN(tst_QQmlInspector)
#include "tst_qqmlinspector.moc"