mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-05 16:55:25 +08:00
qt 6.5.1 original
This commit is contained in:
11
tests/auto/corelib/kernel/qsignalmapper/CMakeLists.txt
Normal file
11
tests/auto/corelib/kernel/qsignalmapper/CMakeLists.txt
Normal file
@ -0,0 +1,11 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#####################################################################
|
||||
## tst_qsignalmapper Test:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_add_test(tst_qsignalmapper
|
||||
SOURCES
|
||||
tst_qsignalmapper.cpp
|
||||
)
|
@ -0,0 +1,83 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
#include <QTest>
|
||||
|
||||
#include <qsignalmapper.h>
|
||||
|
||||
class tst_QSignalMapper : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void mapped();
|
||||
};
|
||||
|
||||
class QtTestObject : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public slots:
|
||||
void myIntSlot(int id);
|
||||
void myStringSlot(const QString &str);
|
||||
|
||||
signals:
|
||||
void mysignal(int);
|
||||
|
||||
public:
|
||||
void emit_mysignal(int);
|
||||
|
||||
int id;
|
||||
QString str;
|
||||
};
|
||||
|
||||
void QtTestObject::myIntSlot(int id)
|
||||
{
|
||||
this->id = id;
|
||||
}
|
||||
|
||||
void QtTestObject::myStringSlot(const QString &str)
|
||||
{
|
||||
this->str = str;
|
||||
}
|
||||
|
||||
void QtTestObject::emit_mysignal(int value)
|
||||
{
|
||||
emit mysignal(value);
|
||||
}
|
||||
|
||||
void tst_QSignalMapper::mapped()
|
||||
{
|
||||
QSignalMapper mapper;
|
||||
|
||||
QtTestObject target;
|
||||
QtTestObject src1;
|
||||
QtTestObject src2;
|
||||
QtTestObject src3;
|
||||
|
||||
connect(&src1, SIGNAL(mysignal(int)), &mapper, SLOT(map()));
|
||||
connect(&src2, SIGNAL(mysignal(int)), &mapper, SLOT(map()));
|
||||
connect(&src3, SIGNAL(mysignal(int)), &mapper, SLOT(map()));
|
||||
|
||||
mapper.setMapping(&src1, 7);
|
||||
mapper.setMapping(&src1, 1);
|
||||
mapper.setMapping(&src2, 2);
|
||||
mapper.setMapping(&src2, "two");
|
||||
mapper.setMapping(&src3, "three");
|
||||
|
||||
connect(&mapper, &QSignalMapper::mappedInt, &target, &QtTestObject::myIntSlot);
|
||||
connect(&mapper, &QSignalMapper::mappedString, &target, &QtTestObject::myStringSlot);
|
||||
|
||||
src1.emit_mysignal(20);
|
||||
QCOMPARE(target.id, 1);
|
||||
QVERIFY(target.str.isEmpty());
|
||||
|
||||
src2.emit_mysignal(20);
|
||||
QCOMPARE(target.id, 2);
|
||||
QCOMPARE(target.str, QLatin1String("two"));
|
||||
|
||||
src3.emit_mysignal(20);
|
||||
QCOMPARE(target.id, 2);
|
||||
QCOMPARE(target.str, QLatin1String("three"));
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_QSignalMapper)
|
||||
#include "tst_qsignalmapper.moc"
|
Reference in New Issue
Block a user