| 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 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 service->AddExtension(bgapp2.get()); | 204 service->AddExtension(bgapp2.get()); |
| 205 ASSERT_EQ(4U, service->extensions()->size()); | 205 ASSERT_EQ(4U, service->extensions()->size()); |
| 206 ASSERT_EQ(2U, model->size()); | 206 ASSERT_EQ(2U, model->size()); |
| 207 ASSERT_FALSE(IsBackgroundApp(*ext3.get())); | 207 ASSERT_FALSE(IsBackgroundApp(*ext3.get())); |
| 208 service->AddExtension(ext3.get()); | 208 service->AddExtension(ext3.get()); |
| 209 ASSERT_EQ(5U, service->extensions()->size()); | 209 ASSERT_EQ(5U, service->extensions()->size()); |
| 210 ASSERT_EQ(2U, model->size()); | 210 ASSERT_EQ(2U, model->size()); |
| 211 | 211 |
| 212 // Remove in FIFO order. | 212 // Remove in FIFO order. |
| 213 ASSERT_FALSE(IsBackgroundApp(*ext1.get())); | 213 ASSERT_FALSE(IsBackgroundApp(*ext1.get())); |
| 214 service->UninstallExtension(ext1->id(), false, NULL); | 214 service->UninstallExtension( |
| 215 ext1->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 215 ASSERT_EQ(4U, service->extensions()->size()); | 216 ASSERT_EQ(4U, service->extensions()->size()); |
| 216 ASSERT_EQ(2U, model->size()); | 217 ASSERT_EQ(2U, model->size()); |
| 217 ASSERT_TRUE(IsBackgroundApp(*bgapp1.get())); | 218 ASSERT_TRUE(IsBackgroundApp(*bgapp1.get())); |
| 218 service->UninstallExtension(bgapp1->id(), false, NULL); | 219 service->UninstallExtension( |
| 220 bgapp1->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 219 ASSERT_EQ(3U, service->extensions()->size()); | 221 ASSERT_EQ(3U, service->extensions()->size()); |
| 220 ASSERT_EQ(1U, model->size()); | 222 ASSERT_EQ(1U, model->size()); |
| 221 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); | 223 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); |
| 222 service->UninstallExtension(ext2->id(), false, NULL); | 224 service->UninstallExtension( |
| 225 ext2->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 223 ASSERT_EQ(2U, service->extensions()->size()); | 226 ASSERT_EQ(2U, service->extensions()->size()); |
| 224 ASSERT_EQ(1U, model->size()); | 227 ASSERT_EQ(1U, model->size()); |
| 225 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); | 228 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); |
| 226 service->UninstallExtension(bgapp2->id(), false, NULL); | 229 service->UninstallExtension( |
| 230 bgapp2->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 227 ASSERT_EQ(1U, service->extensions()->size()); | 231 ASSERT_EQ(1U, service->extensions()->size()); |
| 228 ASSERT_EQ(0U, model->size()); | 232 ASSERT_EQ(0U, model->size()); |
| 229 ASSERT_FALSE(IsBackgroundApp(*ext3.get())); | 233 ASSERT_FALSE(IsBackgroundApp(*ext3.get())); |
| 230 service->UninstallExtension(ext3->id(), false, NULL); | 234 service->UninstallExtension( |
| 235 ext3->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 231 ASSERT_EQ(0U, service->extensions()->size()); | 236 ASSERT_EQ(0U, service->extensions()->size()); |
| 232 ASSERT_EQ(0U, model->size()); | 237 ASSERT_EQ(0U, model->size()); |
| 233 } | 238 } |
| 234 | 239 |
| 235 // Verifies that pushMessaging also triggers background detection, except | 240 // Verifies that pushMessaging also triggers background detection, except |
| 236 // when extension is in a whitelist. | 241 // when extension is in a whitelist. |
| 237 TEST_F(BackgroundApplicationListModelTest, PushMessagingTest) { | 242 TEST_F(BackgroundApplicationListModelTest, PushMessagingTest) { |
| 238 InitializeAndLoadEmptyExtensionService(); | 243 InitializeAndLoadEmptyExtensionService(); |
| 239 ExtensionService* service = extensions::ExtensionSystem::Get(profile_.get())-> | 244 ExtensionService* service = extensions::ExtensionSystem::Get(profile_.get())-> |
| 240 extension_service(); | 245 extension_service(); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 271 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); | 276 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); |
| 272 service->AddExtension(ext2.get()); | 277 service->AddExtension(ext2.get()); |
| 273 ASSERT_EQ(3U, service->extensions()->size()); | 278 ASSERT_EQ(3U, service->extensions()->size()); |
| 274 ASSERT_EQ(1U, model->size()); | 279 ASSERT_EQ(1U, model->size()); |
| 275 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); | 280 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); |
| 276 service->AddExtension(bgapp2.get()); | 281 service->AddExtension(bgapp2.get()); |
| 277 ASSERT_EQ(4U, service->extensions()->size()); | 282 ASSERT_EQ(4U, service->extensions()->size()); |
| 278 ASSERT_EQ(2U, model->size()); | 283 ASSERT_EQ(2U, model->size()); |
| 279 // Need to remove ext2 because it uses same id as bgapp3. | 284 // Need to remove ext2 because it uses same id as bgapp3. |
| 280 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); | 285 ASSERT_FALSE(IsBackgroundApp(*ext2.get())); |
| 281 service->UninstallExtension(ext2->id(), false, NULL); | 286 service->UninstallExtension( |
| 287 ext2->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 282 ASSERT_EQ(3U, service->extensions()->size()); | 288 ASSERT_EQ(3U, service->extensions()->size()); |
| 283 ASSERT_EQ(2U, model->size()); | 289 ASSERT_EQ(2U, model->size()); |
| 284 ASSERT_TRUE(IsBackgroundApp(*bgapp3.get())); | 290 ASSERT_TRUE(IsBackgroundApp(*bgapp3.get())); |
| 285 service->AddExtension(bgapp3.get()); | 291 service->AddExtension(bgapp3.get()); |
| 286 ASSERT_EQ(4U, service->extensions()->size()); | 292 ASSERT_EQ(4U, service->extensions()->size()); |
| 287 ASSERT_EQ(3U, model->size()); | 293 ASSERT_EQ(3U, model->size()); |
| 288 | 294 |
| 289 // Remove in FIFO order. | 295 // Remove in FIFO order. |
| 290 ASSERT_FALSE(IsBackgroundApp(*ext1.get())); | 296 ASSERT_FALSE(IsBackgroundApp(*ext1.get())); |
| 291 service->UninstallExtension(ext1->id(), false, NULL); | 297 service->UninstallExtension( |
| 298 ext1->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 292 ASSERT_EQ(3U, service->extensions()->size()); | 299 ASSERT_EQ(3U, service->extensions()->size()); |
| 293 ASSERT_EQ(3U, model->size()); | 300 ASSERT_EQ(3U, model->size()); |
| 294 ASSERT_TRUE(IsBackgroundApp(*bgapp1.get())); | 301 ASSERT_TRUE(IsBackgroundApp(*bgapp1.get())); |
| 295 service->UninstallExtension(bgapp1->id(), false, NULL); | 302 service->UninstallExtension( |
| 303 bgapp1->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 296 ASSERT_EQ(2U, service->extensions()->size()); | 304 ASSERT_EQ(2U, service->extensions()->size()); |
| 297 ASSERT_EQ(2U, model->size()); | 305 ASSERT_EQ(2U, model->size()); |
| 298 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); | 306 ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); |
| 299 service->UninstallExtension(bgapp2->id(), false, NULL); | 307 service->UninstallExtension( |
| 308 bgapp2->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 300 ASSERT_EQ(1U, service->extensions()->size()); | 309 ASSERT_EQ(1U, service->extensions()->size()); |
| 301 ASSERT_EQ(1U, model->size()); | 310 ASSERT_EQ(1U, model->size()); |
| 302 ASSERT_TRUE(IsBackgroundApp(*bgapp3.get())); | 311 ASSERT_TRUE(IsBackgroundApp(*bgapp3.get())); |
| 303 service->UninstallExtension(bgapp3->id(), false, NULL); | 312 service->UninstallExtension( |
| 313 bgapp3->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 304 ASSERT_EQ(0U, service->extensions()->size()); | 314 ASSERT_EQ(0U, service->extensions()->size()); |
| 305 ASSERT_EQ(0U, model->size()); | 315 ASSERT_EQ(0U, model->size()); |
| 306 } | 316 } |
| 307 | 317 |
| 308 | 318 |
| 309 | 319 |
| 310 // With minimal test logic, verifies behavior with dynamic permissions. | 320 // With minimal test logic, verifies behavior with dynamic permissions. |
| 311 TEST_F(BackgroundApplicationListModelTest, AddRemovePermissionsTest) { | 321 TEST_F(BackgroundApplicationListModelTest, AddRemovePermissionsTest) { |
| 312 InitializeAndLoadEmptyExtensionService(); | 322 InitializeAndLoadEmptyExtensionService(); |
| 313 ExtensionService* service = extensions::ExtensionSystem::Get(profile_.get())-> | 323 ExtensionService* service = extensions::ExtensionSystem::Get(profile_.get())-> |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 410 } | 420 } |
| 411 scoped_refptr<Extension> extension = cursor->get(); | 421 scoped_refptr<Extension> extension = cursor->get(); |
| 412 std::string id = extension->id(); | 422 std::string id = extension->id(); |
| 413 if (BackgroundApplicationListModel::IsBackgroundApp(*extension.get(), | 423 if (BackgroundApplicationListModel::IsBackgroundApp(*extension.get(), |
| 414 service->profile())) { | 424 service->profile())) { |
| 415 --*expected; | 425 --*expected; |
| 416 } | 426 } |
| 417 extensions->erase(cursor); | 427 extensions->erase(cursor); |
| 418 --*count; | 428 --*count; |
| 419 ASSERT_EQ(*count, extensions->size()); | 429 ASSERT_EQ(*count, extensions->size()); |
| 420 service->UninstallExtension(extension->id(), false, NULL); | 430 service->UninstallExtension( |
| 431 extension->id(), ExtensionService::UNINSTALL_REASON_DEFAULT, NULL); |
| 421 ASSERT_EQ(*count, service->extensions()->size()); | 432 ASSERT_EQ(*count, service->extensions()->size()); |
| 422 ASSERT_EQ(*expected, model->size()); | 433 ASSERT_EQ(*expected, model->size()); |
| 423 } | 434 } |
| 424 } | 435 } |
| 425 | 436 |
| 426 void TogglePermission(ExtensionService* service, | 437 void TogglePermission(ExtensionService* service, |
| 427 ExtensionCollection* extensions, | 438 ExtensionCollection* extensions, |
| 428 BackgroundApplicationListModel* model, | 439 BackgroundApplicationListModel* model, |
| 429 size_t* expected, | 440 size_t* expected, |
| 430 size_t* count) { | 441 size_t* count) { |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 491 break; | 502 break; |
| 492 case 2: | 503 case 2: |
| 493 TogglePermission(service, &extensions, model.get(), &expected, &count); | 504 TogglePermission(service, &extensions, model.get(), &expected, &count); |
| 494 break; | 505 break; |
| 495 default: | 506 default: |
| 496 NOTREACHED(); | 507 NOTREACHED(); |
| 497 break; | 508 break; |
| 498 } | 509 } |
| 499 } | 510 } |
| 500 } | 511 } |
| OLD | NEW |