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

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

Issue 6366001: [Mac] Move the associated find bar files into a subdir of c/b/ui/cocoa/... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 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 (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 #include "base/string_util.h"
6 #include "base/sys_string_conversions.h"
7 #include "chrome/browser/browser_window.h"
8 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
9 #import "chrome/browser/ui/cocoa/find_bar_cocoa_controller.h"
10 #import "chrome/browser/ui/cocoa/find_pasteboard.h"
11 #import "chrome/browser/ui/cocoa/find_bar_text_field.h"
12 #include "chrome/browser/ui/find_bar/find_notification_details.h"
13 #include "testing/gtest/include/gtest/gtest.h"
14 #include "testing/platform_test.h"
15
16 // Expose private variables to make testing easier.
17 @interface FindBarCocoaController(Testing)
18 - (NSView*)findBarView;
19 - (NSString*)findText;
20 - (FindBarTextField*)findTextField;
21 @end
22
23 @implementation FindBarCocoaController(Testing)
24 - (NSView*)findBarView {
25 return findBarView_;
26 }
27
28 - (NSString*)findText {
29 return [findText_ stringValue];
30 }
31
32 - (FindBarTextField*)findTextField {
33 return findText_;
34 }
35
36 - (NSButton*)nextButton {
37 return nextButton_;
38 }
39
40 - (NSButton*)previousButton {
41 return previousButton_;
42 }
43 @end
44
45 namespace {
46
47 class FindBarCocoaControllerTest : public CocoaTest {
48 public:
49 virtual void SetUp() {
50 CocoaTest::SetUp();
51 controller_.reset([[FindBarCocoaController alloc] init]);
52 [[test_window() contentView] addSubview:[controller_ view]];
53 }
54
55 protected:
56 scoped_nsobject<FindBarCocoaController> controller_;
57 };
58
59 TEST_VIEW(FindBarCocoaControllerTest, [controller_ view])
60
61 TEST_F(FindBarCocoaControllerTest, ImagesLoadedProperly) {
62 EXPECT_TRUE([[[controller_ nextButton] image] isValid]);
63 EXPECT_TRUE([[[controller_ previousButton] image] isValid]);
64 }
65
66 TEST_F(FindBarCocoaControllerTest, ShowAndHide) {
67 NSView* findBarView = [controller_ findBarView];
68
69 ASSERT_GT([findBarView frame].origin.y, 0);
70 ASSERT_FALSE([controller_ isFindBarVisible]);
71
72 [controller_ showFindBar:NO];
73 EXPECT_EQ([findBarView frame].origin.y, 0);
74 EXPECT_TRUE([controller_ isFindBarVisible]);
75
76 [controller_ hideFindBar:NO];
77 EXPECT_GT([findBarView frame].origin.y, 0);
78 EXPECT_FALSE([controller_ isFindBarVisible]);
79 }
80
81 TEST_F(FindBarCocoaControllerTest, SetFindText) {
82 NSTextField* findTextField = [controller_ findTextField];
83
84 // Start by making the find bar visible.
85 [controller_ showFindBar:NO];
86 EXPECT_TRUE([controller_ isFindBarVisible]);
87
88 // Set the find text.
89 NSString* const kFindText = @"Google";
90 [controller_ setFindText:kFindText];
91 EXPECT_EQ(
92 NSOrderedSame,
93 [[findTextField stringValue] compare:kFindText]);
94
95 // Call clearResults, which doesn't actually clear the find text but
96 // simply sets it back to what it was before. This is silly, but
97 // matches the behavior on other platforms. |details| isn't used by
98 // our implementation of clearResults, so it's ok to pass in an
99 // empty |details|.
100 FindNotificationDetails details;
101 [controller_ clearResults:details];
102 EXPECT_EQ(
103 NSOrderedSame,
104 [[findTextField stringValue] compare:kFindText]);
105 }
106
107 TEST_F(FindBarCocoaControllerTest, ResultLabelUpdatesCorrectly) {
108 // TODO(rohitrao): Test this. It may involve creating some dummy
109 // FindNotificationDetails objects.
110 }
111
112 TEST_F(FindBarCocoaControllerTest, FindTextIsGlobal) {
113 scoped_nsobject<FindBarCocoaController> otherController(
114 [[FindBarCocoaController alloc] init]);
115 [[test_window() contentView] addSubview:[otherController view]];
116
117 // Setting the text in one controller should update the other controller's
118 // text as well.
119 NSString* const kFindText = @"Respect to the man in the ice cream van";
120 [controller_ setFindText:kFindText];
121 EXPECT_EQ(
122 NSOrderedSame,
123 [[controller_ findText] compare:kFindText]);
124 EXPECT_EQ(
125 NSOrderedSame,
126 [[otherController.get() findText] compare:kFindText]);
127 }
128
129 TEST_F(FindBarCocoaControllerTest, SettingFindTextUpdatesFindPboard) {
130 NSString* const kFindText =
131 @"It's not a bird, it's not a plane, it must be Dave who's on the train";
132 [controller_ setFindText:kFindText];
133 EXPECT_EQ(
134 NSOrderedSame,
135 [[[FindPasteboard sharedInstance] findText] compare:kFindText]);
136 }
137
138 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/find_bar_cocoa_controller.mm ('k') | chrome/browser/ui/cocoa/find_bar_text_field.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698