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

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

Issue 2743633005: [Mac] Add Home button to Default Touch Bar (Closed)
Patch Set: Fix for rsesek Created 3 years, 9 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
« no previous file with comments | « chrome/browser/ui/cocoa/browser_window_touch_bar.mm ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 #import <Cocoa/Cocoa.h> 5 #import <Cocoa/Cocoa.h>
6 6
7 #include "base/mac/mac_util.h" 7 #include "base/mac/mac_util.h"
8 #include "base/mac/scoped_nsobject.h" 8 #include "base/mac/scoped_nsobject.h"
9 #include "chrome/app/chrome_command_ids.h" 9 #include "chrome/app/chrome_command_ids.h"
10 #import "chrome/browser/ui/cocoa/browser_window_touch_bar.h" 10 #import "chrome/browser/ui/cocoa/browser_window_touch_bar.h"
11 #include "chrome/browser/ui/cocoa/test/cocoa_profile_test.h" 11 #include "chrome/browser/ui/cocoa/test/cocoa_profile_test.h"
12 #include "chrome/common/pref_names.h"
13 #include "components/prefs/pref_service.h"
12 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
13 15
14 class BrowserWindowTouchBarUnitTest : public CocoaProfileTest { 16 class BrowserWindowTouchBarUnitTest : public CocoaProfileTest {
15 public: 17 public:
16 void SetUp() override { 18 void SetUp() override {
17 CocoaProfileTest::SetUp(); 19 CocoaProfileTest::SetUp();
18 ASSERT_TRUE(browser()); 20 ASSERT_TRUE(browser());
19 browserWindowTouchBar_.reset( 21 browserWindowTouchBar_.reset([[BrowserWindowTouchBar alloc]
20 [[BrowserWindowTouchBar alloc] initWithBrowser:browser()]); 22 initWithBrowser:browser()
23 browserWindowController:nil]);
21 } 24 }
22 25
23 void TearDown() override { CocoaProfileTest::TearDown(); } 26 void TearDown() override { CocoaProfileTest::TearDown(); }
24 27
25 base::scoped_nsobject<BrowserWindowTouchBar> browserWindowTouchBar_; 28 base::scoped_nsobject<BrowserWindowTouchBar> browserWindowTouchBar_;
26 }; 29 };
27 30
28 TEST_F(BrowserWindowTouchBarUnitTest, TouchBarItems) { 31 TEST_F(BrowserWindowTouchBarUnitTest, TouchBarItems) {
29 if (!base::mac::IsAtLeastOS10_12()) 32 if (!base::mac::IsAtLeastOS10_12())
30 return; 33 return;
31 34
32 NSTouchBar* touchBar = [browserWindowTouchBar_ makeTouchBar]; 35 PrefService* prefs = profile()->GetPrefs();
33 NSArray* touchBarItemIds = [touchBar itemIdentifiers]; 36 DCHECK(prefs);
37 prefs->SetBoolean(prefs::kShowHomeButton, true);
38
39 NSArray* touchBarItemIds =
40 [[browserWindowTouchBar_ makeTouchBar] itemIdentifiers];
34 EXPECT_TRUE([touchBarItemIds containsObject:@"BackForwardTouchId"]); 41 EXPECT_TRUE([touchBarItemIds containsObject:@"BackForwardTouchId"]);
35 EXPECT_TRUE([touchBarItemIds containsObject:@"ReloadOrStopTouchId"]); 42 EXPECT_TRUE([touchBarItemIds containsObject:@"ReloadOrStopTouchId"]);
43 EXPECT_TRUE([touchBarItemIds containsObject:@"HomeTouchId"]);
36 EXPECT_TRUE([touchBarItemIds containsObject:@"SearchTouchId"]); 44 EXPECT_TRUE([touchBarItemIds containsObject:@"SearchTouchId"]);
37 EXPECT_TRUE([touchBarItemIds containsObject:@"NewTabTouchId"]); 45 EXPECT_TRUE([touchBarItemIds containsObject:@"NewTabTouchId"]);
38 EXPECT_TRUE([touchBarItemIds containsObject:@"StarTouchId"]); 46 EXPECT_TRUE([touchBarItemIds containsObject:@"StarTouchId"]);
47
48 prefs->SetBoolean(prefs::kShowHomeButton, false);
49 touchBarItemIds = [[browserWindowTouchBar_ makeTouchBar] itemIdentifiers];
50 EXPECT_TRUE([touchBarItemIds containsObject:@"BackForwardTouchId"]);
51 EXPECT_TRUE([touchBarItemIds containsObject:@"ReloadOrStopTouchId"]);
52 EXPECT_FALSE([touchBarItemIds containsObject:@"HomeTouchId"]);
53 EXPECT_TRUE([touchBarItemIds containsObject:@"SearchTouchId"]);
54 EXPECT_TRUE([touchBarItemIds containsObject:@"NewTabTouchId"]);
55 EXPECT_TRUE([touchBarItemIds containsObject:@"StarTouchId"]);
39 } 56 }
40 57
41 TEST_F(BrowserWindowTouchBarUnitTest, ReloadOrStopTouchBarItem) { 58 TEST_F(BrowserWindowTouchBarUnitTest, ReloadOrStopTouchBarItem) {
42 if (!base::mac::IsAtLeastOS10_12()) 59 if (!base::mac::IsAtLeastOS10_12())
43 return; 60 return;
44 61
45 NSTouchBar* touchBar = [browserWindowTouchBar_ makeTouchBar]; 62 NSTouchBar* touchBar = [browserWindowTouchBar_ makeTouchBar];
46 [browserWindowTouchBar_ setIsPageLoading:NO]; 63 [browserWindowTouchBar_ setIsPageLoading:NO];
47 NSTouchBarItem* item = 64 NSTouchBarItem* item =
48 [browserWindowTouchBar_ touchBar:touchBar 65 [browserWindowTouchBar_ touchBar:touchBar
49 makeItemForIdentifier:@"ReloadOrStopTouchId"]; 66 makeItemForIdentifier:@"ReloadOrStopTouchId"];
50 67
51 EXPECT_EQ(IDC_RELOAD, [[item view] tag]); 68 EXPECT_EQ(IDC_RELOAD, [[item view] tag]);
52 69
53 [browserWindowTouchBar_ setIsPageLoading:YES]; 70 [browserWindowTouchBar_ setIsPageLoading:YES];
54 item = [browserWindowTouchBar_ touchBar:touchBar 71 item = [browserWindowTouchBar_ touchBar:touchBar
55 makeItemForIdentifier:@"ReloadOrStopTouchId"]; 72 makeItemForIdentifier:@"ReloadOrStopTouchId"];
56 73
57 EXPECT_EQ(IDC_STOP, [[item view] tag]); 74 EXPECT_EQ(IDC_STOP, [[item view] tag]);
58 } 75 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/browser_window_touch_bar.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698