mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-25 19:32:54 +00:00
186 lines
6.1 KiB
C++
186 lines
6.1 KiB
C++
/****************************************************************************************
|
|
* Copyright (c) 2012 Jasneet Singh Bhatti <jazneetbhatti@gmail.com> *
|
|
* This program is free software; you can redistribute it and/or modify it under *
|
|
* the terms of the GNU General Public License as published by the Free Software *
|
|
* Foundation; either version 2 of the License, or (at your option) any later *
|
|
* version. *
|
|
* *
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT ANY *
|
|
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A *
|
|
* PARTICULAR PURPOSE. See the GNU General Public License for more details. *
|
|
* *
|
|
* You should have received a copy of the GNU General Public License along with *
|
|
* this program. If not, see <http://www.gnu.org/licenses/>. *
|
|
****************************************************************************************/
|
|
|
|
#ifndef COLLECTIONS_MOCKQUERYMAKER
|
|
#define COLLECTIONS_MOCKQUERYMAKER
|
|
|
|
#include "core/collections/QueryMaker.h"
|
|
|
|
using namespace Collections;
|
|
|
|
/**
|
|
* Ad-hoc mock to test the QueryMaker class
|
|
*/
|
|
class MockQueryMaker : public QueryMaker
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
/**
|
|
* For the vtable generated by the compiler
|
|
*/
|
|
virtual ~MockQueryMaker();
|
|
|
|
/**
|
|
* To prevent QueryMaker::addMatch( const Meta::LabelPtr& ) from being hidden
|
|
*/
|
|
using QueryMaker::addMatch;
|
|
|
|
/**
|
|
* Mock implementations of pure virtual methods of class Collections::QueryMaker
|
|
* to enable creation of an instance of this mock class
|
|
*
|
|
* NOT TO BE USED ANYWHERE IN THE TEST
|
|
*/
|
|
virtual void run()
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
}
|
|
|
|
virtual void abortQuery()
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
}
|
|
|
|
virtual QueryMaker *setQueryType( QueryType )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *addReturnValue( qint64 )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *addReturnFunction( ReturnFunction, qint64 )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *orderBy( qint64, bool )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *addMatch( const Meta::TrackPtr& )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *addMatch( const Meta::ArtistPtr& , ArtistMatchBehaviour )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *addMatch( const Meta::AlbumPtr& )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *addMatch( const Meta::ComposerPtr& )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *addMatch( const Meta::GenrePtr& )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *addMatch( const Meta::YearPtr& )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *addFilter( qint64, const QString&, bool, bool )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *excludeFilter( qint64, const QString&, bool, bool )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *addNumberFilter( qint64, qint64, NumberComparison )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *excludeNumberFilter( qint64, qint64, NumberComparison )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *limitMaxResultSize( int )
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *beginAnd()
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *beginOr()
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
virtual QueryMaker *endAndOr()
|
|
{
|
|
Q_ASSERT_X( false, __PRETTY_FUNCTION__, "should not be called");
|
|
return 0;
|
|
}
|
|
|
|
/**
|
|
* This method helps to determine if queryDone() has been connected/disconnected
|
|
* with slot deleteLater()
|
|
*/
|
|
virtual void emitQueryDone()
|
|
{
|
|
emit queryDone();
|
|
}
|
|
|
|
public slots:
|
|
/**
|
|
* Overrides the default deleteLater() slot provided by QObject since the default
|
|
* slot implements a deferred delete of the object and is not easily testable
|
|
* We only need to test if the slot is triggered or not
|
|
*/
|
|
virtual void deleteLater()
|
|
{
|
|
emit destroyed();
|
|
}
|
|
};
|
|
|
|
#endif // COLLECTIONS_MOCKQUERYMAKER_H
|