File indexing completed on 2024-03-24 04:50:57
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)