Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(277)

Side by Side Diff: chrome/browser/ui/cocoa/browser/new_avatar_button_controller_unittest.mm

Issue 117533002: [Mac] Redesign of the avatar menu button (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix tabstrip width Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #import "chrome/browser/ui/cocoa/browser/new_avatar_button_controller.h"
6
7 #include "base/command_line.h"
8 #include "base/mac/scoped_nsobject.h"
9 #include "base/strings/sys_string_conversions.h"
10 #include "chrome/browser/profiles/profiles_state.h"
11 #include "chrome/browser/profiles/profile_manager.h"
12 #include "chrome/browser/ui/browser.h"
13 #include "chrome/browser/ui/browser_window.h"
14 #import "chrome/browser/ui/cocoa/browser/profile_chooser_controller.h"
15 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h"
16 #include "chrome/browser/ui/cocoa/info_bubble_window.h"
17 #include "chrome/common/chrome_switches.h"
18
19 static const char kDefaultProfileName[] = "default";
20
21 class NewAvatarButtonControllerTest : public CocoaProfileTest {
22 public:
23 virtual void SetUp() OVERRIDE {
24 CommandLine::ForCurrentProcess()->AppendSwitch(
25 switches::kNewProfileManagement);
26 DCHECK(CommandLine::ForCurrentProcess()->HasSwitch(
27 switches::kNewProfileManagement));
28 DCHECK(profiles::IsMultipleProfilesEnabled());
29
30 CocoaProfileTest::SetUp();
31 ASSERT_TRUE(browser());
32
33 controller_.reset(
34 [[NewAvatarButtonController alloc] initWithBrowser:browser()]);
35 }
36
37 virtual void TearDown() OVERRIDE {
38 browser()->window()->Close();
39 CocoaProfileTest::TearDown();
40 }
41
42 NSButton* button() { return [controller_ buttonView]; }
43
44 NSView* view() { return [controller_ view]; }
45
46 NewAvatarButtonController* controller() { return controller_.get(); }
47
48 private:
49 base::scoped_nsobject<NewAvatarButtonController> controller_;
50 };
51
52 TEST_F(NewAvatarButtonControllerTest, ButtonShown) {
53 EXPECT_FALSE([view() isHidden]);
54 EXPECT_EQ(kDefaultProfileName, base::SysNSStringToUTF8([button() title]));
55 }
56
57 TEST_F(NewAvatarButtonControllerTest, DoubleOpen) {
58 EXPECT_FALSE([controller() menuController]);
59
60 [button() performClick:button()];
61
62 ProfileChooserController* menu = [controller() menuController];
63 EXPECT_TRUE(menu);
64
65 [button() performClick:button()];
66 EXPECT_EQ(menu, [controller() menuController]);
67
68 // Do not animate out because that is hard to test around.
69 static_cast<InfoBubbleWindow*>(menu.window).allowedAnimations =
70 info_bubble::kAnimateNone;
71 [menu close];
72 EXPECT_FALSE([controller() menuController]);
73 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698