summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-09-28 14:51:21 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-09-28 14:51:21 (GMT)
commitc8b99a9b0a10541503f3e5b49b016862c7bc3ae5 (patch)
tree249c0b51b3608d4c65e80bcca0346280f20ff9be /tests
parent8b533a7564c634e6e7228c5e02832d55513777b5 (diff)
parent9caae83e1f2b9c56ee86b8523391e6a83ea724c5 (diff)
downloadQt-c8b99a9b0a10541503f3e5b49b016862c7bc3ae5.zip
Qt-c8b99a9b0a10541503f3e5b49b016862c7bc3ae5.tar.gz
Qt-c8b99a9b0a10541503f3e5b49b016862c7bc3ae5.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: QDeclarativeDebugClient: Fix gcc warning QmlDebugService: Check that there is a receiver before sending messages If a type is registered under several names, share the attached property object QmlViewer: Fix typo in comment QmlViewer: Fix assert on exit (Windows) QDeclarativeDebugService: Add bc autotest Make QmlDebug protocol more robust Minimize parameter changes on glyph cache textures Only set maskTexture sampler uniform once Only repopulate the glyph cache when we know something could have changed Remove unnecessary attribute changes Invalidate QStaticText coord cache when texture size changes
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp60
-rw-r--r--tests/auto/declarative/qdeclarativedebugservice/private_headers/qdeclarativedebugservice_p.h92
-rw-r--r--tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro3
-rw-r--r--tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp43
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/sharedAttachedObject.qml16
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp1
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp11
-rw-r--r--tests/auto/declarative/shared/debugutil.cpp13
-rw-r--r--tests/auto/declarative/shared/debugutil_p.h8
10 files changed, 181 insertions, 71 deletions
diff --git a/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp b/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp
index adba190..dd58baf 100644
--- a/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp
+++ b/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp
@@ -324,13 +324,16 @@ void tst_QDeclarativeDebug::initTestCase()
bool ok = m_conn->waitForConnected();
Q_ASSERT(ok);
QTRY_VERIFY(QDeclarativeDebugService::hasDebuggingClient());
-
m_dbg = new QDeclarativeEngineDebug(m_conn, this);
+ QTRY_VERIFY(m_dbg->status() == QDeclarativeEngineDebug::Enabled);
}
void tst_QDeclarativeDebug::cleanupTestCase()
{
+ delete m_dbg;
+ delete m_conn;
qDeleteAll(m_components);
+ delete m_engine;
}
void tst_QDeclarativeDebug::setMethodBody()
diff --git a/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp b/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp
index 7db0e60..72af3eb 100644
--- a/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp
+++ b/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp
@@ -66,9 +66,7 @@ private slots:
void initTestCase();
void name();
- void isEnabled();
- void setEnabled();
- void isConnected();
+ void status();
void sendMessage();
};
@@ -96,46 +94,33 @@ void tst_QDeclarativeDebugClient::name()
QCOMPARE(client.name(), name);
}
-void tst_QDeclarativeDebugClient::isEnabled()
+void tst_QDeclarativeDebugClient::status()
{
- QDeclarativeDebugClient client("tst_QDeclarativeDebugClient::isEnabled()", m_conn);
- QCOMPARE(client.isEnabled(), false);
-}
+ {
+ QDeclarativeDebugConnection dummyConn;
+ QDeclarativeDebugClient client("tst_QDeclarativeDebugClient::status()", &dummyConn);
+ QCOMPARE(client.status(), QDeclarativeDebugClient::NotConnected);
+ }
-void tst_QDeclarativeDebugClient::setEnabled()
-{
- QDeclarativeDebugTestService service("tst_QDeclarativeDebugClient::setEnabled()");
- QDeclarativeDebugTestClient client("tst_QDeclarativeDebugClient::setEnabled()", m_conn);
+ QDeclarativeDebugTestClient client("tst_QDeclarativeDebugClient::status()", m_conn);
+ QCOMPARE(client.status(), QDeclarativeDebugClient::Unavailable);
- QCOMPARE(service.isEnabled(), false);
+ {
+ QDeclarativeDebugTestService service("tst_QDeclarativeDebugClient::status()");
+ QDeclarativeDebugTest::waitForSignal(&client, SIGNAL(statusHasChanged()));
+ QCOMPARE(client.status(), QDeclarativeDebugClient::Enabled);
+ }
+ QDeclarativeDebugTest::waitForSignal(&client, SIGNAL(statusHasChanged()));
- client.setEnabled(true);
- QCOMPARE(client.isEnabled(), true);
- QDeclarativeDebugTest::waitForSignal(&service, SIGNAL(enabledStateChanged()));
- QCOMPARE(service.isEnabled(), true);
-
- client.setEnabled(false);
- QCOMPARE(client.isEnabled(), false);
- QDeclarativeDebugTest::waitForSignal(&service, SIGNAL(enabledStateChanged()));
- QCOMPARE(service.isEnabled(), false);
-}
-
-void tst_QDeclarativeDebugClient::isConnected()
-{
- QDeclarativeDebugClient client1("tst_QDeclarativeDebugClient::isConnected() A", m_conn);
- QCOMPARE(client1.isConnected(), true);
-
- QDeclarativeDebugConnection conn;
- QDeclarativeDebugClient client2("tst_QDeclarativeDebugClient::isConnected() B", &conn);
- QCOMPARE(client2.isConnected(), false);
-
- QDeclarativeDebugClient client3("tst_QDeclarativeDebugClient::isConnected() C", 0);
- QCOMPARE(client3.isConnected(), false);
+ QCOMPARE(client.status(), QDeclarativeDebugClient::Unavailable);
// duplicate plugin name
- QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugClient: Conflicting plugin name \"tst_QDeclarativeDebugClient::isConnected() A\" ");
- QDeclarativeDebugClient client4("tst_QDeclarativeDebugClient::isConnected() A", m_conn);
- QCOMPARE(client4.isConnected(), false);
+ QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugClient: Conflicting plugin name \"tst_QDeclarativeDebugClient::status()\" ");
+ QDeclarativeDebugClient client2("tst_QDeclarativeDebugClient::status()", m_conn);
+ QCOMPARE(client2.status(), QDeclarativeDebugClient::NotConnected);
+
+ QDeclarativeDebugClient client3("tst_QDeclarativeDebugClient::status3()", 0);
+ QCOMPARE(client3.status(), QDeclarativeDebugClient::NotConnected);
}
void tst_QDeclarativeDebugClient::sendMessage()
@@ -145,6 +130,7 @@ void tst_QDeclarativeDebugClient::sendMessage()
QByteArray msg = "hello!";
+ QDeclarativeDebugTest::waitForSignal(&client, SIGNAL(statusHasChanged()));
client.sendMessage(msg);
QByteArray resp = client.waitForResponse();
QCOMPARE(resp, msg);
diff --git a/tests/auto/declarative/qdeclarativedebugservice/private_headers/qdeclarativedebugservice_p.h b/tests/auto/declarative/qdeclarativedebugservice/private_headers/qdeclarativedebugservice_p.h
new file mode 100644
index 0000000..0cadbe5
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativedebugservice/private_headers/qdeclarativedebugservice_p.h
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QDECLARATIVEDEBUGSERVICE_H
+#define QDECLARATIVEDEBUGSERVICE_H
+
+#include <QtCore/qobject.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Declarative)
+
+class QDeclarativeDebugServicePrivate;
+class Q_DECLARATIVE_EXPORT QDeclarativeDebugService : public QObject
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(QDeclarativeDebugService)
+ Q_DISABLE_COPY(QDeclarativeDebugService)
+
+public:
+ explicit QDeclarativeDebugService(const QString &, QObject *parent = 0);
+ ~QDeclarativeDebugService();
+
+ QString name() const;
+
+ enum Status { NotConnected, Unavailable, Enabled };
+ Status status() const;
+
+ void sendMessage(const QByteArray &);
+
+ static int idForObject(QObject *);
+ static QObject *objectForId(int);
+
+ static QString objectToString(QObject *obj);
+
+ static bool isDebuggingEnabled();
+ static bool hasDebuggingClient();
+
+protected:
+ virtual void statusChanged(Status);
+ virtual void messageReceived(const QByteArray &);
+
+private:
+ friend class QDeclarativeDebugServer;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QDECLARATIVEDEBUGSERVICE_H
+
diff --git a/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro b/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro
index a62e148..83bcadb 100644
--- a/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro
+++ b/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro
@@ -2,7 +2,8 @@ load(qttest_p4)
contains(QT_CONFIG,declarative): QT += network declarative
macx:CONFIG -= app_bundle
-HEADERS += ../shared/debugutil_p.h
+HEADERS += ../shared/debugutil_p.h \
+ private_headers/qdeclarativedebugservice_p.h
SOURCES += tst_qdeclarativedebugservice.cpp \
../shared/debugutil.cpp
diff --git a/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp b/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp
index 4683199..945823a 100644
--- a/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp
+++ b/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp
@@ -50,8 +50,8 @@
#include <private/qdeclarativedebug_p.h>
#include <private/qdeclarativeenginedebug_p.h>
#include <private/qdeclarativedebugclient_p.h>
-#include <private/qdeclarativedebugservice_p.h>
+#include "private_headers/qdeclarativedebugservice_p.h"
#include "../../../shared/util.h"
#include "../shared/debugutil_p.h"
@@ -66,8 +66,7 @@ private slots:
void initTestCase();
void name();
- void isEnabled();
- void enabledChanged();
+ void status();
void sendMessage();
void idForObject();
void objectForId();
@@ -97,31 +96,24 @@ void tst_QDeclarativeDebugService::name()
QCOMPARE(service.name(), name);
}
-void tst_QDeclarativeDebugService::isEnabled()
+void tst_QDeclarativeDebugService::status()
{
- QDeclarativeDebugTestService service("tst_QDeclarativeDebugService::isEnabled()", m_conn);
- QCOMPARE(service.isEnabled(), false);
+ QDeclarativeDebugTestService service("tst_QDeclarativeDebugService::status()");
+ QCOMPARE(service.status(), QDeclarativeDebugService::Unavailable);
- QDeclarativeDebugTestClient client("tst_QDeclarativeDebugService::isEnabled()", m_conn);
- client.setEnabled(true);
- QDeclarativeDebugTest::waitForSignal(&service, SIGNAL(enabledStateChanged()));
- QCOMPARE(service.isEnabled(), true);
+ {
+ QDeclarativeDebugTestClient client("tst_QDeclarativeDebugService::status()", m_conn);
+ QDeclarativeDebugTest::waitForSignal(&service, SIGNAL(statusHasChanged()));
+ QCOMPARE(service.status(), QDeclarativeDebugService::Enabled);
+ }
- QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugService: Conflicting plugin name \"tst_QDeclarativeDebugService::isEnabled()\" ");
- QDeclarativeDebugService duplicate("tst_QDeclarativeDebugService::isEnabled()", m_conn);
- QCOMPARE(duplicate.isEnabled(), false);
-}
-
-void tst_QDeclarativeDebugService::enabledChanged()
-{
- QDeclarativeDebugTestService service("tst_QDeclarativeDebugService::enabledChanged()");
- QDeclarativeDebugTestClient client("tst_QDeclarativeDebugService::enabledChanged()", m_conn);
+ QDeclarativeDebugTest::waitForSignal(&service, SIGNAL(statusHasChanged()));
+ QCOMPARE(service.status(), QDeclarativeDebugService::Unavailable);
- QCOMPARE(service.enabled, false);
+ QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugService: Conflicting plugin name \"tst_QDeclarativeDebugService::status()\" ");
- client.setEnabled(true);
- QDeclarativeDebugTest::waitForSignal(&service, SIGNAL(enabledStateChanged()));
- QCOMPARE(service.enabled, true);
+ QDeclarativeDebugService duplicate("tst_QDeclarativeDebugService::status()");
+ QCOMPARE(duplicate.status(), QDeclarativeDebugService::NotConnected);
}
void tst_QDeclarativeDebugService::sendMessage()
@@ -131,6 +123,11 @@ void tst_QDeclarativeDebugService::sendMessage()
QByteArray msg = "hello!";
+ if (service.status() != QDeclarativeDebugService::Enabled)
+ QDeclarativeDebugTest::waitForSignal(&service, SIGNAL(statusHasChanged()));
+ if (client.status() != QDeclarativeDebugClient::Enabled)
+ QDeclarativeDebugTest::waitForSignal(&client, SIGNAL(statusHasChanged()));
+
client.sendMessage(msg);
QByteArray resp = client.waitForResponse();
QCOMPARE(resp, msg);
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/sharedAttachedObject.qml b/tests/auto/declarative/qdeclarativeecmascript/data/sharedAttachedObject.qml
new file mode 100644
index 0000000..817391d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/sharedAttachedObject.qml
@@ -0,0 +1,16 @@
+import Qt.test 1.0
+import Qt 4.7
+
+MyQmlObject {
+ id: root
+ property bool test1: false
+ property bool test2: false
+
+ MyQmlObject.value2: 7
+
+ Component.onCompleted: {
+ test1 = root.MyQmlObject.value2 == 7;
+ test2 = root.MyQmlObjectAlias.value2 == 7;
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp b/tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp
index 8a4605a..810a0f7 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp
@@ -102,6 +102,7 @@ public:
void registerTypes()
{
+ qmlRegisterType<MyQmlObject>("Qt.test", 1,0, "MyQmlObjectAlias");
qmlRegisterType<MyQmlObject>("Qt.test", 1,0, "MyQmlObject");
qmlRegisterType<MyDeferredObject>("Qt.test", 1,0, "MyDeferredObject");
qmlRegisterType<MyQmlContainer>("Qt.test", 1,0, "MyQmlContainer");
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
index c10a110..4feb630 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
@@ -161,6 +161,7 @@ private slots:
void nonscriptable();
void deleteLater();
void in();
+ void sharedAttachedObject();
void include();
@@ -2583,6 +2584,16 @@ void tst_qdeclarativeecmascript::in()
delete o;
}
+void tst_qdeclarativeecmascript::sharedAttachedObject()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("sharedAttachedObject.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+ QCOMPARE(o->property("test1").toBool(), true);
+ QCOMPARE(o->property("test2").toBool(), true);
+ delete o;
+}
+
QTEST_MAIN(tst_qdeclarativeecmascript)
#include "tst_qdeclarativeecmascript.moc"
diff --git a/tests/auto/declarative/shared/debugutil.cpp b/tests/auto/declarative/shared/debugutil.cpp
index c0c3eca..5f68e44 100644
--- a/tests/auto/declarative/shared/debugutil.cpp
+++ b/tests/auto/declarative/shared/debugutil.cpp
@@ -60,7 +60,7 @@ bool QDeclarativeDebugTest::waitForSignal(QObject *receiver, const char *member,
}
QDeclarativeDebugTestService::QDeclarativeDebugTestService(const QString &s, QObject *parent)
- : QDeclarativeDebugService(s, parent), enabled(false)
+ : QDeclarativeDebugService(s, parent)
{
}
@@ -69,10 +69,9 @@ void QDeclarativeDebugTestService::messageReceived(const QByteArray &ba)
sendMessage(ba);
}
-void QDeclarativeDebugTestService::enabledChanged(bool e)
+void QDeclarativeDebugTestService::statusChanged(Status)
{
- enabled = e;
- emit enabledStateChanged();
+ emit statusHasChanged();
}
@@ -92,9 +91,13 @@ QByteArray QDeclarativeDebugTestClient::waitForResponse()
return lastMsg;
}
+void QDeclarativeDebugTestClient::statusChanged(Status status)
+{
+ emit statusHasChanged();
+}
+
void QDeclarativeDebugTestClient::messageReceived(const QByteArray &ba)
{
lastMsg = ba;
emit serverMessage(ba);
}
-
diff --git a/tests/auto/declarative/shared/debugutil_p.h b/tests/auto/declarative/shared/debugutil_p.h
index e6bb7ad..434e053 100644
--- a/tests/auto/declarative/shared/debugutil_p.h
+++ b/tests/auto/declarative/shared/debugutil_p.h
@@ -62,15 +62,13 @@ class QDeclarativeDebugTestService : public QDeclarativeDebugService
Q_OBJECT
public:
QDeclarativeDebugTestService(const QString &s, QObject *parent = 0);
- bool enabled;
signals:
- void enabledStateChanged();
+ void statusHasChanged();
protected:
virtual void messageReceived(const QByteArray &ba);
-
- virtual void enabledChanged(bool e);
+ virtual void statusChanged(Status status);
};
class QDeclarativeDebugTestClient : public QDeclarativeDebugClient
@@ -82,9 +80,11 @@ public:
QByteArray waitForResponse();
signals:
+ void statusHasChanged();
void serverMessage(const QByteArray &);
protected:
+ virtual void statusChanged(Status status);
virtual void messageReceived(const QByteArray &ba);
private: