File indexing completed on 2024-04-28 08:40:19

0001 // SPDX-FileCopyrightText: 2016 Leslie Zhai <xiang.zhai@i-soft.com.cn>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 #include "devicestest.h"
0005 
0006 #include <QTest>
0007 #include <QtDebug>
0008 
0009 #include <Solid/OpticalDrive>
0010 
0011 void DevicesTest::initTestCase()
0012 {
0013     // Purposely use OpticalDrive
0014     QList<Solid::Device> list = Solid::Device::listFromType(Solid::DeviceInterface::OpticalDrive, QString());
0015     for (int i = 0; i < list.count(); i++) {
0016         const QString udi = list.value(i).udi();
0017         Solid::Device device(udi);
0018         qDebug() << "Device found:" << device.udi();
0019         auto *disc = new OpticalAudioDisc;
0020         disc->name = udi;
0021         disc->device = device;
0022         m_discs << disc;
0023     }
0024 }
0025 
0026 void DevicesTest::cleanupTestCase()
0027 {
0028 }
0029 
0030 void DevicesTest::testEject()
0031 {
0032     if (m_discs.isEmpty())
0033         return;
0034 
0035     OpticalAudioDisc *disc = m_discs[0];
0036     if (!disc)
0037         return;
0038 
0039     qDebug() << "DEBUG:" << __PRETTY_FUNCTION__ << disc->name;
0040 
0041     // Purposely use OpticalDrive's parent
0042     Solid::Device device(disc->device.parentUdi());
0043     if (device.as<Solid::OpticalDrive>())
0044         device.as<Solid::OpticalDrive>()->eject();
0045 }
0046 
0047 QTEST_GUILESS_MAIN(DevicesTest)