| Index: chrome/browser/ui/app_list/app_list_service_unittest.cc
|
| diff --git a/chrome/browser/ui/app_list/app_list_service_unittest.cc b/chrome/browser/ui/app_list/app_list_service_unittest.cc
|
| index a3d7b33af987a8aaa9eb8eb1464194428bb2149a..2ee7cb260b8bb80c1cfeeda31861067d29f84b10 100644
|
| --- a/chrome/browser/ui/app_list/app_list_service_unittest.cc
|
| +++ b/chrome/browser/ui/app_list/app_list_service_unittest.cc
|
| @@ -26,16 +26,22 @@ class TestingAppListServiceImpl : public AppListServiceImpl {
|
| PrefService* local_state,
|
| scoped_ptr<ProfileStore> profile_store)
|
| : AppListServiceImpl(command_line, local_state, profile_store.Pass()),
|
| - showing_for_profile_(NULL) {}
|
| + showing_for_profile_(NULL),
|
| + destroy_app_list_call_count_(0) {}
|
|
|
| Profile* showing_for_profile() const {
|
| return showing_for_profile_;
|
| }
|
|
|
| + int destroy_app_list_call_count() const {
|
| + return destroy_app_list_call_count_;
|
| + }
|
| +
|
| void PerformStartupChecks(Profile* profile) {
|
| AppListServiceImpl::PerformStartupChecks(profile);
|
| }
|
|
|
| + // AppListService overrides:
|
| virtual Profile* GetCurrentAppListProfile() OVERRIDE {
|
| // We don't return showing_for_profile_ here because that is only defined if
|
| // the app list is visible.
|
| @@ -66,8 +72,14 @@ class TestingAppListServiceImpl : public AppListServiceImpl {
|
| return NULL;
|
| }
|
|
|
| + // AppListServiceImpl overrides:
|
| + virtual void DestroyAppList() OVERRIDE { ++destroy_app_list_call_count_; }
|
| +
|
| private:
|
| Profile* showing_for_profile_;
|
| + int destroy_app_list_call_count_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(TestingAppListServiceImpl);
|
| };
|
|
|
| class AppListServiceUnitTest : public testing::Test {
|
| @@ -145,11 +157,18 @@ TEST_F(AppListServiceUnitTest,
|
| RemovedProfileResetsToLastUsedProfileIfExists) {
|
| local_state_->SetString(prefs::kProfileLastUsed, "last-used");
|
| EnableAppList();
|
| + EXPECT_EQ(0, service_->destroy_app_list_call_count());
|
| profile_store_->RemoveProfile(profile1_.get());
|
| +
|
| base::FilePath last_used_profile_path =
|
| user_data_dir_.AppendASCII("last-used");
|
| EXPECT_EQ(last_used_profile_path,
|
| service_->GetProfilePath(profile_store_->GetUserDataDir()));
|
| +
|
| + // Ensure a tear-down was triggered, since there would be references to the
|
| + // destroyed Profile, and the last-used profile could be getting loaded
|
| + // asynchronously.
|
| + EXPECT_EQ(1, service_->destroy_app_list_call_count());
|
| }
|
|
|
| TEST_F(AppListServiceUnitTest, SwitchingProfilesPersists) {
|
|
|