2
* Copyright (C) 2013 Canonical, Ltd.
4
* This program is free software: you can redistribute it and/or modify it under
5
* the terms of the GNU Lesser General Public License version 3, as published by
6
* the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful, but WITHOUT
9
* ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
10
* SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
* Lesser General Public License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
#ifndef MOCK_DESKTOP_FILE_READER_H
19
#define MOCK_DESKTOP_FILE_READER_H
21
#include <Unity/Application/desktopfilereader.h>
23
#include <gmock/gmock.h>
27
struct MockDesktopFileReader : public qtmir::DesktopFileReader
29
MockDesktopFileReader(const QString &appId, const QFileInfo& fileInfo)
30
: DesktopFileReader(appId, fileInfo)
32
using namespace ::testing;
34
ON_CALL(*this, file()).WillByDefault(Invoke(this, &MockDesktopFileReader::doFile));
35
ON_CALL(*this, appId()).WillByDefault(Invoke(this, &MockDesktopFileReader::doAppId));
36
ON_CALL(*this, name()).WillByDefault(Invoke(this, &MockDesktopFileReader::doName));
37
ON_CALL(*this, comment()).WillByDefault(Invoke(this, &MockDesktopFileReader::doComment));
38
ON_CALL(*this, icon()).WillByDefault(Invoke(this, &MockDesktopFileReader::doIcon));
39
ON_CALL(*this, exec()).WillByDefault(Invoke(this, &MockDesktopFileReader::doExec));
40
ON_CALL(*this, path()).WillByDefault(Invoke(this, &MockDesktopFileReader::doPath));
41
ON_CALL(*this, stageHint()).WillByDefault(Invoke(this, &MockDesktopFileReader::doStageHint));
42
ON_CALL(*this, loaded()).WillByDefault(Invoke(this, &MockDesktopFileReader::doLoaded));
45
MOCK_CONST_METHOD0(file, QString());
46
MOCK_CONST_METHOD0(appId, QString ());
47
MOCK_CONST_METHOD0(name, QString());
48
MOCK_CONST_METHOD0(comment, QString());
49
MOCK_CONST_METHOD0(icon, QString());
50
MOCK_CONST_METHOD0(exec, QString());
51
MOCK_CONST_METHOD0(path, QString());
52
MOCK_CONST_METHOD0(stageHint, QString());
53
MOCK_CONST_METHOD0(loaded, bool());
55
QString doFile() const
57
return DesktopFileReader::file();
60
QString doAppId() const
62
return DesktopFileReader::appId();
65
QString doName() const
67
return DesktopFileReader::name();
70
QString doComment() const
72
return DesktopFileReader::comment();
75
QString doIcon() const
77
return DesktopFileReader::icon();
80
QString doExec() const
82
return DesktopFileReader::exec();
85
QString doPath() const
87
return DesktopFileReader::path();
90
QString doStageHint() const
92
return DesktopFileReader::stageHint();
97
return DesktopFileReader::loaded();
101
struct MockDesktopFileReaderFactory : public qtmir::DesktopFileReader::Factory
103
MockDesktopFileReaderFactory()
105
using namespace ::testing;
106
ON_CALL(*this, createInstance(_, _))
110
&MockDesktopFileReaderFactory::doCreateInstance));
113
virtual qtmir::DesktopFileReader* doCreateInstance(const QString &appId, const QFileInfo &fi)
115
using namespace ::testing;
116
auto instance = new NiceMock<MockDesktopFileReader>(appId, fi);
117
ON_CALL(*instance, loaded()).WillByDefault(Return(true));
122
MOCK_METHOD2(createInstance, qtmir::DesktopFileReader*(const QString &appId, const QFileInfo &fi));
126
#endif // MOCK_DESKTOP_FILE_READER_H