diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2012-04-24 23:57:42 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-15 04:57:37 +0200 |
commit | f544d7189ec8fc5096015a1a649ee2e317efd893 (patch) | |
tree | c6a44e8600f7ebc0be539dacb6721cf77c1d82ab /tests | |
parent | 57c755fef00c8269b083817228f046e4d950a580 (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.cpp | 134 |
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 |