on bd368ff help sign in
unity8/tests/plugins/Unity/signalslisttest.cpp
57 lines 1.3 kB history raw
1/*
2 * Copyright (C) 2013 Canonical, Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17// local
18#include "signalslisttest.h"
19#include "signalslist.h"
21// Qt
22#include <QTest>
24class TestSource
26 public:
27 TestSource(): m_count(0) {}
28 void update()
29 {
30 countChanged(++m_count);
31 }
33 sigc::signal<void, int> countChanged;
34 int m_count;
35};
37void SignalsListTest::testSignalsList()
39 TestSource src;
40 SignalsList signals;
41 int counter = -1;
43 signals << src.countChanged.connect([&counter](int val) {
44 counter = val;
45 });
47 src.update();
48 QCOMPARE(counter, 1);
49 src.update();
50 QCOMPARE(counter, 2);
52 signals.disconnectAll();
53 src.update();
54 QCOMPARE(counter, 2);
57QTEST_MAIN(SignalsListTest)