MCPcopy Create free account
hub / github.com/LMMS/lmms / LinkTests

Method LinkTests

tests/src/core/AutomatableModelTest.cpp:41–78  ·  view source on GitHub ↗

tests

Source from the content-addressed store, hash-verified

39
40private slots: // tests
41 void LinkTests()
42 {
43 BoolModel m1(false), m2(false);
44
45 QObject::connect(&m1, SIGNAL(dataChanged(Model*)),
46 this, SLOT(onM1Changed(Model*)));
47 QObject::connect(&m2, SIGNAL(dataChanged(Model*)),
48 this, SLOT(onM2Changed(Model*)));
49
50 resetChanged();
51 AutomatableModel::linkModels(&m1, &m1);
52 QVERIFY(!m1Changed); // cannot link to itself
53 QVERIFY(!m2Changed);
54
55 resetChanged();
56 AutomatableModel::linkModels(&m1, &m2);
57 QVERIFY(m1Changed); // since m1 takes the value of m2
58 QVERIFY(!m2Changed); // the second model is the source
59
60 resetChanged();
61 AutomatableModel::linkModels(&m1, &m2);
62 QVERIFY(!m1Changed); // it's already linked
63 QVERIFY(!m2Changed);
64
65 resetChanged();
66 BoolModel m3(false);
67 m1.setValue(1.f);
68 m2.setValue(1.f);
69 AutomatableModel::linkModels(&m1, &m2);
70 QVERIFY(m1.value());
71 QVERIFY(m2.value());
72 QVERIFY(!m3.value());
73 AutomatableModel::linkModels(&m2, &m3); // drag m3, drop on m2
74 // m2 should take m3's (0) value
75 // due to a bug(?), this does not happen
76 QVERIFY(m2.value());
77 QVERIFY(!m3.value());
78 }
79} AutomatableModelTests;
80
81#include "AutomatableModelTest.moc"

Callers

nothing calls this directly

Calls 2

setValueMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected