blob: 92ac48ee8005a1af6a5daba32ef484f3d10bcb63 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import <Cocoa/Cocoa.h>
#include "base/mac/mac_util.h"
#include "base/mac/scoped_nsobject.h"
#include "chrome/app/chrome_command_ids.h"
#import "chrome/browser/ui/cocoa/browser_window_touch_bar.h"
#include "chrome/browser/ui/cocoa/test/cocoa_profile_test.h"
#include "testing/gtest/include/gtest/gtest.h"
class BrowserWindowTouchBarUnitTest : public CocoaProfileTest {
public:
void SetUp() override {
CocoaProfileTest::SetUp();
ASSERT_TRUE(browser());
browserWindowTouchBar_.reset(
[[BrowserWindowTouchBar alloc] initWithBrowser:browser()]);
}
void TearDown() override { CocoaProfileTest::TearDown(); }
base::scoped_nsobject<BrowserWindowTouchBar> browserWindowTouchBar_;
};
TEST_F(BrowserWindowTouchBarUnitTest, TouchBarItems) {
if (!base::mac::IsAtLeastOS10_12())
return;
NSTouchBar* touchBar = [browserWindowTouchBar_ makeTouchBar];
NSArray* touchBarItemIds = [touchBar itemIdentifiers];
EXPECT_TRUE([touchBarItemIds containsObject:@"BackForwardTouchId"]);
EXPECT_TRUE([touchBarItemIds containsObject:@"ReloadOrStopTouchId"]);
EXPECT_TRUE([touchBarItemIds containsObject:@"SearchTouchId"]);
EXPECT_TRUE([touchBarItemIds containsObject:@"NewTabTouchId"]);
EXPECT_TRUE([touchBarItemIds containsObject:@"StarTouchId"]);
}
TEST_F(BrowserWindowTouchBarUnitTest, ReloadOrStopTouchBarItem) {
if (!base::mac::IsAtLeastOS10_12())
return;
NSTouchBar* touchBar = [browserWindowTouchBar_ makeTouchBar];
[browserWindowTouchBar_ setIsPageLoading:NO];
NSTouchBarItem* item =
[browserWindowTouchBar_ touchBar:touchBar
makeItemForIdentifier:@"ReloadOrStopTouchId"];
EXPECT_EQ(IDC_RELOAD, [[item view] tag]);
[browserWindowTouchBar_ setIsPageLoading:YES];
item = [browserWindowTouchBar_ touchBar:touchBar
makeItemForIdentifier:@"ReloadOrStopTouchId"];
EXPECT_EQ(IDC_STOP, [[item view] tag]);
}