@@ -27,6 +27,10 @@
27#include "musicpreview.h"
27#include "musicpreview.h"
28#include "socialpreview.h"
28#include "socialpreview.h"
29#include "socialpreviewcomment.h"
29#include "socialpreviewcomment.h"
30+#include "previewaction.h"
33+#include <glib-object.h>
31void PreviewBindingsTest::initTestCase()
35void PreviewBindingsTest::initTestCase()
@@ -38,6 +42,9 @@ void PreviewBindingsTest::testGenericPreview()
38 unity_protocol_preview_set_title(UNITY_PROTOCOL_PREVIEW(raw_preview), "Metallica");
42 unity_protocol_preview_set_title(UNITY_PROTOCOL_PREVIEW(raw_preview), "Metallica");
39 unity_protocol_preview_set_subtitle(UNITY_PROTOCOL_PREVIEW(raw_preview), "Ride The Lightning");
43 unity_protocol_preview_set_subtitle(UNITY_PROTOCOL_PREVIEW(raw_preview), "Ride The Lightning");
40 unity_protocol_preview_set_description(UNITY_PROTOCOL_PREVIEW(raw_preview), "Lorem ipsum dolor sit amet");
44 unity_protocol_preview_set_description(UNITY_PROTOCOL_PREVIEW(raw_preview), "Lorem ipsum dolor sit amet");
45+ GFile *icon_file = g_file_new_for_path("/foo.png");
46+ GIcon *icon = g_file_icon_new(icon_file);
47+ unity_protocol_preview_add_action(UNITY_PROTOCOL_PREVIEW(raw_preview), "1", "Action1", icon, UNITY_PROTOCOL_LAYOUT_HINT_LEFT);
41 unity::glib::Object<GObject> gen_prv(raw_preview);
48 unity::glib::Object<GObject> gen_prv(raw_preview);
43 auto core_prv = unity::dash::Preview::PreviewForProtocolObject(gen_prv);
50 auto core_prv = unity::dash::Preview::PreviewForProtocolObject(gen_prv);
@@ -47,6 +54,17 @@ void PreviewBindingsTest::testGenericPreview()
47 QCOMPARE(prv->title(), QString("Metallica"));
54 QCOMPARE(prv->title(), QString("Metallica"));
48 QCOMPARE(prv->subtitle(), QString("Ride The Lightning"));
55 QCOMPARE(prv->subtitle(), QString("Ride The Lightning"));
49 QCOMPARE(prv->description(), QString("Lorem ipsum dolor sit amet"));
56 QCOMPARE(prv->description(), QString("Lorem ipsum dolor sit amet"));
58+ auto actions = prv->actions().value<QList<QObject *>>();
59+ QCOMPARE(actions.size(), 1);
60+ auto act = dynamic_cast<PreviewAction *>(actions[0]);
61+ QVERIFY(act != nullptr);
62+ QCOMPARE(act->id(), QString("1"));
63+ QCOMPARE(act->displayName(), QString("Action1"));
64+ QCOMPARE(act->iconHint(), QString("/foo.png"));
66+ g_object_unref(icon);
67+ g_object_unref(icon_file);
52void PreviewBindingsTest::testApplicationPreview()
70void PreviewBindingsTest::testApplicationPreview()
@@ -113,8 +131,12 @@ void PreviewBindingsTest::testMusicPreview()
114void PreviewBindingsTest::testSocialPreview()
132void PreviewBindingsTest::testSocialPreview()
134+ GFile *icon_file = g_file_new_for_path("/foo.png");
135+ GIcon *icon = g_file_icon_new(icon_file);
116 auto raw_preview = (GObject *)unity_protocol_social_preview_new();
137 auto raw_preview = (GObject *)unity_protocol_social_preview_new();
117 unity_protocol_social_preview_set_sender(UNITY_PROTOCOL_SOCIAL_PREVIEW(raw_preview), "John");
138 unity_protocol_social_preview_set_sender(UNITY_PROTOCOL_SOCIAL_PREVIEW(raw_preview), "John");
139+ unity_protocol_social_preview_set_avatar(UNITY_PROTOCOL_SOCIAL_PREVIEW(raw_preview), icon);
118 unity_protocol_social_preview_set_content(UNITY_PROTOCOL_SOCIAL_PREVIEW(raw_preview), "Lorem ipsum dolor sit amet");
140 unity_protocol_social_preview_set_content(UNITY_PROTOCOL_SOCIAL_PREVIEW(raw_preview), "Lorem ipsum dolor sit amet");
119 unity_protocol_social_preview_add_comment(UNITY_PROTOCOL_SOCIAL_PREVIEW(raw_preview), "1", "comment1", "Ubuntu", "2013-07-04 14:10");
141 unity_protocol_social_preview_add_comment(UNITY_PROTOCOL_SOCIAL_PREVIEW(raw_preview), "1", "comment1", "Ubuntu", "2013-07-04 14:10");
120 unity::glib::Object<GObject> gen_prv(raw_preview);
142 unity::glib::Object<GObject> gen_prv(raw_preview);
@@ -126,6 +148,7 @@ void PreviewBindingsTest::testSocialPreview()
126 QCOMPARE(social_prv != nullptr, true);
148 QCOMPARE(social_prv != nullptr, true);
127 QCOMPARE(social_prv->sender(), QString("John"));
149 QCOMPARE(social_prv->sender(), QString("John"));
128 QCOMPARE(social_prv->content(), QString("Lorem ipsum dolor sit amet"));
150 QCOMPARE(social_prv->content(), QString("Lorem ipsum dolor sit amet"));
151+ QCOMPARE(social_prv->avatar(), QString("/foo.png"));
130 auto comments = social_prv->comments().value<QList<QObject *>>();
153 auto comments = social_prv->comments().value<QList<QObject *>>();
131 QCOMPARE(comments.size(), 1);
154 QCOMPARE(comments.size(), 1);
@@ -135,6 +158,9 @@ void PreviewBindingsTest::testSocialPreview()
135 QCOMPARE(cmt->displayName(), QString("comment1"));
158 QCOMPARE(cmt->displayName(), QString("comment1"));
136 QCOMPARE(cmt->content(), QString("Ubuntu"));
159 QCOMPARE(cmt->content(), QString("Ubuntu"));
137 QCOMPARE(cmt->time(), QString("2013-07-04 14:10"));
160 QCOMPARE(cmt->time(), QString("2013-07-04 14:10"));
162+ g_object_unref(icon);
163+ g_object_unref(icon_file);
140QTEST_MAIN(PreviewBindingsTest)
166QTEST_MAIN(PreviewBindingsTest)