2
* Copyright 2013 Canonical Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU 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/>.
17
* Michał Sawicz <michal.sawicz@canonical.com>
21
#include <testnotificationsplugin.h>
22
#include <Mocks/mockmodel.h>
23
#include <Mocks/mocksource.h>
24
#include <Mocks/mocknotification.h>
26
#include <unity/shell/notifications/enums.h>
27
#include <unity/shell/notifications/model.h>
28
#include <unity/shell/notifications/source.h>
29
#include <unity/shell/notifications/notification.h>
33
using namespace unity::shell::notifications;
35
static QObject* modelProvider(QQmlEngine* /* engine */, QJSEngine* /* scriptEngine */)
37
return new MockModel();
40
static QObject* sourceProvider(QQmlEngine* /* engine */, QJSEngine* /* scriptEngine */)
42
return new MockSource();
45
void TestNotificationsPlugin::registerTypes(const char *uri)
47
// @uri Unity.Notifications
48
qmlRegisterUncreatableType<Urgency>(uri, 0, 1, "Urgency", "Urgency is just a enum wrapper");
49
qmlRegisterUncreatableType<Type>(uri, 0, 1, "Type", "Type is just a enum wrapper");
50
qmlRegisterUncreatableType<Hint>(uri, 0, 1, "Hint", "Hint is just a enum wrapper");
51
qmlRegisterUncreatableType<NotificationInterface>(uri, 0, 1, "NotificationInterface", "NotificationInterface is an abstract base class");
52
qmlRegisterUncreatableType<ModelInterface>(uri, 0, 1, "ModelInterface", "ModelInterface is an abstract base class");
53
qmlRegisterUncreatableType<SourceInterface>(uri, 0, 1, "SourceInterface", "SourceInterface is an abstract base class");
55
qmlRegisterUncreatableType<MockNotification>(uri, 0, 1, "Notification", "Notification objects can only be created by the plugin");
56
qmlRegisterSingletonType<MockSource>(uri, 0, 1, "Source", sourceProvider);
57
qmlRegisterSingletonType<MockModel>(uri, 0, 1, "Model", modelProvider);