[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [k3b/cdrskin] /: Add more testcase for K3b ExternalBinManager
From:       Leslie Zhai <xiangzhai83 () gmail ! com>
Date:       2016-11-14 5:01:50
Message-ID: E1c69Ow-0005oJ-RW () code ! kde ! org
[Download RAW message or body]

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 = 0;
 
+    if (k3bcore == Q_NULLPTR)
+       return; 
     addOutput( QLatin1String( "System" ), QString::fromLatin1( "K3b Version: %1" \
                ).arg(k3bcore->version()) );
     addOutput( QLatin1String( "System" ), QString::fromLatin1( "KDE Version: %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 <KConfigCore/KConfig>
+#include <KConfigCore/KConfigGroup>
 #include <KNotifications/KNotification>
 #include <KI18n/KLocalizedString>
 #include <KWidgetsAddons/KMessageBox>
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()->palette() \
); +    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 == Q_NULLPTR)
+        return;
     if( K3b::Theme* theme = 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 <QDebug>
 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, QWidget* \
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 pix, \
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::PixmapType pix )
 void K3b::ThemedLabel::slotThemeChanged()
 {
     setAutoFillBackground( true );
+    if (k3bappcore == Q_NULLPTR)
+        return;
     if( K3b::Theme* theme = k3bappcore->themeManager()->currentTheme() ) {
         QPalette p = 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.MainWindow.xml \
${CMAKE_SOURCE_DIR}/src/k3binterface.h K3b::Interface k3binterfaceadaptor \
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 k3bjobinterfaceadaptor 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.Project.xml \
${CMAKE_SOURCE_DIR}/src/k3bprojectinterface.h K3b::ProjectInterface \
k3bprojectinterfaceadaptor K3bProjectInterfaceAdaptor) \
+qt5_generate_dbus_interface(${CMAKE_SOURCE_DIR}/src/k3baudioprojectinterface.h \
org.k3b.AudioProject.xml) +qt5_add_dbus_adaptor(dbus_sources \
${CMAKE_CURRENT_BINARY_DIR}/org.k3b.AudioProject.xml \
${CMAKE_SOURCE_DIR}/src/k3baudioprojectinterface.h K3b::AudioProjectInterface \
k3baudioprojectinterfaceadaptor K3bAudioProjectInterfaceAdaptor) \
+qt5_generate_dbus_interface(${CMAKE_SOURCE_DIR}/src/k3bdataprojectinterface.h \
org.k3b.DataProject.xml) +qt5_add_dbus_adaptor(dbus_sources \
${CMAKE_CURRENT_BINARY_DIR}/org.k3b.DataProject.xml \
${CMAKE_SOURCE_DIR}/src/k3bdataprojectinterface.h K3b::DataProjectInterface \
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/k3bexternalbinmanagertest.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 <QtTest/QTest>
+
 #include "k3bexternalbinmanagertest.h"
+#include "k3bcore.h"
+#include "k3bjob.h"
 #include "k3bexternalbinmanager.h"
+#include "k3bburnprogressdialog.h"
 
-#include <QtTest/QTest>
+class MyBurnJob : public K3b::BurnJob 
+{
+    Q_OBJECT
+
+public:
+    MyBurnJob(K3b::JobHandler* hdl, QObject* parent = 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 = \
k3bcore->externalBinManager()->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 = new K3b::BurnProgressDialog;
+    MyBurnJob* job = 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/k3bexternalbinmanagertest.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 <QtCore/QObject>
+#include <QObject>
 
 class ExternalBinManagerTest : public QObject
 {
     Q_OBJECT
+
 public:
     ExternalBinManagerTest();
-private slots:
+
+private Q_SLOTS:
     void testBinObject();
+    void testMyBurnJob();
 };
 
 #endif // K3B_EXTERNAL_BINMANAGER_TEST_H


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic