OLD | NEW |
| (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/ui/cocoa/location_bar/ev_bubble_decoration.h" | |
8 | |
9 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" | |
10 #include "testing/gtest/include/gtest/gtest.h" | |
11 | |
12 namespace { | |
13 | |
14 class EVBubbleDecorationTest : public CocoaTest { | |
15 public: | |
16 EVBubbleDecorationTest() : decoration_(NULL) { | |
17 } | |
18 | |
19 EVBubbleDecoration decoration_; | |
20 }; | |
21 | |
22 // Test that the decoration gets smaller when there's not enough space | |
23 // to fit, within bounds. | |
24 TEST_F(EVBubbleDecorationTest, MiddleElide) { | |
25 NSString* kLongString = @"A very long string with spaces"; | |
26 const CGFloat kWide = 1000.0; // Wide enough to fit everything. | |
27 const CGFloat kNarrow = 10.0; // Too narrow for anything. | |
28 const CGFloat kMinimumWidth = 100.0; // Never should get this small. | |
29 | |
30 const NSSize kImageSize = NSMakeSize(20.0, 20.0); | |
31 base::scoped_nsobject<NSImage> image( | |
32 [[NSImage alloc] initWithSize:kImageSize]); | |
33 | |
34 decoration_.SetImage(image); | |
35 decoration_.SetFullLabel(kLongString); | |
36 | |
37 // Lots of space, decoration not omitted. | |
38 EXPECT_NE(decoration_.GetWidthForSpace(kWide), | |
39 LocationBarDecoration::kOmittedWidth); | |
40 | |
41 // If the available space is of the same magnitude as the required | |
42 // space, the decoration doesn't eat it all up. | |
43 const CGFloat long_width = decoration_.GetWidthForSpace(kWide); | |
44 EXPECT_NE(decoration_.GetWidthForSpace(long_width + 20.0), | |
45 LocationBarDecoration::kOmittedWidth); | |
46 EXPECT_LT(decoration_.GetWidthForSpace(long_width + 20.0), long_width); | |
47 | |
48 // If there is very little space, the decoration is still relatively | |
49 // big. | |
50 EXPECT_NE(decoration_.GetWidthForSpace(kNarrow), | |
51 LocationBarDecoration::kOmittedWidth); | |
52 EXPECT_GT(decoration_.GetWidthForSpace(kNarrow), kMinimumWidth); | |
53 } | |
54 | |
55 } // namespace | |
OLD | NEW |