From kde-commits Mon Nov 14 05:01:50 2016 From: Leslie Zhai Date: Mon, 14 Nov 2016 05:01:50 +0000 To: kde-commits Subject: [k3b/cdrskin] /: Add more testcase for K3b ExternalBinManager Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=147909972126698 Git commit ad01f86ae10f8f213db23432586f4f110a8ec49b by Leslie Zhai. Committed on 14/11/2016 at 04:51. Pushed by lesliezhai into branch 'cdrskin'. Add more testcase for K3b ExternalBinManager Summary: 1. There are already binObject for cdrecord, growisofs, cdrdao, etc. so I need to migrate cdrskin binObject; 2. There is already CdrdaoWriter, AudioCueFileWritingJob, etc. to handle *.cue file format. so Let wodim do the exotic CD stuff and cdrskin do the rest ;-) CCBUG: 137436 M +1 -0 src/CMakeLists.txt M +2 -0 src/k3bdebuggingoutputcache.cpp M +1 -1 src/k3bdirview.cpp M +8 -3 src/k3bjobprogressdialog.cpp M +15 -7 src/k3bthemedlabel.cpp M +185 -3 tests/CMakeLists.txt M +46 -3 tests/k3bexternalbinmanagertest.cpp M +5 -2 tests/k3bexternalbinmanagertest.h http://commits.kde.org/k3b/ad01f86ae10f8f213db23432586f4f110a8ec49b diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 79552de..24f1eb2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -236,6 +236,7 @@ target_link_libraries(k3b KF5::NotifyConfig KF5::Solid KF5::XmlGui + KF5::ConfigCore Qt5::WebKitWidgets ) = diff --git a/src/k3bdebuggingoutputcache.cpp b/src/k3bdebuggingoutputcache.= cpp index 4498d7f..717a6da 100644 --- a/src/k3bdebuggingoutputcache.cpp +++ b/src/k3bdebuggingoutputcache.cpp @@ -63,6 +63,8 @@ void K3b::DebuggingOutputCache::clear() d->lastMessageCount.clear(); d->cacheSize =3D 0; = + if (k3bcore =3D=3D Q_NULLPTR) + return; = addOutput( QLatin1String( "System" ), QString::fromLatin1( "K3b Versio= n: %1" ).arg(k3bcore->version()) ); addOutput( QLatin1String( "System" ), QString::fromLatin1( "KDE Versio= n: %1" ).arg(KCOREADDONS_VERSION_STRING) ); addOutput( QLatin1String( "System" ), QString::fromLatin1( "Qt Version= : %1" ).arg(qVersion()) ); diff --git a/src/k3bdirview.cpp b/src/k3bdirview.cpp index 24a866b..3297df5 100644 --- a/src/k3bdirview.cpp +++ b/src/k3bdirview.cpp @@ -32,7 +32,7 @@ #include "rip/videodvd/k3bvideodvdrippingview.h" #endif = -#include +#include #include #include #include diff --git a/src/k3bjobprogressdialog.cpp b/src/k3bjobprogressdialog.cpp index 46a810d..1091f6c 100644 --- a/src/k3bjobprogressdialog.cpp +++ b/src/k3bjobprogressdialog.cpp @@ -245,8 +245,10 @@ void K3b::JobProgressDialog::setupGUI() = slotThemeChanged(); = - connect( k3bappcore->themeManager(), SIGNAL(themeChanged()), - this, SLOT(slotThemeChanged()) ); + if (k3bappcore) { + connect( k3bappcore->themeManager(), SIGNAL(themeChanged()), + this, SLOT(slotThemeChanged()) ); + } } = = @@ -439,7 +441,8 @@ void K3b::JobProgressDialog::setJob( K3b::Job* job ) m_labelSubTask->setText(""); m_labelProcessedSize->setText(""); m_labelSubProcessedSize->setText(""); - m_labelTask->setPalette( k3bappcore->themeManager()->currentTheme()->p= alette() ); + if (k3bappcore) + m_labelTask->setPalette( k3bappcore->themeManager()->currentTheme(= )->palette() ); m_logCache.clear(); = // disconnect from the former job @@ -643,6 +646,8 @@ void K3b::JobProgressDialog::blockingInformation( const= QString& text, = void K3b::JobProgressDialog::slotThemeChanged() { + if (k3bappcore =3D=3D Q_NULLPTR) + return; if( K3b::Theme* theme =3D k3bappcore->themeManager()->currentTheme() )= { d->progressHeaderFrame->setPalette( theme->palette() ); d->headerFrame->setPalette( theme->palette() ); diff --git a/src/k3bthemedlabel.cpp b/src/k3bthemedlabel.cpp index 5914775..f7f660b 100644 --- a/src/k3bthemedlabel.cpp +++ b/src/k3bthemedlabel.cpp @@ -14,7 +14,7 @@ = #include "k3bthemedlabel.h" #include "k3bapplication.h" - +#include K3b::ThemedLabel::ThemedLabel( QWidget* parent ) : KSqueezedTextLabel( parent ), m_themePixmapCode( -1 ) @@ -22,8 +22,10 @@ K3b::ThemedLabel::ThemedLabel( QWidget* parent ) slotThemeChanged(); setTextElideMode( Qt::ElideRight ); = - connect( k3bappcore->themeManager(), SIGNAL(themeChanged()), - this, SLOT(slotThemeChanged()) ); + if (k3bappcore) { + connect( k3bappcore->themeManager(), SIGNAL(themeChanged()), + this, SLOT(slotThemeChanged()) ); + } } = = @@ -34,8 +36,10 @@ K3b::ThemedLabel::ThemedLabel( const QString& text, QWid= get* parent ) slotThemeChanged(); setTextElideMode( Qt::ElideRight ); = - connect( k3bappcore->themeManager(), SIGNAL(themeChanged()), - this, SLOT(slotThemeChanged()) ); + if (k3bappcore) { + connect( k3bappcore->themeManager(), SIGNAL(themeChanged()), + this, SLOT(slotThemeChanged()) ); + } } = = @@ -45,8 +49,10 @@ K3b::ThemedLabel::ThemedLabel( K3b::Theme::PixmapType pi= x, QWidget* parent ) setThemePixmap( pix ); setTextElideMode( Qt::ElideRight ); = - connect( k3bappcore->themeManager(), SIGNAL(themeChanged()), - this, SLOT(slotThemeChanged()) ); + if (k3bappcore) { + connect( k3bappcore->themeManager(), SIGNAL(themeChanged()), + this, SLOT(slotThemeChanged()) ); + } } = = @@ -69,6 +75,8 @@ void K3b::ThemedLabel::setThemePixmap( K3b::Theme::Pixmap= Type pix ) void K3b::ThemedLabel::slotThemeChanged() { setAutoFillBackground( true ); + if (k3bappcore =3D=3D Q_NULLPTR) + return; if( K3b::Theme* theme =3D k3bappcore->themeManager()->currentTheme() )= { QPalette p =3D palette(); p.setColor( backgroundRole(), theme->backgroundColor() ); diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index ac6c63c..53ab754 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -56,11 +56,193 @@ target_link_libraries(k3bdeviceglobalstest k3bdevice) add_test(k3bdeviceglobalstest k3bdeviceglobalstest) = -add_executable(k3bexternalbinmanagertest k3bexternalbinmanagertest.cpp) +qt5_generate_dbus_interface(${CMAKE_SOURCE_DIR}/src/k3binterface.h org.k3b= .MainWindow.xml ) +qt5_add_dbus_adaptor(dbus_sources ${CMAKE_CURRENT_BINARY_DIR}/org.k3b.Main= Window.xml ${CMAKE_SOURCE_DIR}/src/k3binterface.h K3b::Interface k3binterfa= ceadaptor K3bInterfaceAdaptor) +qt5_generate_dbus_interface(${CMAKE_SOURCE_DIR}/src/k3bjobinterface.h org.= k3b.Job.xml) +qt5_add_dbus_adaptor(dbus_sources ${CMAKE_CURRENT_BINARY_DIR}/org.k3b.Job.= xml ${CMAKE_SOURCE_DIR}/src/k3bjobinterface.h K3b::JobInterface k3bjobinter= faceadaptor K3bJobInterfaceAdaptor) +qt5_generate_dbus_interface(${CMAKE_SOURCE_DIR}/src/k3bprojectinterface.h = org.k3b.Project.xml) +qt5_add_dbus_adaptor(dbus_sources ${CMAKE_CURRENT_BINARY_DIR}/org.k3b.Proj= ect.xml ${CMAKE_SOURCE_DIR}/src/k3bprojectinterface.h K3b::ProjectInterface= k3bprojectinterfaceadaptor K3bProjectInterfaceAdaptor) +qt5_generate_dbus_interface(${CMAKE_SOURCE_DIR}/src/k3baudioprojectinterfa= ce.h org.k3b.AudioProject.xml) +qt5_add_dbus_adaptor(dbus_sources ${CMAKE_CURRENT_BINARY_DIR}/org.k3b.Audi= oProject.xml ${CMAKE_SOURCE_DIR}/src/k3baudioprojectinterface.h K3b::AudioP= rojectInterface k3baudioprojectinterfaceadaptor K3bAudioProjectInterfaceAda= ptor) +qt5_generate_dbus_interface(${CMAKE_SOURCE_DIR}/src/k3bdataprojectinterfac= e.h org.k3b.DataProject.xml) +qt5_add_dbus_adaptor(dbus_sources ${CMAKE_CURRENT_BINARY_DIR}/org.k3b.Data= Project.xml ${CMAKE_SOURCE_DIR}/src/k3bdataprojectinterface.h K3b::DataProj= ectInterface k3bdataprojectinterfaceadaptor K3bDataProjectInterfaceAdaptor) +add_executable(k3bexternalbinmanagertest = + k3bexternalbinmanagertest.cpp + ${CMAKE_SOURCE_DIR}/src/k3bburnprogressdialog.cpp + ${CMAKE_SOURCE_DIR}/src/k3btrm.cpp + ${CMAKE_SOURCE_DIR}/src/k3bmusicbrainz.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bmusicbrainztrackloopupjob.cpp + ${CMAKE_SOURCE_DIR}/src/k3blsofwrapper.cpp + ${CMAKE_SOURCE_DIR}/src/k3bdebuggingoutputdialog.cpp + ${CMAKE_SOURCE_DIR}/src/k3bemptydiscwaiter.cpp + ${CMAKE_SOURCE_DIR}/src/k3bjobinterface.cpp + ${CMAKE_SOURCE_DIR}/src/k3bdebuggingoutputcache.cpp + ${CMAKE_SOURCE_DIR}/src/k3blsofwrapperdialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudiotrackwidget.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bmusicbrainzjob.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3bpatternparser.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3baudioprojectconvertingjob.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdatamultisessioncombobox.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3bcuefilewriter.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3bmassaudioencodingjob.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3baudioripjob.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3bcddbpatternwidget.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3baudioconvertingoptionwidget.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudioburndialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdataburndialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bvcdtrackkeysdelegate.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3baudioprojectconvertingdialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudiotracktrmlookupdialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudiotrackdialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bbootimagemodel.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudioeditorwidget.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudiodatasourceeditwidget.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudiotracksplitdialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudiotrackaddingdialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudioprojectdelegate.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudioprojectmodel.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bbootimagedialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bencodingconverter.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdataurladdingdialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdataprojectdelegate.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdataprojectsortproxymodel.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdataprojectmodel.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudiocdtextwidget.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bmixedburndialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdirproxymodel.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdataviewimpl.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudioviewimpl.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bprojectplugindialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bfillstatusdisplay.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bmovixoptionswidget.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bvcdtrackkeysmodel.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bvcdtrackdialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bvcdprojectmodel.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bvcdburndialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bmovixburndialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bview.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdatavolumedescdialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdataadvancedimagesettingsdialog.cpp + ${CMAKE_SOURCE_DIR}/src/helper/k3bhelperprogramitem.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bexternalbinpermissionmodel.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bexternalbinparamsmodel.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bexternalbinmodel.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdataimagesettingswidget.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bprojectburndialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdatapropertiesdialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bmovixprojectmodel.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bvolumenamewidget.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bmovixprojectmodel.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bvideodvdburndialog.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bpluginoptiontab.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bcddboptiontab.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bdevicewidget.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bexternalbinwidget.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bthememodel.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3badvancedoptiontab.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bthemeoptiontab.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bnotifyoptiontab.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bexternalbinoptiontab.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bdeviceoptiontab.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3bmiscoptiontab.cpp + ${CMAKE_SOURCE_DIR}/src/k3bdatamodewidget.cpp + ${CMAKE_SOURCE_DIR}/src/k3bmediaselectiondialog.cpp + ${CMAKE_SOURCE_DIR}/src/k3bsystemproblemdialog.cpp + ${CMAKE_SOURCE_DIR}/src/misc/k3bimagewritingdialog.cpp + ${CMAKE_SOURCE_DIR}/src/option/k3boptiondialog.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bvideodvdview.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bmovixview.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bvcdview.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bmixedview.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdataview.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3baudioview.cpp + ${CMAKE_SOURCE_DIR}/src/k3bdiroperator.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3baudiorippingdialog.cpp + ${CMAKE_SOURCE_DIR}/src/k3bviewcolumnadjuster.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3baudiotrackmodel.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3bvideocdrip.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3bvideocdrippingdialog.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3bvideocdinfo.cpp + ${CMAKE_SOURCE_DIR}/src/rip/videodvd/k3bvideodvdrippingjob.cpp + ${CMAKE_SOURCE_DIR}/src/rip/videodvd/k3bvideodvdaudiomodel.cpp + ${CMAKE_SOURCE_DIR}/src/rip/videodvd/k3bvideodvdrippingwidget.cpp + ${CMAKE_SOURCE_DIR}/src/rip/videodvd/k3bvideodvdrippingdialog.cpp + ${CMAKE_SOURCE_DIR}/src/k3bmodelutils.cpp + ${CMAKE_SOURCE_DIR}/src/rip/videodvd/k3bvideodvdrippingpreview.cpp + ${CMAKE_SOURCE_DIR}/src/rip/videodvd/k3bvideodvdtitlemodel.cpp + ${CMAKE_SOURCE_DIR}/src/rip/videodvd/k3bvideodvdtitledelegate.cpp + ${CMAKE_SOURCE_DIR}/src/k3bmediacontentsview.cpp + ${CMAKE_SOURCE_DIR}/src/rip/videodvd/k3bvideodvdrippingview.cpp + ${CMAKE_SOURCE_DIR}/src/k3bdiskinfoview.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3bvideocdview.cpp + ${CMAKE_SOURCE_DIR}/src/rip/k3baudiocdview.cpp + ${CMAKE_SOURCE_DIR}/src/k3bcontentsview.cpp + ${CMAKE_SOURCE_DIR}/src/k3bfileview.cpp + ${CMAKE_SOURCE_DIR}/src/k3burlnavigator.cpp + ${CMAKE_SOURCE_DIR}/src/k3bdirview.cpp + ${CMAKE_SOURCE_DIR}/src/projects/k3bdatamultisessionimportdialog.cpp + ${CMAKE_SOURCE_DIR}/src/misc/k3bmediaformattingdialog.cpp + ${CMAKE_SOURCE_DIR}/src/k3btempdirselectionwidget.cpp + ${CMAKE_SOURCE_DIR}/src/k3bwritingmodewidget.cpp + ${CMAKE_SOURCE_DIR}/src/k3bwriterselectionwidget.cpp + ${CMAKE_SOURCE_DIR}/src/k3bmediumdelegate.cpp + ${CMAKE_SOURCE_DIR}/src/k3bmediaselectioncombobox.cpp + ${CMAKE_SOURCE_DIR}/src/k3binteractiondialog.cpp + ${CMAKE_SOURCE_DIR}/src/misc/k3bmediacopydialog.cpp + ${CMAKE_SOURCE_DIR}/src/k3baction.cpp + ${CMAKE_SOURCE_DIR}/src/k3bappdevicemanager.cpp + ${CMAKE_SOURCE_DIR}/src/k3bdevicemenu.cpp + ${CMAKE_SOURCE_DIR}/src/k3bmetaitemmodel.cpp + ${CMAKE_SOURCE_DIR}/src/k3bplacesmodel.cpp + ${CMAKE_SOURCE_DIR}/src/k3bdevicedelegate.cpp + ${CMAKE_SOURCE_DIR}/src/k3bfiletreeview.cpp + ${CMAKE_SOURCE_DIR}/src/k3bthemedheader.cpp + ${CMAKE_SOURCE_DIR}/src/k3bstatusbarmanager.cpp + ${CMAKE_SOURCE_DIR}/src/k3bmixedprojectinterface.cpp + ${CMAKE_SOURCE_DIR}/src/k3bdataprojectinterface.cpp + ${CMAKE_SOURCE_DIR}/src/k3bprojectinterface.cpp + ${CMAKE_SOURCE_DIR}/src/k3baudioprojectinterface.cpp + ${CMAKE_SOURCE_DIR}/src/projects/kostore/KoStoreBase.cpp + ${CMAKE_SOURCE_DIR}/src/projects/kostore/KoZipStore.cpp + ${CMAKE_SOURCE_DIR}/src/projects/kostore/KoStore.cpp + ${CMAKE_SOURCE_DIR}/src/k3bprojectmanager.cpp + ${CMAKE_SOURCE_DIR}/src/k3binterface.cpp + ${CMAKE_SOURCE_DIR}/src/k3bprojecttabwidget.cpp + ${CMAKE_SOURCE_DIR}/src/k3bflatbutton.cpp + ${CMAKE_SOURCE_DIR}/src/k3bwelcomewidget.cpp + ${CMAKE_SOURCE_DIR}/src/k3b.cpp + ${CMAKE_SOURCE_DIR}/src/k3bsplash.cpp + ${CMAKE_SOURCE_DIR}/src/k3bapplication.cpp + ${CMAKE_SOURCE_DIR}/src/k3bthememanager.cpp + ${CMAKE_SOURCE_DIR}/src/k3bthemedlabel.cpp + ${CMAKE_SOURCE_DIR}/src/k3bdebuggingoutputfile.cpp + ${CMAKE_SOURCE_DIR}/src/k3bjobprogressdialog.cpp + ${dbus_sources}) target_include_directories(k3bexternalbinmanagertest PRIVATE - ${CMAKE_SOURCE_DIR}/libk3b) + ${CMAKE_SOURCE_DIR}/libk3b + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_SOURCE_DIR}/src/projects + ${CMAKE_SOURCE_DIR}/src/projects/kostore + ${CMAKE_SOURCE_DIR}/src/helper + ${CMAKE_BINARY_DIR}/src) target_link_libraries(k3bexternalbinmanagertest Qt5::Test + Qt5::WebKitWidgets KF5::KIOCore - k3blib) + KF5::ConfigCore + KF5::I18n + KF5::XmlGui + KF5::Notifications + KF5::Solid + KF5::IconThemes + KF5::JobWidgets + KF5::Archive + KF5::KIOFileWidgets + KF5::Cddb + KF5::NewStuff + KF5::NotifyConfig + KF5::KCMUtils + ${MUSICBRAINZ_LIBRARIES} + k3blib + k3bdevice) add_test(k3bexternalbinmanagertest k3bexternalbinmanagertest) diff --git a/tests/k3bexternalbinmanagertest.cpp b/tests/k3bexternalbinmana= gertest.cpp index 925077f..80c6bd3 100644 --- a/tests/k3bexternalbinmanagertest.cpp +++ b/tests/k3bexternalbinmanagertest.cpp @@ -10,12 +10,45 @@ * See the file "COPYING" for the exact licensing terms. */ = +#include + #include "k3bexternalbinmanagertest.h" +#include "k3bcore.h" +#include "k3bjob.h" #include "k3bexternalbinmanager.h" +#include "k3bburnprogressdialog.h" = -#include +class MyBurnJob : public K3b::BurnJob = +{ + Q_OBJECT + +public: + MyBurnJob(K3b::JobHandler* hdl, QObject* parent =3D Q_NULLPTR) + : K3b::BurnJob(hdl, parent) = + { + qDebug() << "DEBUG:" << __PRETTY_FUNCTION__; + } + ~MyBurnJob() = + { + qDebug() << "DEBUG:" << __PRETTY_FUNCTION__; + } = -QTEST_GUILESS_MAIN(ExternalBinManagerTest) +public Q_SLOTS: + virtual void start() {} + virtual void cancel() {} + +private: + bool prepareWriter() = + { + qDebug() << "DEBUG:" << __PRETTY_FUNCTION__; + const K3b::ExternalBin* cdrecordBin =3D k3bcore->externalBinManage= r()->binObject("cdrecord"); + if (!cdrecordBin) + qWarning() << "ERROR:" << __PRETTY_FUNCTION__ << cdrecordBin; + return true; + } +}; + +QTEST_MAIN(ExternalBinManagerTest) = ExternalBinManagerTest::ExternalBinManagerTest() { @@ -29,7 +62,17 @@ void ExternalBinManagerTest::testBinObject() } // ooo binObject directly return 0 // then hasFeature will segfault! - // there are a lot of unchecking binObject is nullptr issue in k3b-2.0= .3!!! + // there are a lot of *unchecking* binObject is nullptr issue in k3b-2= .0.3!!! //if (binManager->binObject("ooo")->hasFeature("fff")) { //} } + +void ExternalBinManagerTest::testMyBurnJob() = +{ + K3b::BurnProgressDialog* dlg =3D new K3b::BurnProgressDialog; + MyBurnJob* job =3D new MyBurnJob(dlg, this); + // TODO: it needs CdrskinWritter for job->setWritingApp + dlg->startJob(job); +} + +#include "k3bexternalbinmanagertest.moc" diff --git a/tests/k3bexternalbinmanagertest.h b/tests/k3bexternalbinmanage= rtest.h index bf57853..f46a72d 100644 --- a/tests/k3bexternalbinmanagertest.h +++ b/tests/k3bexternalbinmanagertest.h @@ -13,15 +13,18 @@ #ifndef K3B_EXTERNAL_BINMANAGER_TEST_H #define K3B_EXTERNAL_BINMANAGER_TEST_H = -#include +#include = class ExternalBinManagerTest : public QObject { Q_OBJECT + public: ExternalBinManagerTest(); -private slots: + +private Q_SLOTS: void testBinObject(); + void testMyBurnJob(); }; = #endif // K3B_EXTERNAL_BINMANAGER_TEST_H