on 5414830 help sign in
unity8/tests/plugins/Unity/previewbindingstest.cpp
114 lines 5.1 kB history raw
1/*
2 * Copyright (C) 2011, 2013 Canonical, Ltd.
3 *
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.
7 *
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 General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17#include "previewbindingstest.h"
18#include <QTest>
20#include <UnityCore/Preview.h>
21#include <UnityCore/GLibWrapper.h>
22#include <unity-protocol.h>
24#include "genericpreview.h"
25#include "applicationpreview.h"
26#include "moviepreview.h"
27#include "musicpreview.h"
29void PreviewBindingsTest::initTestCase()
33void PreviewBindingsTest::testGenericPreview()
35 auto raw_preview = (GObject *)unity_protocol_generic_preview_new();
36 unity_protocol_preview_set_title(UNITY_PROTOCOL_PREVIEW(raw_preview), "Metallica");
37 unity_protocol_preview_set_subtitle(UNITY_PROTOCOL_PREVIEW(raw_preview), "Ride The Lightning");
38 unity_protocol_preview_set_description(UNITY_PROTOCOL_PREVIEW(raw_preview), "Lorem ipsum dolor sit amet");
39 unity::glib::Object<GObject> gen_prv(raw_preview);
41 auto core_prv = unity::dash::Preview::PreviewForProtocolObject(gen_prv);
42 auto prv = Preview::newFromUnityPreview(core_prv);
44 QCOMPARE(prv != nullptr, true);
45 QCOMPARE(prv->title(), QString("Metallica"));
46 QCOMPARE(prv->subtitle(), QString("Ride The Lightning"));
47 QCOMPARE(prv->description(), QString("Lorem ipsum dolor sit amet"));
50void PreviewBindingsTest::testApplicationPreview()
52 auto raw_preview = (GObject *)unity_protocol_application_preview_new();
53 unity_protocol_preview_set_title(UNITY_PROTOCOL_PREVIEW(raw_preview), "Firefox");
54 unity_protocol_preview_set_subtitle(UNITY_PROTOCOL_PREVIEW(raw_preview), "Web Browser");
55 unity_protocol_preview_set_description(UNITY_PROTOCOL_PREVIEW(raw_preview), "Lorem ipsum dolor sit amet");
56 unity_protocol_application_preview_set_license(UNITY_PROTOCOL_APPLICATION_PREVIEW(raw_preview), "GPL");
57 unity_protocol_application_preview_set_rating(UNITY_PROTOCOL_APPLICATION_PREVIEW(raw_preview), 0.5f);
58 unity_protocol_application_preview_set_num_ratings(UNITY_PROTOCOL_APPLICATION_PREVIEW(raw_preview), 4);
59 unity::glib::Object<GObject> gen_prv(raw_preview);
61 auto core_prv = unity::dash::Preview::PreviewForProtocolObject(gen_prv);
62 auto prv = Preview::newFromUnityPreview(core_prv);
63 auto app_prv = dynamic_cast<ApplicationPreview*>(prv);
65 QCOMPARE(app_prv != nullptr, true);
66 QCOMPARE(app_prv->title(), QString("Firefox"));
67 QCOMPARE(app_prv->subtitle(), QString("Web Browser"));
68 QCOMPARE(app_prv->description(), QString("Lorem ipsum dolor sit amet"));
69 QCOMPARE(app_prv->license(), QString("GPL"));
70 QCOMPARE(app_prv->rating(), 0.5f);
71 QCOMPARE(app_prv->numRatings(), unsigned (4));
74void PreviewBindingsTest::testMoviePreview()
76 auto raw_preview = (GObject *)unity_protocol_movie_preview_new();
77 unity_protocol_preview_set_title(UNITY_PROTOCOL_PREVIEW(raw_preview), "Blade Runner");
78 unity_protocol_preview_set_subtitle(UNITY_PROTOCOL_PREVIEW(raw_preview), "Ridley Scott");
79 unity_protocol_preview_set_description(UNITY_PROTOCOL_PREVIEW(raw_preview), "Lorem ipsum dolor sit amet");
80 unity_protocol_movie_preview_set_year(UNITY_PROTOCOL_MOVIE_PREVIEW(raw_preview), "1982");
81 unity::glib::Object<GObject> gen_prv(raw_preview);
83 auto core_prv = unity::dash::Preview::PreviewForProtocolObject(gen_prv);
84 auto prv = Preview::newFromUnityPreview(core_prv);
85 auto movie_prv = dynamic_cast<MoviePreview*>(prv);
87 QCOMPARE(movie_prv != nullptr, true);
88 QCOMPARE(movie_prv->title(), QString("Blade Runner"));
89 QCOMPARE(movie_prv->subtitle(), QString("Ridley Scott"));
90 QCOMPARE(movie_prv->description(), QString("Lorem ipsum dolor sit amet"));
91 QCOMPARE(movie_prv->year(), QString("1982"));
94void PreviewBindingsTest::testMusicPreview()
96 auto raw_preview = (GObject *)unity_protocol_music_preview_new();
97 unity_protocol_preview_set_title(UNITY_PROTOCOL_PREVIEW(raw_preview), "Metallica");
98 unity_protocol_preview_set_subtitle(UNITY_PROTOCOL_PREVIEW(raw_preview), "Death Magnetic");
99 unity_protocol_preview_set_description(UNITY_PROTOCOL_PREVIEW(raw_preview), "Lorem ipsum dolor sit amet");
100 unity::glib::Object<GObject> gen_prv(raw_preview);
102 auto core_prv = unity::dash::Preview::PreviewForProtocolObject(gen_prv);
103 auto prv = Preview::newFromUnityPreview(core_prv);
104 auto music_prv = dynamic_cast<MusicPreview*>(prv);
106 QCOMPARE(music_prv != nullptr, true);
107 QCOMPARE(music_prv->title(), QString("Metallica"));
108 QCOMPARE(music_prv->subtitle(), QString("Death Magnetic"));
109 QCOMPARE(music_prv->description(), QString("Lorem ipsum dolor sit amet"));
112QTEST_MAIN(PreviewBindingsTest)
114#include "previewbindingstest.moc"