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

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

Issue 7686015: ui: Pass the parameter |languages| of StatusBubble::SetURL() as std::string. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix mac Created 9 years, 4 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
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include <Cocoa/Cocoa.h> 5 #include <Cocoa/Cocoa.h>
6 6
7 #include "base/memory/scoped_nsobject.h" 7 #include "base/memory/scoped_nsobject.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #import "chrome/browser/ui/cocoa/browser_test_helper.h"
10 #import "chrome/browser/ui/cocoa/bubble_view.h" 11 #import "chrome/browser/ui/cocoa/bubble_view.h"
11 #import "chrome/browser/ui/cocoa/browser_test_helper.h"
12 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" 12 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
13 #import "chrome/browser/ui/cocoa/status_bubble_mac.h" 13 #import "chrome/browser/ui/cocoa/status_bubble_mac.h"
14 #include "googleurl/src/gurl.h" 14 #include "googleurl/src/gurl.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 #import "testing/gtest_mac.h" 16 #import "testing/gtest_mac.h"
17 #include "testing/platform_test.h" 17 #include "testing/platform_test.h"
18 18
19 // The test delegate records all of the status bubble object's state 19 // The test delegate records all of the status bubble object's state
20 // transitions. 20 // transitions.
21 @interface StatusBubbleMacTestDelegate : NSObject { 21 @interface StatusBubbleMacTestDelegate : NSObject {
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 // Set the status to the exact same thing again 184 // Set the status to the exact same thing again
185 bubble_->SetStatus(UTF8ToUTF16("This is a test")); 185 bubble_->SetStatus(UTF8ToUTF16("This is a test"));
186 EXPECT_NSEQ(@"This is a test", GetText()); 186 EXPECT_NSEQ(@"This is a test", GetText());
187 187
188 // Hide it 188 // Hide it
189 bubble_->SetStatus(string16()); 189 bubble_->SetStatus(string16());
190 EXPECT_FALSE(IsVisible()); 190 EXPECT_FALSE(IsVisible());
191 } 191 }
192 192
193 TEST_F(StatusBubbleMacTest, SetURL) { 193 TEST_F(StatusBubbleMacTest, SetURL) {
194 bubble_->SetURL(GURL(), string16()); 194 bubble_->SetURL(GURL(), std::string());
195 EXPECT_FALSE(IsVisible()); 195 EXPECT_FALSE(IsVisible());
196 bubble_->SetURL(GURL("bad url"), string16()); 196 bubble_->SetURL(GURL("bad url"), std::string());
197 EXPECT_FALSE(IsVisible()); 197 EXPECT_FALSE(IsVisible());
198 bubble_->SetURL(GURL("http://"), string16()); 198 bubble_->SetURL(GURL("http://"), std::string());
199 EXPECT_TRUE(IsVisible()); 199 EXPECT_TRUE(IsVisible());
200 EXPECT_NSEQ(@"http:", GetURLText()); 200 EXPECT_NSEQ(@"http:", GetURLText());
201 bubble_->SetURL(GURL("about:blank"), string16()); 201 bubble_->SetURL(GURL("about:blank"), std::string());
202 EXPECT_TRUE(IsVisible()); 202 EXPECT_TRUE(IsVisible());
203 EXPECT_NSEQ(@"about:blank", GetURLText()); 203 EXPECT_NSEQ(@"about:blank", GetURLText());
204 bubble_->SetURL(GURL("foopy://"), string16()); 204 bubble_->SetURL(GURL("foopy://"), std::string());
205 EXPECT_TRUE(IsVisible()); 205 EXPECT_TRUE(IsVisible());
206 EXPECT_NSEQ(@"foopy://", GetURLText()); 206 EXPECT_NSEQ(@"foopy://", GetURLText());
207 bubble_->SetURL(GURL("http://www.cnn.com"), string16()); 207 bubble_->SetURL(GURL("http://www.cnn.com"), std::string());
208 EXPECT_TRUE(IsVisible()); 208 EXPECT_TRUE(IsVisible());
209 EXPECT_NSEQ(@"www.cnn.com", GetURLText()); 209 EXPECT_NSEQ(@"www.cnn.com", GetURLText());
210 } 210 }
211 211
212 // Test hiding bubble that's already hidden. 212 // Test hiding bubble that's already hidden.
213 TEST_F(StatusBubbleMacTest, Hides) { 213 TEST_F(StatusBubbleMacTest, Hides) {
214 bubble_->SetStatus(UTF8ToUTF16("Showing")); 214 bubble_->SetStatus(UTF8ToUTF16("Showing"));
215 EXPECT_TRUE(IsVisible()); 215 EXPECT_TRUE(IsVisible());
216 bubble_->Hide(); 216 bubble_->Hide();
217 EXPECT_FALSE(IsVisible()); 217 EXPECT_FALSE(IsVisible());
218 bubble_->Hide(); 218 bubble_->Hide();
219 EXPECT_FALSE(IsVisible()); 219 EXPECT_FALSE(IsVisible());
220 } 220 }
221 221
222 // Test the "main"/"backup" behavior in StatusBubbleMac::SetText(). 222 // Test the "main"/"backup" behavior in StatusBubbleMac::SetText().
223 TEST_F(StatusBubbleMacTest, SetStatusAndURL) { 223 TEST_F(StatusBubbleMacTest, SetStatusAndURL) {
224 EXPECT_FALSE(IsVisible()); 224 EXPECT_FALSE(IsVisible());
225 bubble_->SetStatus(UTF8ToUTF16("Status")); 225 bubble_->SetStatus(UTF8ToUTF16("Status"));
226 EXPECT_TRUE(IsVisible()); 226 EXPECT_TRUE(IsVisible());
227 EXPECT_NSEQ(@"Status", GetBubbleViewText()); 227 EXPECT_NSEQ(@"Status", GetBubbleViewText());
228 bubble_->SetURL(GURL("http://www.nytimes.com"), string16()); 228 bubble_->SetURL(GURL("http://www.nytimes.com"), std::string());
229 EXPECT_TRUE(IsVisible()); 229 EXPECT_TRUE(IsVisible());
230 EXPECT_NSEQ(@"www.nytimes.com", GetBubbleViewText()); 230 EXPECT_NSEQ(@"www.nytimes.com", GetBubbleViewText());
231 bubble_->SetURL(GURL(), string16()); 231 bubble_->SetURL(GURL(), std::string());
232 EXPECT_TRUE(IsVisible()); 232 EXPECT_TRUE(IsVisible());
233 EXPECT_NSEQ(@"Status", GetBubbleViewText()); 233 EXPECT_NSEQ(@"Status", GetBubbleViewText());
234 bubble_->SetStatus(string16()); 234 bubble_->SetStatus(string16());
235 EXPECT_FALSE(IsVisible()); 235 EXPECT_FALSE(IsVisible());
236 bubble_->SetURL(GURL("http://www.nytimes.com"), string16()); 236 bubble_->SetURL(GURL("http://www.nytimes.com"), std::string());
237 EXPECT_TRUE(IsVisible()); 237 EXPECT_TRUE(IsVisible());
238 EXPECT_NSEQ(@"www.nytimes.com", GetBubbleViewText()); 238 EXPECT_NSEQ(@"www.nytimes.com", GetBubbleViewText());
239 bubble_->SetStatus(UTF8ToUTF16("Status")); 239 bubble_->SetStatus(UTF8ToUTF16("Status"));
240 EXPECT_TRUE(IsVisible()); 240 EXPECT_TRUE(IsVisible());
241 EXPECT_NSEQ(@"Status", GetBubbleViewText()); 241 EXPECT_NSEQ(@"Status", GetBubbleViewText());
242 bubble_->SetStatus(string16()); 242 bubble_->SetStatus(string16());
243 EXPECT_TRUE(IsVisible()); 243 EXPECT_TRUE(IsVisible());
244 EXPECT_NSEQ(@"www.nytimes.com", GetBubbleViewText()); 244 EXPECT_NSEQ(@"www.nytimes.com", GetBubbleViewText());
245 bubble_->SetURL(GURL(), string16()); 245 bubble_->SetURL(GURL(), std::string());
246 EXPECT_FALSE(IsVisible()); 246 EXPECT_FALSE(IsVisible());
247 } 247 }
248 248
249 // Test that the status bubble goes through the correct delay and fade states. 249 // Test that the status bubble goes through the correct delay and fade states.
250 // The delay and fade duration are simulated and not actually experienced 250 // The delay and fade duration are simulated and not actually experienced
251 // during the test because StatusBubbleMacTest sets immediate_ mode. 251 // during the test because StatusBubbleMacTest sets immediate_ mode.
252 TEST_F(StatusBubbleMacTest, StateTransitions) { 252 TEST_F(StatusBubbleMacTest, StateTransitions) {
253 // First, some sanity 253 // First, some sanity
254 254
255 EXPECT_FALSE(IsVisible()); 255 EXPECT_FALSE(IsVisible());
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 NSWindow* window = test_window(); 575 NSWindow* window = test_window();
576 ASSERT_TRUE(window); 576 ASSERT_TRUE(window);
577 NSRect window_frame = [window frame]; 577 NSRect window_frame = [window frame];
578 window_frame.size.width = 600.0; 578 window_frame.size.width = 600.0;
579 [window setFrame:window_frame display:YES]; 579 [window setFrame:window_frame display:YES];
580 580
581 // Check basic expansion 581 // Check basic expansion
582 bubble_->SetStatus(UTF8ToUTF16("Showing")); 582 bubble_->SetStatus(UTF8ToUTF16("Showing"));
583 EXPECT_TRUE(IsVisible()); 583 EXPECT_TRUE(IsVisible());
584 bubble_->SetURL(GURL("http://www.battersbox.com/peter_paul_and_mary.html"), 584 bubble_->SetURL(GURL("http://www.battersbox.com/peter_paul_and_mary.html"),
585 string16()); 585 std::string());
586 EXPECT_TRUE([GetURLText() hasSuffix:@"\u2026"]); 586 EXPECT_TRUE([GetURLText() hasSuffix:@"\u2026"]);
587 bubble_->ExpandBubble(); 587 bubble_->ExpandBubble();
588 EXPECT_TRUE(IsVisible()); 588 EXPECT_TRUE(IsVisible());
589 EXPECT_NSEQ(@"www.battersbox.com/peter_paul_and_mary.html", GetURLText()); 589 EXPECT_NSEQ(@"www.battersbox.com/peter_paul_and_mary.html", GetURLText());
590 bubble_->Hide(); 590 bubble_->Hide();
591 591
592 // Make sure bubble resets after hide. 592 // Make sure bubble resets after hide.
593 bubble_->SetStatus(UTF8ToUTF16("Showing")); 593 bubble_->SetStatus(UTF8ToUTF16("Showing"));
594 bubble_->SetURL(GURL("http://www.snickersnee.com/pioneer_fishstix.html"), 594 bubble_->SetURL(GURL("http://www.snickersnee.com/pioneer_fishstix.html"),
595 string16()); 595 std::string());
596 EXPECT_TRUE([GetURLText() hasSuffix:@"\u2026"]); 596 EXPECT_TRUE([GetURLText() hasSuffix:@"\u2026"]);
597 // ...and that it expands again properly. 597 // ...and that it expands again properly.
598 bubble_->ExpandBubble(); 598 bubble_->ExpandBubble();
599 EXPECT_NSEQ(@"www.snickersnee.com/pioneer_fishstix.html", GetURLText()); 599 EXPECT_NSEQ(@"www.snickersnee.com/pioneer_fishstix.html", GetURLText());
600 // ...again, again! 600 // ...again, again!
601 bubble_->SetURL(GURL("http://www.battersbox.com/peter_paul_and_mary.html"), 601 bubble_->SetURL(GURL("http://www.battersbox.com/peter_paul_and_mary.html"),
602 string16()); 602 std::string());
603 bubble_->ExpandBubble(); 603 bubble_->ExpandBubble();
604 EXPECT_NSEQ(@"www.battersbox.com/peter_paul_and_mary.html", GetURLText()); 604 EXPECT_NSEQ(@"www.battersbox.com/peter_paul_and_mary.html", GetURLText());
605 bubble_->Hide(); 605 bubble_->Hide();
606 606
607 window_frame = [window frame]; 607 window_frame = [window frame];
608 window_frame.size.width = 300.0; 608 window_frame.size.width = 300.0;
609 [window setFrame:window_frame display:YES]; 609 [window setFrame:window_frame display:YES];
610 610
611 // Very long URL's will be cut off even in the expanded state. 611 // Very long URL's will be cut off even in the expanded state.
612 bubble_->SetStatus(UTF8ToUTF16("Showing")); 612 bubble_->SetStatus(UTF8ToUTF16("Showing"));
613 const char veryLongUrl[] = 613 const char veryLongUrl[] =
614 "http://www.diewahrscheinlichlaengstepralinederwelt.com/duuuuplo.html"; 614 "http://www.diewahrscheinlichlaengstepralinederwelt.com/duuuuplo.html";
615 bubble_->SetURL(GURL(veryLongUrl), string16()); 615 bubble_->SetURL(GURL(veryLongUrl), std::string());
616 EXPECT_TRUE([GetURLText() hasSuffix:@"\u2026"]); 616 EXPECT_TRUE([GetURLText() hasSuffix:@"\u2026"]);
617 bubble_->ExpandBubble(); 617 bubble_->ExpandBubble();
618 EXPECT_TRUE([GetURLText() hasSuffix:@"\u2026"]); 618 EXPECT_TRUE([GetURLText() hasSuffix:@"\u2026"]);
619 } 619 }
620 620
621 TEST_F(StatusBubbleMacTest, BubbleAvoidsMouse) { 621 TEST_F(StatusBubbleMacTest, BubbleAvoidsMouse) {
622 NSWindow* window = test_window(); 622 NSWindow* window = test_window();
623 623
624 // All coordinates here are relative to the window origin. 624 // All coordinates here are relative to the window origin.
625 625
(...skipping 24 matching lines...) Expand all
650 int windowWidth = NSWidth([window frame]); 650 int windowWidth = NSWidth([window frame]);
651 for (int x = 0; x < windowWidth; x += smallValue) { 651 for (int x = 0; x < windowWidth; x += smallValue) {
652 ASSERT_TRUE(CheckAvoidsMouse(x, smallValue)); 652 ASSERT_TRUE(CheckAvoidsMouse(x, smallValue));
653 } 653 }
654 654
655 // Simulate moving the mouse from right to left. 655 // Simulate moving the mouse from right to left.
656 for (int x = windowWidth; x >= 0; x -= smallValue) { 656 for (int x = windowWidth; x >= 0; x -= smallValue) {
657 ASSERT_TRUE(CheckAvoidsMouse(x, smallValue)); 657 ASSERT_TRUE(CheckAvoidsMouse(x, smallValue));
658 } 658 }
659 } 659 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698