diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/plugins/genericcanbus/main.cpp | 10 | ||||
-rw-r--r-- | tests/auto/qcanbus/tst_qcanbus.cpp | 9 |
2 files changed, 16 insertions, 3 deletions
diff --git a/tests/auto/plugins/genericcanbus/main.cpp b/tests/auto/plugins/genericcanbus/main.cpp index 3fc6225..d482c3b 100644 --- a/tests/auto/plugins/genericcanbus/main.cpp +++ b/tests/auto/plugins/genericcanbus/main.cpp @@ -50,9 +50,15 @@ class GenericBusPlugin : public QObject, public QCanBusFactory Q_INTERFACES(QCanBusFactory) public: - QCanBusDevice *createDevice(const QString &interfaceName) const + QCanBusDevice *createDevice(const QString &interfaceName, + QString *errorMessage) const { - Q_UNUSED(interfaceName) + if (interfaceName == QStringLiteral("invalid")) { + if (errorMessage) + *errorMessage = tr("No such interface: '%1'").arg(interfaceName); + + return nullptr; + } auto device = new DummyBackend(); return device; } diff --git a/tests/auto/qcanbus/tst_qcanbus.cpp b/tests/auto/qcanbus/tst_qcanbus.cpp index 08047e8..63f98cc 100644 --- a/tests/auto/qcanbus/tst_qcanbus.cpp +++ b/tests/auto/qcanbus/tst_qcanbus.cpp @@ -85,12 +85,19 @@ void tst_QCanBus::plugins() void tst_QCanBus::createDevice() { + QString error, error2; QCanBusDevice *dummy = bus->createDevice("generic", "unused"); QCanBusDevice *dummy2 = bus->createDevice("generic", "unused"); - QCanBusDevice *faulty = bus->createDevice("faulty", "faulty"); + QCanBusDevice *faulty = bus->createDevice("generic", "invalid", &error); + QCanBusDevice *faulty2 = bus->createDevice("faulty", "faulty", &error2); QVERIFY(dummy); QVERIFY(dummy2); + QVERIFY(!faulty); + QCOMPARE(error, tr("No such interface: 'invalid'")); + + QVERIFY(!faulty2); + QCOMPARE(error2, tr("No such plugin: 'faulty'")); delete dummy; delete dummy2; |