~thalexander/unity/update-fsf-address

« back to all changes in this revision

Viewing changes to tests/test_application_launcher_icon.cpp

  • Committer: Marco Trevisan (Treviño)
  • Date: 2016-03-07 18:51:47 UTC
  • mfrom: (4080 unity)
  • mto: This revision was merged to the branch mainline in revision 4085.
  • Revision ID: mail@3v1n0.net-20160307185147-0p1m89up4tqfb6w1
Merge with trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
namespace
42
42
{
43
43
const std::string DEFAULT_EMPTY_ICON = "application-default-icon";
44
 
const std::string USC_DESKTOP = BUILDDIR"/tests/data/applications/ubuntu-software-center.desktop";
 
44
const std::string GS_DESKTOP = BUILDDIR"/tests/data/applications/org.gnome.Software.desktop";
45
45
const std::string UM_DESKTOP = BUILDDIR"/tests/data/applications/update-manager.desktop";
46
46
const std::string NO_ICON_DESKTOP = BUILDDIR"/tests/data/applications/no-icon.desktop";
47
47
 
50
50
  typedef nux::ObjectPtr<MockApplicationLauncherIcon> Ptr;
51
51
 
52
52
  MockApplicationLauncherIcon(ApplicationPtr const& app)
53
 
    : ApplicationLauncherIcon(app)
 
53
    : WindowedLauncherIcon(IconType::APPLICATION)
 
54
    , ApplicationLauncherIcon(app)
54
55
  {
55
56
    ON_CALL(*this, Stick(_)).WillByDefault(Invoke([this] (bool save) { ApplicationLauncherIcon::Stick(save); }));
56
57
    ON_CALL(*this, Stick()).WillByDefault(Invoke([this] { ApplicationLauncherIcon::Stick(); }));
67
68
  bool LauncherIconIsSticky() const { return LauncherIcon::IsSticky(); }
68
69
  void LocalActivate(ActionArg a) { ApplicationLauncherIcon::ActivateLauncherIcon(a); }
69
70
 
70
 
  using ApplicationLauncherIcon::IsFileManager;
71
71
  using ApplicationLauncherIcon::LogUnityEvent;
72
72
  using ApplicationLauncherIcon::Remove;
73
73
  using ApplicationLauncherIcon::SetApplication;
74
74
  using ApplicationLauncherIcon::GetApplication;
 
75
  using ApplicationLauncherIcon::PerformScroll;
 
76
  using LauncherIcon::BackgroundColor;
 
77
  using LauncherIcon::GetRemoteUri;
 
78
  using LauncherIcon::AllowDetailViewInSwitcher;
75
79
};
76
80
 
77
81
MATCHER_P(AreArgsEqual, a, "")
89
93
 
90
94
  virtual void SetUp() override
91
95
  {
92
 
    usc_app = std::make_shared<MockApplication::Nice>(USC_DESKTOP, "softwarecenter");
93
 
    usc_icon = new NiceMock<MockApplicationLauncherIcon>(usc_app);
94
 
    ASSERT_EQ(usc_icon->DesktopFile(), USC_DESKTOP);
 
96
    usc_app = std::make_shared<MockApplication::Nice>(GS_DESKTOP, "org.gnome.Software");
 
97
    usc_icon = new MockApplicationLauncherIcon(usc_app);
 
98
    ASSERT_EQ(usc_icon->DesktopFile(), GS_DESKTOP);
95
99
 
96
100
    empty_app = std::make_shared<MockApplication::Nice>(NO_ICON_DESKTOP);
97
 
    empty_icon = new NiceMock<MockApplicationLauncherIcon>(empty_app);
 
101
    empty_icon = new MockApplicationLauncherIcon(empty_app);
98
102
    ASSERT_EQ(empty_icon->DesktopFile(), NO_ICON_DESKTOP);
99
103
 
100
104
    mock_app = std::make_shared<MockApplication::Nice>();
101
 
    mock_icon = new NiceMock<MockApplicationLauncherIcon>(mock_app);
 
105
    mock_icon = new MockApplicationLauncherIcon(mock_app);
102
106
    ASSERT_TRUE(mock_icon->DesktopFile().empty());
103
107
  }
104
108
 
171
175
 
172
176
TEST_F(TestApplicationLauncherIcon, ApplicationSignalDisconnection)
173
177
{
174
 
  std::shared_ptr<MockApplication> app = std::make_shared<MockApplication::Nice>(USC_DESKTOP);
 
178
  std::shared_ptr<MockApplication> app = std::make_shared<MockApplication::Nice>(GS_DESKTOP);
175
179
  {
176
 
    MockApplicationLauncherIcon::Ptr icon(new NiceMock<MockApplicationLauncherIcon>(app));
 
180
    MockApplicationLauncherIcon::Ptr icon(new MockApplicationLauncherIcon(app));
177
181
    EXPECT_FALSE(app->closed.empty());
178
182
  }
179
183
 
197
201
 
198
202
TEST_F(TestApplicationLauncherIcon, TestDefaultIcon)
199
203
{
200
 
  EXPECT_EQ(usc_icon->icon_name(), "softwarecenter");
 
204
  EXPECT_EQ(usc_icon->icon_name(), "org.gnome.Software");
201
205
  EXPECT_EQ(empty_icon->icon_name(), DEFAULT_EMPTY_ICON);
202
206
  EXPECT_EQ(mock_icon->icon_name(), DEFAULT_EMPTY_ICON);
203
207
}
263
267
 
264
268
TEST_F(TestApplicationLauncherIcon, StickStickedDesktopApp)
265
269
{
266
 
  auto app = std::make_shared<MockApplication::Nice>(USC_DESKTOP);
 
270
  auto app = std::make_shared<MockApplication::Nice>(GS_DESKTOP);
267
271
  app->sticky = true;
268
272
  app->desktop_file_ = UM_DESKTOP;
269
 
  MockApplicationLauncherIcon::Ptr icon(new NiceMock<MockApplicationLauncherIcon>(app));
 
273
  MockApplicationLauncherIcon::Ptr icon(new MockApplicationLauncherIcon(app));
270
274
  ASSERT_TRUE(icon->IsSticky());
271
275
  EXPECT_TRUE(icon->LauncherIconIsSticky());
272
276
}
275
279
{
276
280
  auto app = std::make_shared<MockApplication::Nice>();
277
281
  app->sticky = true;
278
 
  MockApplicationLauncherIcon::Ptr icon(new NiceMock<MockApplicationLauncherIcon>(app));
 
282
  MockApplicationLauncherIcon::Ptr icon(new MockApplicationLauncherIcon(app));
279
283
  ASSERT_FALSE(icon->IsSticky());
280
284
  EXPECT_FALSE(icon->LauncherIconIsSticky());
281
285
}
291
295
TEST_F(TestApplicationLauncherIcon, StickAndSaveDesktopLessAppCreatesNewDesktop)
292
296
{
293
297
  auto app = std::make_shared<MockApplication::Nice>();
294
 
  MockApplicationLauncherIcon::Ptr icon(new NiceMock<MockApplicationLauncherIcon>(app));
 
298
  MockApplicationLauncherIcon::Ptr icon(new MockApplicationLauncherIcon(app));
295
299
 
296
300
  EXPECT_CALL(*app, CreateLocalDesktopFile());
297
301
  icon->Stick(true);
354
358
TEST_F(TestApplicationLauncherIcon, UnstickDesktopLessAppLogEvent)
355
359
{
356
360
  auto app = std::make_shared<MockApplication::Nice>();
357
 
  MockApplicationLauncherIcon::Ptr icon(new NiceMock<MockApplicationLauncherIcon>(app));
 
361
  MockApplicationLauncherIcon::Ptr icon(new MockApplicationLauncherIcon(app));
358
362
 
359
363
  EXPECT_CALL(*unity_app_, LogEvent(ApplicationEventType::ACCESS, _)).Times(0);
360
364
  icon->UnStick();
538
542
 
539
543
TEST_F(TestApplicationLauncherIcon, RemoteUri)
540
544
{
541
 
  EXPECT_EQ(usc_icon->RemoteUri(), FavoriteStore::URI_PREFIX_APP + USC_DESKTOP);
 
545
  EXPECT_EQ(usc_icon->RemoteUri(), FavoriteStore::URI_PREFIX_APP + GS_DESKTOP);
542
546
  EXPECT_TRUE(mock_icon->RemoteUri().empty());
543
547
}
544
548
 
1103
1107
  dbusmenu_menuitem_handle_event(item, DBUSMENU_MENUITEM_EVENT_ACTIVATED, nullptr, 0);
1104
1108
}
1105
1109
 
1106
 
TEST_F(TestApplicationLauncherIcon, IsFileManager)
1107
 
{
1108
 
  EXPECT_FALSE(usc_icon->IsFileManager());
1109
 
  EXPECT_FALSE(empty_icon->IsFileManager());
1110
 
  EXPECT_FALSE(mock_icon->IsFileManager());
1111
 
 
1112
 
  auto app = std::make_shared<MockApplication::Nice>("/any/path/org.gnome.Nautilus.desktop", "Nautilus");
1113
 
  MockApplicationLauncherIcon::Ptr icon(new NiceMock<MockApplicationLauncherIcon>(app));
1114
 
  EXPECT_TRUE(icon->IsFileManager());
1115
 
 
1116
 
  app = std::make_shared<MockApplication::Nice>("/any/path/nautilus-folder-handler.desktop", "Nautilus");
1117
 
  icon = new NiceMock<MockApplicationLauncherIcon>(app);
1118
 
  EXPECT_TRUE(icon->IsFileManager());
1119
 
 
1120
 
  app = std::make_shared<MockApplication::Nice>("/any/path/nautilus-home.desktop", "Nautilus");
1121
 
  icon = new NiceMock<MockApplicationLauncherIcon>(app);
1122
 
  EXPECT_TRUE(icon->IsFileManager());
1123
 
}
1124
 
 
1125
1110
TEST_F(TestApplicationLauncherIcon, AllowDetailViewInSwitcher)
1126
1111
{
1127
1112
  mock_app->type_ = AppType::NORMAL;
1232
1217
  mock_icon->Remove();
1233
1218
  ASSERT_FALSE(mock_app->seen);
1234
1219
 
1235
 
  MockApplicationLauncherIcon::Ptr new_icon(new NiceMock<MockApplicationLauncherIcon>(mock_app));
 
1220
  MockApplicationLauncherIcon::Ptr new_icon(new MockApplicationLauncherIcon(mock_app));
1236
1221
  mock_icon = nullptr;
1237
1222
 
1238
1223
  EXPECT_TRUE(mock_app->seen);