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

Side by Side Diff: chrome/browser/cocoa/tab_view_picker_table_unittest.mm

Issue 2534001: Mac: Change content settings from showing tabs on top to showing a list on the side. (Closed)
Patch Set: commenst Created 10 years, 6 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/cocoa/tab_view_picker_table.mm ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2010 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 <Cocoa/Cocoa.h>
6
7 #import "chrome/browser/cocoa/tab_view_picker_table.h"
8
9 #include "base/scoped_nsobject.h"
10 #import "chrome/browser/cocoa/cocoa_test_helper.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "testing/platform_test.h"
13
14 @interface TabViewPickerTableTestPing : NSObject {
15 @public
16 BOOL didSelectItemCalled_;
17 }
18 @end
19
20 @implementation TabViewPickerTableTestPing
21 - (void) tabView:(NSTabView*)tabView
22 didSelectTabViewItem:(NSTabViewItem*)tabViewItem {
23 didSelectItemCalled_ = YES;
24 }
25 @end
26
27 namespace {
28
29 class TabViewPickerTableTest : public CocoaTest {
30 public:
31 TabViewPickerTableTest() {
32 // Initialize picker table.
33 NSRect frame = NSMakeRect(0, 0, 30, 50);
34 scoped_nsobject<TabViewPickerTable> view(
35 [[TabViewPickerTable alloc] initWithFrame:frame]);
36 view_ = view.get();
37 [view_ setAllowsEmptySelection:NO];
38 [view_ setAllowsMultipleSelection:NO];
39 [view_ addTableColumn:[[NSTableColumn alloc] initWithIdentifier:nil]];
40 [[test_window() contentView] addSubview:view_];
41
42 // Initialize source tab view, with delegate.
43 frame = NSMakeRect(30, 0, 50, 50);
44 scoped_nsobject<NSTabView> tabView(
45 [[NSTabView alloc] initWithFrame:frame]);
46 tabView_ = tabView.get();
47
48 scoped_nsobject<NSTabViewItem> item1(
49 [[NSTabViewItem alloc] initWithIdentifier:nil]);
50 [item1 setLabel:@"label 1"];
51 [tabView_ addTabViewItem:item1];
52
53 scoped_nsobject<NSTabViewItem> item2(
54 [[NSTabViewItem alloc] initWithIdentifier:nil]);
55 [item2 setLabel:@"label 2"];
56 [tabView_ addTabViewItem:item2];
57
58 [tabView_ selectTabViewItemAtIndex:1];
59 [[test_window() contentView] addSubview:tabView_];
60
61 ping_.reset([TabViewPickerTableTestPing new]);
62 [tabView_ setDelegate:ping_.get()];
63
64 // Simulate nib loading.
65 view_->tabView_ = tabView_;
66 [view_ awakeFromNib];
67 }
68
69 TabViewPickerTable* view_;
70 NSTabView* tabView_;
71 scoped_nsobject<TabViewPickerTableTestPing> ping_;
72 };
73
74 TEST_VIEW(TabViewPickerTableTest, view_)
75
76 TEST_F(TabViewPickerTableTest, TestInitialSelectionCorrect) {
77 NSLog(@"%d %@", [view_ selectedRow], [view_ selectedRowIndexes]);
78 EXPECT_EQ(1, [view_ selectedRow]);
79 }
80
81 TEST_F(TabViewPickerTableTest, TestSelectionUpdates) {
82 [tabView_ selectTabViewItemAtIndex:0];
83 EXPECT_EQ(0, [view_ selectedRow]);
84
85 [tabView_ selectTabViewItemAtIndex:1];
86 EXPECT_EQ(1, [view_ selectedRow]);
87 }
88
89 TEST_F(TabViewPickerTableTest, TestDelegateStillWorks) {
90 EXPECT_FALSE(ping_.get()->didSelectItemCalled_);
91 [tabView_ selectTabViewItemAtIndex:0];
92 EXPECT_TRUE(ping_.get()->didSelectItemCalled_);
93 }
94
95 TEST_F(TabViewPickerTableTest, RowsCorrect) {
96 EXPECT_EQ(2, [view_ numberOfRows]);
97 EXPECT_EQ(2, [[view_ dataSource] numberOfRowsInTableView:view_]);
98
99 EXPECT_TRUE([@"label 1" isEqualToString:[[view_ dataSource]
100 tableView:view_
101 objectValueForTableColumn:nil // ignored
102 row:0]]);
103 EXPECT_TRUE([@"label 2" isEqualToString:[[view_ dataSource]
104 tableView:view_
105 objectValueForTableColumn:nil // ignored
106 row:1]]);
107 }
108
109 TEST_F(TabViewPickerTableTest, TestListUpdatesTabView) {
110 [view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0]
111 byExtendingSelection:NO];
112 EXPECT_EQ(0, [view_ selectedRow]); // sanity
113 EXPECT_EQ(0, [tabView_ indexOfTabViewItem:[tabView_ selectedTabViewItem]]);
114 }
115
116 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/tab_view_picker_table.mm ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698