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

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

Issue 179043: (Mac) Added unit tests for ClickHoldButtonCell and DelayedMenuButton. (Closed)
Patch Set: Read gtest docs; using constructors instead of SetUp() is okay. Created 11 years, 3 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
OLDNEW
(Empty)
1 // Copyright (c) 2009 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 #include "base/scoped_nsobject.h"
8 #import "chrome/browser/cocoa/clickhold_button_cell.h"
9 #import "chrome/browser/cocoa/cocoa_test_helper.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "testing/platform_test.h"
12
13 namespace {
14
15 class ClickHoldButtonCellTest : public PlatformTest {
16 public:
17 ClickHoldButtonCellTest() {
18 NSRect frame = NSMakeRect(0, 0, 50, 30);
19 view_.reset([[NSButton alloc] initWithFrame:frame]);
20 scoped_nsobject<ClickHoldButtonCell> cell(
21 [[ClickHoldButtonCell alloc] initTextCell:@"Testing"]);
22 [view_ setCell:cell.get()];
23 [cocoa_helper_.contentView() addSubview:view_.get()];
24 }
25
26 CocoaTestHelper cocoa_helper_; // Inits Cocoa, creates window, etc.
27 scoped_nsobject<NSButton> view_;
28 };
29
30 // Test adding/removing from the view hierarchy, mostly to ensure nothing leaks
31 // or crashes.
32 TEST_F(ClickHoldButtonCellTest, AddRemove) {
33 EXPECT_EQ(cocoa_helper_.contentView(), [view_ superview]);
34 [view_.get() removeFromSuperview];
35 EXPECT_FALSE([view_ superview]);
36 }
37
38 // Test drawing, mostly to ensure nothing leaks or crashes.
39 TEST_F(ClickHoldButtonCellTest, Display) {
40 [view_ display];
41 }
42
43 // Test default values; make sure they are what they should be.
44 TEST_F(ClickHoldButtonCellTest, Defaults) {
45 ClickHoldButtonCell* cell = static_cast<ClickHoldButtonCell*>([view_ cell]);
46 ASSERT_TRUE([cell isKindOfClass:[ClickHoldButtonCell class]]);
47
48 EXPECT_FALSE([cell enableClickHold]);
49
50 NSTimeInterval clickHoldTimeout = [cell clickHoldTimeout];
51 EXPECT_GE(clickHoldTimeout, 0.15); // Check for a "Cocoa-ish" value.
52 EXPECT_LE(clickHoldTimeout, 0.35);
53
54 EXPECT_FALSE([cell trackOnlyInRect]);
55 EXPECT_TRUE([cell activateOnDrag]);
56 }
57
58 // TODO(viettrungluu): (1) Enable click-hold and figure out how to test the
59 // tracking loop (i.e., |-trackMouse:...|), which is the nontrivial part.
60 // (2) Test various initialization code paths (in particular, loading from nib).
61
62 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/clickhold_button_cell.mm ('k') | chrome/browser/cocoa/delayedmenu_button.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698