OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // TODO(rickcam): Bug 73183: Add unit tests for image loading | 5 // TODO(rickcam): Bug 73183: Add unit tests for image loading |
6 | 6 |
7 #include <cstdlib> | 7 #include <cstdlib> |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "chrome/browser/background/background_application_list_model.h" | 10 #include "chrome/browser/background/background_application_list_model.h" |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 service->AddExtension(bgapp2.get()); | 220 service->AddExtension(bgapp2.get()); |
221 ASSERT_EQ(4U, service->extensions()->size()); | 221 ASSERT_EQ(4U, service->extensions()->size()); |
222 ASSERT_EQ(2U, model->size()); | 222 ASSERT_EQ(2U, model->size()); |
223 ASSERT_FALSE(IsBackgroundApp(*ext3.get())); | 223 ASSERT_FALSE(IsBackgroundApp(*ext3.get())); |
224 service->AddExtension(ext3.get()); | 224 service->AddExtension(ext3.get()); |
225 ASSERT_EQ(5U, service->extensions()->size()); | 225 ASSERT_EQ(5U, service->extensions()->size()); |
226 ASSERT_EQ(2U, model->size()); | 226 ASSERT_EQ(2U, model->size()); |
227 | 227 |
228 // Remove in FIFO order. | 228 // Remove in FIFO order. |
229 ASSERT_FALSE(IsBackgroundApp(*ext1.get())); | 229 ASSERT_FALSE(IsBackgroundApp(*ext1.get())); |
230 service->UninstallExtension( | 230 service->UninstallExtension(ext1->id(), |
231 ext1->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 231 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 232 base::Bind(&base::DoNothing), |
| 233 NULL); |
232 ASSERT_EQ(4U, service->extensions()->size()); | 234 ASSERT_EQ(4U, service->extensions()->size()); |
233 ASSERT_EQ(2U, model->size()); | 235 ASSERT_EQ(2U, model->size()); |
234 ASSERT_TRUE(IsBackgroundApp(*bgapp1.get())); | 236 ASSERT_TRUE(IsBackgroundApp(*bgapp1.get())); |
235 service->UninstallExtension( | 237 service->UninstallExtension(bgapp1->id(), |
236 bgapp1->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 238 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 239 base::Bind(&base::DoNothing), |
| 240 NULL); |
237 ASSERT_EQ(3U, service->extensions()->size()); | 241 ASSERT_EQ(3U, service->extensions()->size()); |
238 ASSERT_EQ(1U, model->size()); | 242 ASSERT_EQ(1U, model->size()); |
239 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); | 243 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); |
240 service->UninstallExtension( | 244 service->UninstallExtension(ext2->id(), |
241 ext2->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 245 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 246 base::Bind(&base::DoNothing), |
| 247 NULL); |
242 ASSERT_EQ(2U, service->extensions()->size()); | 248 ASSERT_EQ(2U, service->extensions()->size()); |
243 ASSERT_EQ(1U, model->size()); | 249 ASSERT_EQ(1U, model->size()); |
244 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); | 250 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); |
245 service->UninstallExtension( | 251 service->UninstallExtension(bgapp2->id(), |
246 bgapp2->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 252 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 253 base::Bind(&base::DoNothing), |
| 254 NULL); |
247 ASSERT_EQ(1U, service->extensions()->size()); | 255 ASSERT_EQ(1U, service->extensions()->size()); |
248 ASSERT_EQ(0U, model->size()); | 256 ASSERT_EQ(0U, model->size()); |
249 ASSERT_FALSE(IsBackgroundApp(*ext3.get())); | 257 ASSERT_FALSE(IsBackgroundApp(*ext3.get())); |
250 service->UninstallExtension( | 258 service->UninstallExtension(ext3->id(), |
251 ext3->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 259 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 260 base::Bind(&base::DoNothing), |
| 261 NULL); |
252 ASSERT_EQ(0U, service->extensions()->size()); | 262 ASSERT_EQ(0U, service->extensions()->size()); |
253 ASSERT_EQ(0U, model->size()); | 263 ASSERT_EQ(0U, model->size()); |
254 } | 264 } |
255 | 265 |
256 // Verifies that pushMessaging also triggers background detection, except | 266 // Verifies that pushMessaging also triggers background detection, except |
257 // when extension is in a whitelist. | 267 // when extension is in a whitelist. |
258 TEST_F(BackgroundApplicationListModelTest, PushMessagingTest) { | 268 TEST_F(BackgroundApplicationListModelTest, PushMessagingTest) { |
259 InitializeAndLoadEmptyExtensionService(); | 269 InitializeAndLoadEmptyExtensionService(); |
260 ExtensionService* service = extensions::ExtensionSystem::Get(profile_.get())-> | 270 ExtensionService* service = extensions::ExtensionSystem::Get(profile_.get())-> |
261 extension_service(); | 271 extension_service(); |
(...skipping 30 matching lines...) Expand all Loading... |
292 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); | 302 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); |
293 service->AddExtension(ext2.get()); | 303 service->AddExtension(ext2.get()); |
294 ASSERT_EQ(3U, service->extensions()->size()); | 304 ASSERT_EQ(3U, service->extensions()->size()); |
295 ASSERT_EQ(1U, model->size()); | 305 ASSERT_EQ(1U, model->size()); |
296 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); | 306 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); |
297 service->AddExtension(bgapp2.get()); | 307 service->AddExtension(bgapp2.get()); |
298 ASSERT_EQ(4U, service->extensions()->size()); | 308 ASSERT_EQ(4U, service->extensions()->size()); |
299 ASSERT_EQ(2U, model->size()); | 309 ASSERT_EQ(2U, model->size()); |
300 // Need to remove ext2 because it uses same id as bgapp3. | 310 // Need to remove ext2 because it uses same id as bgapp3. |
301 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); | 311 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); |
302 service->UninstallExtension( | 312 service->UninstallExtension(ext2->id(), |
303 ext2->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 313 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 314 base::Bind(&base::DoNothing), |
| 315 NULL); |
304 ASSERT_EQ(3U, service->extensions()->size()); | 316 ASSERT_EQ(3U, service->extensions()->size()); |
305 ASSERT_EQ(2U, model->size()); | 317 ASSERT_EQ(2U, model->size()); |
306 ASSERT_TRUE(IsBackgroundApp(*bgapp3.get())); | 318 ASSERT_TRUE(IsBackgroundApp(*bgapp3.get())); |
307 service->AddExtension(bgapp3.get()); | 319 service->AddExtension(bgapp3.get()); |
308 ASSERT_EQ(4U, service->extensions()->size()); | 320 ASSERT_EQ(4U, service->extensions()->size()); |
309 ASSERT_EQ(3U, model->size()); | 321 ASSERT_EQ(3U, model->size()); |
310 | 322 |
311 // Remove in FIFO order. | 323 // Remove in FIFO order. |
312 ASSERT_FALSE(IsBackgroundApp(*ext1.get())); | 324 ASSERT_FALSE(IsBackgroundApp(*ext1.get())); |
313 service->UninstallExtension( | 325 service->UninstallExtension(ext1->id(), |
314 ext1->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 326 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 327 base::Bind(&base::DoNothing), |
| 328 NULL); |
315 ASSERT_EQ(3U, service->extensions()->size()); | 329 ASSERT_EQ(3U, service->extensions()->size()); |
316 ASSERT_EQ(3U, model->size()); | 330 ASSERT_EQ(3U, model->size()); |
317 ASSERT_TRUE(IsBackgroundApp(*bgapp1.get())); | 331 ASSERT_TRUE(IsBackgroundApp(*bgapp1.get())); |
318 service->UninstallExtension( | 332 service->UninstallExtension(bgapp1->id(), |
319 bgapp1->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 333 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 334 base::Bind(&base::DoNothing), |
| 335 NULL); |
320 ASSERT_EQ(2U, service->extensions()->size()); | 336 ASSERT_EQ(2U, service->extensions()->size()); |
321 ASSERT_EQ(2U, model->size()); | 337 ASSERT_EQ(2U, model->size()); |
322 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); | 338 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); |
323 service->UninstallExtension( | 339 service->UninstallExtension(bgapp2->id(), |
324 bgapp2->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 340 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 341 base::Bind(&base::DoNothing), |
| 342 NULL); |
325 ASSERT_EQ(1U, service->extensions()->size()); | 343 ASSERT_EQ(1U, service->extensions()->size()); |
326 ASSERT_EQ(1U, model->size()); | 344 ASSERT_EQ(1U, model->size()); |
327 ASSERT_TRUE(IsBackgroundApp(*bgapp3.get())); | 345 ASSERT_TRUE(IsBackgroundApp(*bgapp3.get())); |
328 service->UninstallExtension( | 346 service->UninstallExtension(bgapp3->id(), |
329 bgapp3->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 347 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 348 base::Bind(&base::DoNothing), |
| 349 NULL); |
330 ASSERT_EQ(0U, service->extensions()->size()); | 350 ASSERT_EQ(0U, service->extensions()->size()); |
331 ASSERT_EQ(0U, model->size()); | 351 ASSERT_EQ(0U, model->size()); |
332 } | 352 } |
333 | 353 |
334 // Verifies that an ephemeral app cannot trigger background mode. | 354 // Verifies that an ephemeral app cannot trigger background mode. |
335 TEST_F(BackgroundApplicationListModelTest, EphemeralAppTest) { | 355 TEST_F(BackgroundApplicationListModelTest, EphemeralAppTest) { |
336 InitializeAndLoadEmptyExtensionService(); | 356 InitializeAndLoadEmptyExtensionService(); |
337 ExtensionService* service = extensions::ExtensionSystem::Get(profile_.get())-> | 357 ExtensionService* service = extensions::ExtensionSystem::Get(profile_.get())-> |
338 extension_service(); | 358 extension_service(); |
339 ASSERT_TRUE(service); | 359 ASSERT_TRUE(service); |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 } | 499 } |
480 scoped_refptr<Extension> extension = cursor->get(); | 500 scoped_refptr<Extension> extension = cursor->get(); |
481 std::string id = extension->id(); | 501 std::string id = extension->id(); |
482 if (BackgroundApplicationListModel::IsBackgroundApp(*extension.get(), | 502 if (BackgroundApplicationListModel::IsBackgroundApp(*extension.get(), |
483 service->profile())) { | 503 service->profile())) { |
484 --*expected; | 504 --*expected; |
485 } | 505 } |
486 extensions->erase(cursor); | 506 extensions->erase(cursor); |
487 --*count; | 507 --*count; |
488 ASSERT_EQ(*count, extensions->size()); | 508 ASSERT_EQ(*count, extensions->size()); |
489 service->UninstallExtension( | 509 service->UninstallExtension(extension->id(), |
490 extension->id(), extensions::UNINSTALL_REASON_FOR_TESTING, NULL); | 510 extensions::UNINSTALL_REASON_FOR_TESTING, |
| 511 base::Bind(&base::DoNothing), |
| 512 NULL); |
491 ASSERT_EQ(*count, service->extensions()->size()); | 513 ASSERT_EQ(*count, service->extensions()->size()); |
492 ASSERT_EQ(*expected, model->size()); | 514 ASSERT_EQ(*expected, model->size()); |
493 } | 515 } |
494 } | 516 } |
495 | 517 |
496 void TogglePermission(ExtensionService* service, | 518 void TogglePermission(ExtensionService* service, |
497 ExtensionCollection* extensions, | 519 ExtensionCollection* extensions, |
498 BackgroundApplicationListModel* model, | 520 BackgroundApplicationListModel* model, |
499 size_t* expected, | 521 size_t* expected, |
500 size_t* count) { | 522 size_t* count) { |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
561 break; | 583 break; |
562 case 2: | 584 case 2: |
563 TogglePermission(service, &extensions, model.get(), &expected, &count); | 585 TogglePermission(service, &extensions, model.get(), &expected, &count); |
564 break; | 586 break; |
565 default: | 587 default: |
566 NOTREACHED(); | 588 NOTREACHED(); |
567 break; | 589 break; |
568 } | 590 } |
569 } | 591 } |
570 } | 592 } |
OLD | NEW |