summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-04-24 23:57:42 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-15 04:57:37 +0200
commitf544d7189ec8fc5096015a1a649ee2e317efd893 (patch)
treec6a44e8600f7ebc0be539dacb6721cf77c1d82ab /tests
parent57c755fef00c8269b083817228f046e4d950a580 (diff)
Remove const char *-based connectNotify() API
This completes the transition from connectNotify(const char *) and disconnectNotify(const char *) to the new QMetaMethod-based functions. Removed the old connectNotify autotests and renamed the connectNotifyMethodXXX autotests to connectNotify, since there is no longer any ambiguity about which overload is being tested. Change-Id: Icf108a80177155f21bb73c165fb8ab5d4e997bc2 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp134
1 files changed, 23 insertions, 111 deletions
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
index e5da03c890..0cdce500fa 100644
--- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
@@ -76,13 +76,10 @@ private slots:
void findChildren();
void connectDisconnectNotify_data();
void connectDisconnectNotify();
- void connectNotifyPtr();
- void connectDisconnectNotifyMethod_data();
- void connectDisconnectNotifyMethod();
- void connectDisconnectNotifyMethodPMF();
- void disconnectNotifyMethod_receiverDestroyed();
- void connectNotifyMethod_connectSlotsByName();
- void connectDisconnectNotifyMethod_shadowing();
+ void connectDisconnectNotifyPMF();
+ void disconnectNotify_receiverDestroyed();
+ void connectNotify_connectSlotsByName();
+ void connectDisconnectNotify_shadowing();
void emitInDefinedOrder();
void customTypes();
void streamCustomTypes();
@@ -807,20 +804,18 @@ public:
NotifyObject() : SenderObject(), ReceiverObject()
{}
- QString org_signal;
- QString nw_signal;
-
-protected:
- void connectNotify( const char *signal )
- {
- org_signal = signal;
- nw_signal = QMetaObject::normalizedSignature(signal);
- };
- void disconnectNotify( const char *signal )
+ QList<QMetaMethod> connectedSignals;
+ QList<QMetaMethod> disconnectedSignals;
+ void clearNotifications()
{
- org_signal = signal;
- nw_signal = QMetaObject::normalizedSignature(signal);
- };
+ connectedSignals.clear();
+ disconnectedSignals.clear();
+ }
+protected:
+ void connectNotify(const QMetaMethod &signal)
+ { connectedSignals.append(signal); }
+ void disconnectNotify(const QMetaMethod &signal)
+ { disconnectedSignals.append(signal); }
};
void tst_QObject::connectDisconnectNotify_data()
@@ -845,89 +840,6 @@ void tst_QObject::connectDisconnectNotify()
QFETCH(QString, a_signal);
QFETCH(QString, a_slot);
- // Test connectNotify
- connect( (SenderObject*)s, a_signal.toLatin1(), (ReceiverObject*)r, a_slot.toLatin1() );
- QCOMPARE( s->org_signal, s->nw_signal );
- QCOMPARE( s->org_signal.toLatin1(), QMetaObject::normalizedSignature(a_signal.toLatin1().constData()) );
-
- // Test disconnectNotify
- QObject::disconnect( (SenderObject*)s, a_signal.toLatin1(), (ReceiverObject*)r, a_slot.toLatin1() );
- QCOMPARE( s->org_signal, s->nw_signal );
- QCOMPARE( s->org_signal.toLatin1(), QMetaObject::normalizedSignature(a_signal.toLatin1().constData()) );
-
- // Reconnect
- connect( (SenderObject*)s, a_signal.toLatin1(), (ReceiverObject*)r, a_slot.toLatin1() );
- // Test disconnectNotify for a complete disconnect
- ((SenderObject*)s)->disconnect((ReceiverObject*)r);
-
- // Obtaining meta methods
- int signalIndx = ((SenderObject*)s)->metaObject()->indexOfSignal(
- QMetaObject::normalizedSignature(a_signal.toLatin1().constData()+1).constData());
- int methodIndx = ((ReceiverObject*)r)->metaObject()->indexOfMethod(
- QMetaObject::normalizedSignature(a_slot.toLatin1().constData()+1).constData());
- QMetaMethod signal = ((SenderObject*)s)->metaObject()->method(signalIndx);
- QMetaMethod method = ((ReceiverObject*)r)->metaObject()->method(methodIndx);
-
- // Test connectNotify when connecting by QMetaMethod
- connect( (SenderObject*)s, signal, (ReceiverObject*)r, method );
- QCOMPARE( s->org_signal, s->nw_signal );
- QCOMPARE( s->org_signal.toLatin1(), QMetaObject::normalizedSignature(a_signal.toLatin1().constData()) );
-
- // Test disconnectNotify when disconnecting by QMetaMethod
- QObject::disconnect( (SenderObject*)s, signal, (ReceiverObject*)r, method );
- QCOMPARE( s->org_signal, s->nw_signal );
- QCOMPARE( s->org_signal.toLatin1(), QMetaObject::normalizedSignature(a_signal.toLatin1().constData()) );
-
- delete s;
- delete r;
-}
-
-void tst_QObject::connectNotifyPtr()
-{
- NotifyObject *s = new NotifyObject;
- NotifyObject *r = new NotifyObject;
-
- connect( (SenderObject*)s, &SenderObject::signal1, (ReceiverObject*)r, &ReceiverObject::slot1 );
- QCOMPARE( s->org_signal, s->nw_signal );
- QCOMPARE( s->org_signal.toLatin1(), QMetaObject::normalizedSignature(SIGNAL(signal1())));
-
- delete s;
- delete r;
-}
-
-class NotifyMethodObject : public SenderObject, public ReceiverObject
-{
-public:
- NotifyMethodObject() : SenderObject(), ReceiverObject()
- {}
-
- QList<QMetaMethod> connectedSignals;
- QList<QMetaMethod> disconnectedSignals;
- void clearNotifications()
- {
- connectedSignals.clear();
- disconnectedSignals.clear();
- }
-protected:
- void connectNotify(const QMetaMethod &signal)
- { connectedSignals.append(signal); }
- void disconnectNotify(const QMetaMethod &signal)
- { disconnectedSignals.append(signal); }
-};
-
-void tst_QObject::connectDisconnectNotifyMethod_data()
-{
- tst_QObject::connectDisconnectNotify_data();
-}
-
-void tst_QObject::connectDisconnectNotifyMethod()
-{
- NotifyMethodObject *s = new NotifyMethodObject;
- NotifyMethodObject *r = new NotifyMethodObject;
-
- QFETCH(QString, a_signal);
- QFETCH(QString, a_slot);
-
// Obtaining meta methods
int signalIndx = ((SenderObject*)s)->metaObject()->indexOfSignal(
QMetaObject::normalizedSignature(a_signal.toLatin1().constData()+1).constData());
@@ -1005,10 +917,10 @@ void tst_QObject::connectDisconnectNotifyMethod()
static void connectDisconnectNotifyTestSlot() {}
-void tst_QObject::connectDisconnectNotifyMethodPMF()
+void tst_QObject::connectDisconnectNotifyPMF()
{
- NotifyMethodObject *s = new NotifyMethodObject;
- NotifyMethodObject *r = new NotifyMethodObject;
+ NotifyObject *s = new NotifyObject;
+ NotifyObject *r = new NotifyObject;
QMetaMethod signal = QMetaMethod::fromSignal(&SenderObject::signal1);
@@ -1058,10 +970,10 @@ void tst_QObject::connectDisconnectNotifyMethodPMF()
delete r;
}
-void tst_QObject::disconnectNotifyMethod_receiverDestroyed()
+void tst_QObject::disconnectNotify_receiverDestroyed()
{
- NotifyMethodObject *s = new NotifyMethodObject;
- NotifyMethodObject *r = new NotifyMethodObject;
+ NotifyObject *s = new NotifyObject;
+ NotifyObject *r = new NotifyObject;
QVERIFY(QObject::connect((SenderObject*)s, SIGNAL(signal1()), (ReceiverObject*)r, SLOT(slot1())));
@@ -1115,7 +1027,7 @@ public Q_SLOTS:
void on_baz_signal1() {}
};
-void tst_QObject::connectNotifyMethod_connectSlotsByName()
+void tst_QObject::connectNotify_connectSlotsByName()
{
ConnectByNameNotifyReceiverObject testObject;
QList<ConnectByNameNotifySenderObject *> senders =
@@ -1146,7 +1058,7 @@ Q_SIGNALS:
void signal1();
};
-void tst_QObject::connectDisconnectNotifyMethod_shadowing()
+void tst_QObject::connectDisconnectNotify_shadowing()
{
ConnectDisconnectNotifyShadowObject s;
// Obtain QMetaMethods