Index: chrome/browser/ui/cocoa/browser/avatar_button_controller_unittest.mm |
diff --git a/chrome/browser/ui/cocoa/browser/avatar_button_controller_unittest.mm b/chrome/browser/ui/cocoa/browser/avatar_button_controller_unittest.mm |
index bae78026db95045b5d7dcfa061b6e61a417c2b9b..a014160d256ed422797e6d3a66e8c711fff5f017 100644 |
--- a/chrome/browser/ui/cocoa/browser/avatar_button_controller_unittest.mm |
+++ b/chrome/browser/ui/cocoa/browser/avatar_button_controller_unittest.mm |
@@ -5,19 +5,26 @@ |
#import "chrome/browser/ui/cocoa/browser/avatar_button_controller.h" |
#include "base/mac/scoped_nsobject.h" |
+#include "base/strings/utf_string_conversions.h" |
+#include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" |
+#include "chrome/browser/bookmarks/bookmark_test_helpers.h" |
#include "chrome/browser/managed_mode/managed_user_service.h" |
#include "chrome/browser/managed_mode/managed_user_service_factory.h" |
+#include "chrome/browser/prefs/pref_service_syncable.h" |
+#include "chrome/browser/search_engines/template_url_service_factory.h" |
#include "chrome/browser/ui/browser.h" |
+#include "chrome/browser/ui/browser_commands.h" |
#include "chrome/browser/ui/browser_window.h" |
#import "chrome/browser/ui/cocoa/browser/avatar_menu_bubble_controller.h" |
#include "chrome/browser/ui/cocoa/cocoa_profile_test.h" |
#include "chrome/browser/ui/cocoa/info_bubble_window.h" |
+#include "chrome/browser/ui/tabs/tab_strip_model.h" |
#include "chrome/common/pref_names.h" |
#include "chrome/test/base/testing_profile.h" |
class AvatarButtonControllerTest : public CocoaProfileTest { |
public: |
- virtual void SetUp() { |
+ virtual void SetUp() OVERRIDE { |
CocoaProfileTest::SetUp(); |
ASSERT_TRUE(browser()); |
@@ -26,7 +33,7 @@ class AvatarButtonControllerTest : public CocoaProfileTest { |
[[controller_ view] setHidden:YES]; |
} |
- virtual void TearDown() { |
+ virtual void TearDown() OVERRIDE { |
browser()->window()->Close(); |
CocoaProfileTest::TearDown(); |
} |
@@ -82,18 +89,31 @@ TEST_F(AvatarButtonControllerTest, DoubleOpen) { |
} |
TEST_F(AvatarButtonControllerTest, ManagedUserLabel) { |
- // Create a second profile to enable the avatar menu. |
- testing_profile_manager()->CreateTestingProfile("p2"); |
- |
+ DCHECK(!profile()->IsManaged()); |
EXPECT_FALSE([controller() labelButtonView]); |
- // Transform the first profile to a managed user profile. |
- ManagedUserServiceFactory::GetForProfile(profile())->InitForTesting(); |
- |
+ // Create a second, managed profile to enable the avatar menu. |
+ std::string name = "p2"; |
+ TestingProfile* profile = testing_profile_manager()->CreateTestingProfile( |
+ name, scoped_ptr<PrefServiceSyncable>(), ASCIIToUTF16(name), 0, "asdf"); |
+ EXPECT_TRUE(profile->IsManaged()); |
+ |
+ // http://crbug.com/39725 |
+ TemplateURLServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
+ profile, &TemplateURLServiceFactory::BuildInstanceFor); |
+ AutocompleteClassifierFactory::GetInstance()->SetTestingFactoryAndUse( |
+ profile, &AutocompleteClassifierFactory::BuildInstanceFor); |
+ profile->CreateBookmarkModel(true); |
+ test::WaitForBookmarkModelToLoad(profile); |
+ |
+ Browser* browser = |
+ new Browser(Browser::CreateParams(profile, chrome::GetActiveDesktop())); |
// Build a new controller to check if it is initialized correctly for a |
// managed user profile. |
base::scoped_nsobject<AvatarButtonController> controller( |
- [[AvatarButtonController alloc] initWithBrowser:browser()]); |
+ [[AvatarButtonController alloc] initWithBrowser:browser]); |
EXPECT_TRUE([controller labelButtonView]); |
+ |
+ browser->window()->Close(); |
} |