summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2012-11-29 21:32:47 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-30 01:23:48 +0100
commitd8e6be16033982caab3f50548aa9f19ed0349cb9 (patch)
treec254f6a0eb004d8316d07ccef44e914df6998dd6 /tests
parentc3b4f276033ad024b649fae9a25a0a1fc2d6ea65 (diff)
Fix connecting to a functor with 3 arguments
Task-number: QTBUG-28285 Change-Id: I07bd870c093482035728aa783d0ecbc8aa8670d2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp53
1 files changed, 52 insertions, 1 deletions
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
index c340d00361..cefbf6a17b 100644
--- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
@@ -5081,6 +5081,51 @@ namespace ManyArgumentNamespace {
MANYARGUMENT_COMPARE(d); MANYARGUMENT_COMPARE(e); MANYARGUMENT_COMPARE(f);
count++;
}
+
+ struct Funct1 {
+ void operator()(const QString &a) {
+ MANYARGUMENT_COMPARE(a);
+ count++;
+ }
+ };
+
+ struct Funct2 {
+ void operator()(const QString &a, const QString &b) {
+ MANYARGUMENT_COMPARE(a); MANYARGUMENT_COMPARE(b);
+ count++;
+ }
+ };
+
+ struct Funct3 {
+ void operator()(const QString &a, const QString &b, const QString &c) {
+ MANYARGUMENT_COMPARE(a); MANYARGUMENT_COMPARE(b); MANYARGUMENT_COMPARE(c);
+ count++;
+ }
+ };
+
+ struct Funct4 {
+ void operator()(const QString &a, const QString &b, const QString &c, const QString&d) {
+ MANYARGUMENT_COMPARE(a); MANYARGUMENT_COMPARE(b); MANYARGUMENT_COMPARE(c);
+ MANYARGUMENT_COMPARE(d);
+ count++;
+ }
+ };
+
+ struct Funct5 {
+ void operator()(const QString &a, const QString &b, const QString &c, const QString&d, const QString&e) {
+ MANYARGUMENT_COMPARE(a); MANYARGUMENT_COMPARE(b); MANYARGUMENT_COMPARE(c);
+ MANYARGUMENT_COMPARE(d); MANYARGUMENT_COMPARE(e);
+ count++;
+ }
+ };
+
+ struct Funct6 {
+ void operator()(const QString &a, const QString &b, const QString &c, const QString&d, const QString&e, const QString&f) {
+ MANYARGUMENT_COMPARE(a); MANYARGUMENT_COMPARE(b); MANYARGUMENT_COMPARE(c);
+ MANYARGUMENT_COMPARE(d); MANYARGUMENT_COMPARE(e); MANYARGUMENT_COMPARE(f);
+ count++;
+ }
+ };
}
void tst_QObject::connectManyArguments()
@@ -5128,10 +5173,16 @@ void tst_QObject::connectManyArguments()
connect(&ob2, &ManyArgumentObject::signal6, ManyArgumentNamespace::slot4);
connect(&ob2, &ManyArgumentObject::signal6, ManyArgumentNamespace::slot5);
connect(&ob2, &ManyArgumentObject::signal6, ManyArgumentNamespace::slot6);
+ connect(&ob2, &ManyArgumentObject::signal6, ManyArgumentNamespace::Funct1());
+ connect(&ob2, &ManyArgumentObject::signal6, ManyArgumentNamespace::Funct2());
+ connect(&ob2, &ManyArgumentObject::signal6, ManyArgumentNamespace::Funct3());
+ connect(&ob2, &ManyArgumentObject::signal6, ManyArgumentNamespace::Funct4());
+ connect(&ob2, &ManyArgumentObject::signal6, ManyArgumentNamespace::Funct5());
+ connect(&ob2, &ManyArgumentObject::signal6, ManyArgumentNamespace::Funct6());
emit ob2.signal6("a", "b", "c", "d", "e", "f");
QCOMPARE(ob2.count, 6);
- QCOMPARE(ManyArgumentNamespace::count, 6);
+ QCOMPARE(ManyArgumentNamespace::count, 12);
}
class ReturnValue : public QObject {