Merge lp:~3v1n0/unity/app-icon-ensure-on-running-6.0 into lp:unity/6.0
- app-icon-ensure-on-running-6.0
- Merge into 6.0
Proposed by
Marco Trevisan (Treviño)
Status: | Merged |
---|---|
Approved by: | Brandon Schaefer |
Approved revision: | no longer in the source branch. |
Merged at revision: | 2777 |
Proposed branch: | lp:~3v1n0/unity/app-icon-ensure-on-running-6.0 |
Merge into: | lp:unity/6.0 |
Diff against target: |
508 lines (+347/-18) 6 files modified
launcher/BamfLauncherIcon.cpp (+22/-8) tests/CMakeLists.txt (+1/-0) tests/bamf-mock-application.c (+201/-0) tests/bamf-mock-application.h (+77/-0) tests/test_bamf_launcher_icon.cpp (+43/-8) tests/test_launcher_controller.cpp (+3/-2) |
To merge this branch: | bzr merge lp:~3v1n0/unity/app-icon-ensure-on-running-6.0 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Brandon Schaefer (community) | Approve | ||
Review via email: mp+129470@code.launchpad.net |
Commit message
BamfLauncherIcon: ensure the icon and name values when the running state changes
This avoids to get "?" icons
Description of the change
Backported branch lp:~3v1n0/unity/app-icon-ensure-on-running/+merge/129469 to 6.0
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'launcher/BamfLauncherIcon.cpp' |
2 | --- launcher/BamfLauncherIcon.cpp 2012-09-28 22:33:55 +0000 |
3 | +++ launcher/BamfLauncherIcon.cpp 2012-10-12 18:26:21 +0000 |
4 | @@ -81,7 +81,7 @@ |
5 | glib::SignalBase* sig; |
6 | |
7 | sig = new glib::Signal<void, BamfView*, BamfView*>(bamf_view, "child-added", |
8 | - [&] (BamfView*, BamfView*) { |
9 | + [this] (BamfView*, BamfView*) { |
10 | EnsureWindowState(); |
11 | UpdateMenus(); |
12 | UpdateIconGeometries(GetCenters()); |
13 | @@ -89,7 +89,7 @@ |
14 | _gsignals.Add(sig); |
15 | |
16 | sig = new glib::Signal<void, BamfView*, BamfView*>(bamf_view, "child-removed", |
17 | - [&] (BamfView*, BamfView*) { EnsureWindowState(); }); |
18 | + [this] (BamfView*, BamfView*) { EnsureWindowState(); }); |
19 | _gsignals.Add(sig); |
20 | |
21 | sig = new glib::Signal<void, BamfView*, BamfView*>(bamf_view, "child-moved", |
22 | @@ -99,39 +99,53 @@ |
23 | _gsignals.Add(sig); |
24 | |
25 | sig = new glib::Signal<void, BamfView*, gboolean>(bamf_view, "urgent-changed", |
26 | - [&] (BamfView*, gboolean urgent) { |
27 | + [this] (BamfView*, gboolean urgent) { |
28 | SetQuirk(Quirk::URGENT, urgent); |
29 | }); |
30 | _gsignals.Add(sig); |
31 | |
32 | sig = new glib::Signal<void, BamfView*, gboolean>(bamf_view, "active-changed", |
33 | - [&] (BamfView*, gboolean active) { |
34 | + [this] (BamfView*, gboolean active) { |
35 | SetQuirk(Quirk::ACTIVE, active); |
36 | }); |
37 | _gsignals.Add(sig); |
38 | |
39 | sig = new glib::Signal<void, BamfView*, gboolean>(bamf_view, "running-changed", |
40 | - [&] (BamfView*, gboolean running) { |
41 | + [this] (BamfView* view, gboolean running) { |
42 | SetQuirk(Quirk::RUNNING, running); |
43 | |
44 | if (running) |
45 | { |
46 | + _source_manager.Remove(ICON_REMOVE_TIMEOUT); |
47 | + |
48 | + /* It can happen that these values are not set |
49 | + * during initialization if the view is closed |
50 | + * very early, so we need to make sure that they |
51 | + * are updated as soon as the view is re-opened. */ |
52 | + if (tooltip_text().empty()) |
53 | + tooltip_text = BamfName(); |
54 | + |
55 | + if (icon_name == DEFAULT_ICON) |
56 | + { |
57 | + glib::String icon(bamf_view_get_icon(view)); |
58 | + icon_name = (icon ? icon.Str() : DEFAULT_ICON); |
59 | + } |
60 | + |
61 | EnsureWindowState(); |
62 | UpdateIconGeometries(GetCenters()); |
63 | - _source_manager.Remove(ICON_REMOVE_TIMEOUT); |
64 | } |
65 | }); |
66 | _gsignals.Add(sig); |
67 | |
68 | sig = new glib::Signal<void, BamfView*, gboolean>(bamf_view, "user-visible-changed", |
69 | - [&] (BamfView*, gboolean visible) { |
70 | + [this] (BamfView*, gboolean visible) { |
71 | if (!IsSticky()) |
72 | SetQuirk(Quirk::VISIBLE, visible); |
73 | }); |
74 | _gsignals.Add(sig); |
75 | |
76 | sig = new glib::Signal<void, BamfView*>(bamf_view, "closed", |
77 | - [&] (BamfView*) { |
78 | + [this] (BamfView*) { |
79 | if (!IsSticky()) |
80 | { |
81 | SetQuirk(Quirk::VISIBLE, false); |
82 | |
83 | === modified file 'tests/CMakeLists.txt' |
84 | --- tests/CMakeLists.txt 2012-10-09 10:48:30 +0000 |
85 | +++ tests/CMakeLists.txt 2012-10-12 18:26:21 +0000 |
86 | @@ -244,6 +244,7 @@ |
87 | test_unity_settings.cpp |
88 | test_volume_imp.cpp |
89 | test_volume_launcher_icon.cpp |
90 | + bamf-mock-application.c |
91 | gmockmount.c |
92 | gmockvolume.c |
93 | ${CMAKE_SOURCE_DIR}/dash/AbstractPlacesGroup.cpp |
94 | |
95 | === added file 'tests/bamf-mock-application.c' |
96 | --- tests/bamf-mock-application.c 1970-01-01 00:00:00 +0000 |
97 | +++ tests/bamf-mock-application.c 2012-10-12 18:26:21 +0000 |
98 | @@ -0,0 +1,201 @@ |
99 | +// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*- |
100 | +/* |
101 | + * Copyright 2012 Canonical Ltd. |
102 | + * |
103 | + * This program is free software: you can redistribute it and/or modify it |
104 | + * under the terms of the GNU Lesser General Public License version 3, as |
105 | + * published by the Free Software Foundation. |
106 | + * |
107 | + * This program is distributed in the hope that it will be useful, but |
108 | + * WITHOUT ANY WARRANTY; without even the implied warranties of |
109 | + * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR |
110 | + * PURPOSE. See the applicable version of the GNU Lesser General Public |
111 | + * License for more details. |
112 | + * |
113 | + * You should have received a copy of both the GNU Lesser General Public |
114 | + * License version 3 along with this program. If not, see |
115 | + * <http://www.gnu.org/licenses/> |
116 | + * |
117 | + * Authored by: Marco Trevisan <marco.trevisan@canonical.com> |
118 | + * |
119 | + */ |
120 | + |
121 | +#include "bamf-mock-application.h" |
122 | + |
123 | +G_DEFINE_TYPE (BamfMockApplication, bamf_mock_application, BAMF_TYPE_APPLICATION); |
124 | + |
125 | +#define BAMF_MOCK_APPLICATION_GET_PRIVATE(o) \ |
126 | + (G_TYPE_INSTANCE_GET_PRIVATE ((o), BAMF_TYPE_MOCK_APPLICATION, BamfMockApplicationPrivate)) |
127 | + |
128 | +struct _BamfMockApplicationPrivate |
129 | +{ |
130 | + gboolean active; |
131 | + gboolean running; |
132 | + gboolean urgent; |
133 | + gchar * name; |
134 | + gchar * icon; |
135 | + GList * children; |
136 | +}; |
137 | + |
138 | +void |
139 | +bamf_mock_application_set_active (BamfMockApplication * self, gboolean active) |
140 | +{ |
141 | + g_return_if_fail (BAMF_IS_MOCK_APPLICATION (self)); |
142 | + |
143 | + if (self->priv->active != active) |
144 | + { |
145 | + self->priv->active = active; |
146 | + g_signal_emit_by_name (G_OBJECT (self), "active-changed", active, NULL); |
147 | + } |
148 | +} |
149 | + |
150 | +void |
151 | +bamf_mock_application_set_running (BamfMockApplication * self, gboolean running) |
152 | +{ |
153 | + g_return_if_fail (BAMF_IS_MOCK_APPLICATION (self)); |
154 | + |
155 | + if (self->priv->running != running) |
156 | + { |
157 | + self->priv->running = running; |
158 | + g_signal_emit_by_name (G_OBJECT (self), "running-changed", running, NULL); |
159 | + } |
160 | +} |
161 | + |
162 | +void |
163 | +bamf_mock_application_set_urgent (BamfMockApplication * self, gboolean urgent) |
164 | +{ |
165 | + g_return_if_fail (BAMF_IS_MOCK_APPLICATION (self)); |
166 | + |
167 | + if (self->priv->urgent != urgent) |
168 | + { |
169 | + self->priv->urgent = urgent; |
170 | + g_signal_emit_by_name (G_OBJECT (self), "urgent-changed", urgent, NULL); |
171 | + } |
172 | +} |
173 | + |
174 | +void |
175 | +bamf_mock_application_set_name (BamfMockApplication * self, const gchar * name) |
176 | +{ |
177 | + g_return_if_fail (BAMF_IS_MOCK_APPLICATION (self)); |
178 | + |
179 | + if (g_strcmp0 (self->priv->name, name) != 0) |
180 | + { |
181 | + char *old = self->priv->name; |
182 | + self->priv->name = g_strdup (name); |
183 | + g_signal_emit_by_name (G_OBJECT (self), "name-changed", old, self->priv->name, NULL); |
184 | + g_free (old); |
185 | + } |
186 | +} |
187 | + |
188 | +void |
189 | +bamf_mock_application_set_icon (BamfMockApplication * self, const gchar * icon) |
190 | +{ |
191 | + g_return_if_fail (BAMF_IS_MOCK_APPLICATION (self)); |
192 | + |
193 | + g_free (self->priv->icon); |
194 | + self->priv->icon = g_strdup (icon); |
195 | +} |
196 | + |
197 | +void |
198 | +bamf_mock_application_set_children (BamfMockApplication * self, GList * children) |
199 | +{ |
200 | + g_return_if_fail (BAMF_IS_MOCK_APPLICATION (self)); |
201 | + |
202 | + g_list_free (self->priv->children); |
203 | + self->priv->children = g_list_copy (children); |
204 | +} |
205 | + |
206 | +static void |
207 | +bamf_mock_application_finalize (GObject *object) |
208 | +{ |
209 | + BamfMockApplication *self = BAMF_MOCK_APPLICATION (object); |
210 | + |
211 | + g_free (self->priv->name); |
212 | + g_free (self->priv->icon); |
213 | + g_list_free (self->priv->children); |
214 | +} |
215 | + |
216 | +static GList * |
217 | +bamf_mock_application_get_children (BamfView *view) |
218 | +{ |
219 | + g_return_val_if_fail (BAMF_IS_MOCK_APPLICATION (view), NULL); |
220 | + BamfMockApplication *self = BAMF_MOCK_APPLICATION (view); |
221 | + return g_list_copy (self->priv->children); |
222 | +} |
223 | + |
224 | +static gboolean |
225 | +bamf_mock_application_is_active (BamfView *view) |
226 | +{ |
227 | + g_return_val_if_fail (BAMF_IS_MOCK_APPLICATION (view), FALSE); |
228 | + BamfMockApplication *self = BAMF_MOCK_APPLICATION (view); |
229 | + return self->priv->active; |
230 | +} |
231 | + |
232 | +static gboolean |
233 | +bamf_mock_application_is_running (BamfView *view) |
234 | +{ |
235 | + g_return_val_if_fail (BAMF_IS_MOCK_APPLICATION (view), FALSE); |
236 | + BamfMockApplication *self = BAMF_MOCK_APPLICATION (view); |
237 | + return self->priv->running; |
238 | +} |
239 | + |
240 | +static gboolean |
241 | +bamf_mock_application_is_urgent (BamfView *view) |
242 | +{ |
243 | + g_return_val_if_fail (BAMF_IS_MOCK_APPLICATION (view), FALSE); |
244 | + BamfMockApplication *self = BAMF_MOCK_APPLICATION (view); |
245 | + return self->priv->urgent; |
246 | +} |
247 | + |
248 | +static char * |
249 | +bamf_mock_application_get_name (BamfView *view) |
250 | +{ |
251 | + g_return_val_if_fail (BAMF_IS_MOCK_APPLICATION (view), NULL); |
252 | + BamfMockApplication *self = BAMF_MOCK_APPLICATION (view); |
253 | + return g_strdup (self->priv->name); |
254 | +} |
255 | + |
256 | +static char * |
257 | +bamf_mock_application_get_icon (BamfView *view) |
258 | +{ |
259 | + g_return_val_if_fail (BAMF_IS_MOCK_APPLICATION (view), NULL); |
260 | + BamfMockApplication *self = BAMF_MOCK_APPLICATION (view); |
261 | + return g_strdup (self->priv->icon); |
262 | +} |
263 | + |
264 | +static const char * |
265 | +bamf_mock_application_view_type (BamfView *view) |
266 | +{ |
267 | + g_return_val_if_fail (BAMF_IS_MOCK_APPLICATION (view), NULL); |
268 | + return "mock-application"; |
269 | +} |
270 | + |
271 | +static void |
272 | +bamf_mock_application_class_init (BamfMockApplicationClass *klass) |
273 | +{ |
274 | + GObjectClass *obj_class = G_OBJECT_CLASS (klass); |
275 | + BamfViewClass *view_class = BAMF_VIEW_CLASS (klass); |
276 | + |
277 | + obj_class->finalize = bamf_mock_application_finalize; |
278 | + view_class->get_children = bamf_mock_application_get_children; |
279 | + view_class->is_active = bamf_mock_application_is_active; |
280 | + view_class->is_running = bamf_mock_application_is_running; |
281 | + view_class->is_urgent = bamf_mock_application_is_urgent; |
282 | + view_class->get_name = bamf_mock_application_get_name; |
283 | + view_class->get_icon = bamf_mock_application_get_icon; |
284 | + view_class->view_type = bamf_mock_application_view_type; |
285 | + |
286 | + g_type_class_add_private (obj_class, sizeof (BamfMockApplicationPrivate)); |
287 | +} |
288 | + |
289 | +static void |
290 | +bamf_mock_application_init (BamfMockApplication *self) |
291 | +{ |
292 | + self->priv = BAMF_MOCK_APPLICATION_GET_PRIVATE (self); |
293 | +} |
294 | + |
295 | +BamfMockApplication * |
296 | +bamf_mock_application_new () |
297 | +{ |
298 | + return g_object_new (BAMF_TYPE_MOCK_APPLICATION, NULL); |
299 | +} |
300 | \ No newline at end of file |
301 | |
302 | === added file 'tests/bamf-mock-application.h' |
303 | --- tests/bamf-mock-application.h 1970-01-01 00:00:00 +0000 |
304 | +++ tests/bamf-mock-application.h 2012-10-12 18:26:21 +0000 |
305 | @@ -0,0 +1,77 @@ |
306 | +// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*- |
307 | +/* |
308 | + * Copyright 2012 Canonical Ltd. |
309 | + * |
310 | + * This program is free software: you can redistribute it and/or modify it |
311 | + * under the terms of the GNU Lesser General Public License version 3, as |
312 | + * published by the Free Software Foundation. |
313 | + * |
314 | + * This program is distributed in the hope that it will be useful, but |
315 | + * WITHOUT ANY WARRANTY; without even the implied warranties of |
316 | + * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR |
317 | + * PURPOSE. See the applicable version of the GNU Lesser General Public |
318 | + * License for more details. |
319 | + * |
320 | + * You should have received a copy of both the GNU Lesser General Public |
321 | + * License version 3 along with this program. If not, see |
322 | + * <http://www.gnu.org/licenses/> |
323 | + * |
324 | + * Authored by: Marco Trevisan <marco.trevisan@canonical.com> |
325 | + * |
326 | + */ |
327 | + |
328 | +#ifndef MOCK_BAMF_MOCK_APPLICATION |
329 | +#define MOCK_BAMF_MOCK_APPLICATION |
330 | + |
331 | +#include <libbamf/libbamf.h> |
332 | + |
333 | +G_BEGIN_DECLS |
334 | + |
335 | +#define BAMF_TYPE_MOCK_APPLICATION (bamf_mock_application_get_type ()) |
336 | + |
337 | +#define BAMF_MOCK_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\ |
338 | + BAMF_TYPE_MOCK_APPLICATION, BamfMockApplication)) |
339 | + |
340 | +#define BAMF_MOCK_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\ |
341 | + BAMF_TYPE_MOCK_APPLICATION, BamfMockApplicationClass)) |
342 | + |
343 | +#define BAMF_IS_MOCK_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\ |
344 | + BAMF_TYPE_MOCK_APPLICATION)) |
345 | + |
346 | +#define BAMF_IS_MOCK_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\ |
347 | + BAMF_TYPE_MOCK_APPLICATION)) |
348 | + |
349 | +#define BAMF_MOCK_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\ |
350 | + BAMF_TYPE_MOCK_APPLICATION, BamfMockApplicationClass)) |
351 | + |
352 | +typedef struct _BamfMockApplication BamfMockApplication; |
353 | +typedef struct _BamfMockApplicationClass BamfMockApplicationClass; |
354 | +typedef struct _BamfMockApplicationPrivate BamfMockApplicationPrivate; |
355 | + |
356 | +struct _BamfMockApplication |
357 | +{ |
358 | + BamfApplication parent; |
359 | + |
360 | + BamfMockApplicationPrivate *priv; |
361 | +}; |
362 | + |
363 | +struct _BamfMockApplicationClass |
364 | +{ |
365 | + BamfApplicationClass parent_class; |
366 | +}; |
367 | + |
368 | +GType bamf_mock_application_get_type (void) G_GNUC_CONST; |
369 | + |
370 | +BamfMockApplication * bamf_mock_application_new (); |
371 | + |
372 | +void bamf_mock_application_set_active (BamfMockApplication * self, gboolean active); |
373 | +void bamf_mock_application_set_running (BamfMockApplication * self, gboolean running); |
374 | +void bamf_mock_application_set_urgent (BamfMockApplication * self, gboolean urgent); |
375 | +void bamf_mock_application_set_name (BamfMockApplication * self, const gchar * name); |
376 | +void bamf_mock_application_set_icon (BamfMockApplication * self, const gchar * icon); |
377 | +void bamf_mock_application_set_children (BamfMockApplication * self, GList * children); |
378 | + |
379 | +G_END_DECLS |
380 | + |
381 | +#endif |
382 | + |
383 | |
384 | === modified file 'tests/test_bamf_launcher_icon.cpp' |
385 | --- tests/test_bamf_launcher_icon.cpp 2012-09-18 15:47:49 +0000 |
386 | +++ tests/test_bamf_launcher_icon.cpp 2012-10-12 18:26:21 +0000 |
387 | @@ -27,6 +27,7 @@ |
388 | |
389 | #include "BamfLauncherIcon.h" |
390 | #include "FavoriteStore.h" |
391 | +#include "bamf-mock-application.h" |
392 | |
393 | using namespace unity; |
394 | using namespace unity::launcher; |
395 | @@ -34,6 +35,7 @@ |
396 | namespace |
397 | { |
398 | |
399 | +const std::string DEFAULT_EMPTY_ICON = "application-default-icon"; |
400 | const std::string USC_DESKTOP = BUILDDIR"/tests/data/applications/ubuntu-software-center.desktop"; |
401 | const std::string NO_ICON_DESKTOP = BUILDDIR"/tests/data/applications/no-icon.desktop"; |
402 | |
403 | @@ -53,15 +55,16 @@ |
404 | empty_icon = new launcher::BamfLauncherIcon(bamf_app); |
405 | ASSERT_EQ(empty_icon->DesktopFile(), NO_ICON_DESKTOP); |
406 | |
407 | - bamf_app = static_cast<BamfApplication*>(g_object_new(BAMF_TYPE_APPLICATION, nullptr)); |
408 | - empty_app = new launcher::BamfLauncherIcon(bamf_app); |
409 | - ASSERT_TRUE(empty_app->DesktopFile().empty()); |
410 | + mock_app = bamf_mock_application_new(); |
411 | + mock_icon = new launcher::BamfLauncherIcon(glib::object_cast<BamfApplication>(mock_app)); |
412 | + ASSERT_TRUE(mock_icon->DesktopFile().empty()); |
413 | } |
414 | |
415 | glib::Object<BamfMatcher> bamf_matcher; |
416 | + glib::Object<BamfMockApplication> mock_app; |
417 | nux::ObjectPtr<launcher::BamfLauncherIcon> usc_icon; |
418 | nux::ObjectPtr<launcher::BamfLauncherIcon> empty_icon; |
419 | - nux::ObjectPtr<launcher::BamfLauncherIcon> empty_app; |
420 | + nux::ObjectPtr<launcher::BamfLauncherIcon> mock_icon; |
421 | }; |
422 | |
423 | TEST_F(TestBamfLauncherIcon, Position) |
424 | @@ -81,9 +84,9 @@ |
425 | |
426 | TEST_F(TestBamfLauncherIcon, TestDefaultIcon) |
427 | { |
428 | - EXPECT_EQ(usc_icon->icon_name.Get(), "softwarecenter"); |
429 | - EXPECT_EQ(empty_icon->icon_name.Get(), "application-default-icon"); |
430 | - EXPECT_EQ(empty_app->icon_name.Get(), "application-default-icon"); |
431 | + EXPECT_EQ(usc_icon->icon_name(), "softwarecenter"); |
432 | + EXPECT_EQ(empty_icon->icon_name(), DEFAULT_EMPTY_ICON); |
433 | + EXPECT_EQ(mock_icon->icon_name(), DEFAULT_EMPTY_ICON); |
434 | } |
435 | |
436 | TEST_F(TestBamfLauncherIcon, Stick) |
437 | @@ -143,7 +146,39 @@ |
438 | TEST_F(TestBamfLauncherIcon, RemoteUri) |
439 | { |
440 | EXPECT_EQ(usc_icon->RemoteUri(), FavoriteStore::URI_PREFIX_APP + DesktopUtilities::GetDesktopID(USC_DESKTOP)); |
441 | - EXPECT_TRUE(empty_app->RemoteUri().empty()); |
442 | + EXPECT_TRUE(mock_icon->RemoteUri().empty()); |
443 | +} |
444 | + |
445 | +TEST_F(TestBamfLauncherIcon, EmptyTooltipUpdatesOnRunning) |
446 | +{ |
447 | + ASSERT_TRUE(mock_icon->tooltip_text().empty()); |
448 | + bamf_mock_application_set_name (mock_app, "Got Name"); |
449 | + |
450 | + ASSERT_TRUE(mock_icon->tooltip_text().empty()); |
451 | + |
452 | + bamf_mock_application_set_running(mock_app, TRUE); |
453 | + EXPECT_EQ(mock_icon->tooltip_text(), "Got Name"); |
454 | + |
455 | + bamf_mock_application_set_running(mock_app, FALSE); |
456 | + bamf_mock_application_set_name (mock_app, "New Name"); |
457 | + bamf_mock_application_set_running(mock_app, TRUE); |
458 | + EXPECT_EQ(mock_icon->tooltip_text(), "Got Name"); |
459 | +} |
460 | + |
461 | +TEST_F(TestBamfLauncherIcon, InvalidIconUpdatesOnRunning) |
462 | +{ |
463 | + ASSERT_EQ(mock_icon->icon_name(), DEFAULT_EMPTY_ICON); |
464 | + bamf_mock_application_set_icon (mock_app, "icon-name"); |
465 | + |
466 | + ASSERT_EQ(mock_icon->icon_name(), DEFAULT_EMPTY_ICON); |
467 | + |
468 | + bamf_mock_application_set_running(mock_app, TRUE); |
469 | + EXPECT_EQ(mock_icon->icon_name(), "icon-name"); |
470 | + |
471 | + bamf_mock_application_set_running(mock_app, FALSE); |
472 | + bamf_mock_application_set_icon (mock_app, "new-icon-name"); |
473 | + bamf_mock_application_set_running(mock_app, TRUE); |
474 | + EXPECT_EQ(mock_icon->icon_name(), "icon-name"); |
475 | } |
476 | |
477 | } |
478 | |
479 | === modified file 'tests/test_launcher_controller.cpp' |
480 | --- tests/test_launcher_controller.cpp 2012-09-28 11:32:04 +0000 |
481 | +++ tests/test_launcher_controller.cpp 2012-10-12 18:26:21 +0000 |
482 | @@ -18,7 +18,6 @@ |
483 | */ |
484 | |
485 | #include <gmock/gmock.h> |
486 | -#include "test_uscreen_mock.h" |
487 | |
488 | #include "FavoriteStore.h" |
489 | #include "LauncherController.h" |
490 | @@ -34,7 +33,9 @@ |
491 | #include "PanelStyle.h" |
492 | #include "UnitySettings.h" |
493 | #include "test_utils.h" |
494 | +#include "test_uscreen_mock.h" |
495 | #include "test_mock_devices.h" |
496 | +#include "bamf-mock-application.h" |
497 | |
498 | using namespace unity::launcher; |
499 | using namespace testing; |
500 | @@ -131,7 +132,7 @@ |
501 | typedef bool Fake; |
502 | |
503 | MockBamfLauncherIcon(Fake = true, std::string const& remote_uri = "") |
504 | - : BamfLauncherIcon(static_cast<BamfApplication*>(g_object_new(BAMF_TYPE_APPLICATION, nullptr))) |
505 | + : BamfLauncherIcon(BAMF_APPLICATION(bamf_mock_application_new())) |
506 | , remote_uri_(remote_uri) |
507 | { |
508 | InitMock(); |
Looks good.