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

Unified Diff: chrome/browser/cocoa/bubble_view_unittest.mm

Issue 196043: Pretty-up the blocked popup view by sharing code from the status bubble. Bloc... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/cocoa/bubble_view_unittest.mm
===================================================================
--- chrome/browser/cocoa/bubble_view_unittest.mm (revision 0)
+++ chrome/browser/cocoa/bubble_view_unittest.mm (revision 0)
@@ -0,0 +1,71 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import <Cocoa/Cocoa.h>
+
+#include "base/scoped_nsobject.h"
+#import "chrome/browser/cocoa/bubble_view.h"
+#include "chrome/browser/cocoa/cocoa_test_helper.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "testing/platform_test.h"
+
+class BubbleViewTest : public PlatformTest {
+ public:
+ BubbleViewTest() {
+ NSRect frame = NSMakeRect(0, 0, 50, 50);
+ view_.reset([[BubbleView alloc] initWithFrame:frame
+ themeProvider:cocoa_helper_.window()]);
+ [cocoa_helper_.contentView() addSubview:view_.get()];
+ [view_ setContent:@"Hi there, I'm a bubble view"];
+ }
+
+ CocoaTestHelper cocoa_helper_;
+ scoped_nsobject<BubbleView> view_;
+};
+
+// Test adding/removing from the view hierarchy, mostly to ensure nothing
+// leaks or crashes.
+TEST_F(BubbleViewTest, AddRemove) {
+ EXPECT_EQ(cocoa_helper_.contentView(), [view_ superview]);
+ [view_.get() removeFromSuperview];
+ EXPECT_FALSE([view_ superview]);
+}
+
+// Test drawing, mostly to ensure nothing leaks or crashes.
+TEST_F(BubbleViewTest, Display) {
+ [view_ display];
+}
+
+// Test a nil themeProvider in init.
+TEST_F(BubbleViewTest, NilThemeProvider) {
+ NSRect frame = NSMakeRect(0, 0, 50, 50);
+ view_.reset([[BubbleView alloc] initWithFrame:frame
+ themeProvider:nil]);
+ [cocoa_helper_.contentView() addSubview:view_.get()];
+ [view_ display];
+}
+
+// Make sure things don't go haywire when given invalid or extra-long strings
rohitrao (ping after 24h) 2009/09/08 19:25:21 Is there any value in testing displaying extra-lon
pink (ping after 24hrs) 2009/09/08 19:50:17 No, not really. I can remove.
+TEST_F(BubbleViewTest, SetContent) {
+ [view_ setContent:nil];
+ EXPECT_TRUE([view_ content] == nil);
+ [view_ setContent:@""];
+ EXPECT_TRUE([[view_ content] isEqualToString:@""]);
+ NSString* str = @"This is just a really long string that's just too long";
+ [view_ setContent:str];
+ EXPECT_TRUE([str isEqualToString:[view_ content]]);
+}
+
+TEST_F(BubbleViewTest, CornerFlags) {
+ // Set some random flags just to check.
+ [view_ setCornerFlags:kRoundedTopRightCorner | kRoundedTopLeftCorner];
+ EXPECT_EQ([view_ cornerFlags],
+ (unsigned long)kRoundedTopRightCorner | kRoundedTopLeftCorner);
+ // Set no flags (all 4 draw corners are square).
+ [view_ setCornerFlags:0];
+ EXPECT_EQ([view_ cornerFlags], 0UL);
+ // Set all bits. Meaningless past the first 4, but harmless to set too many.
+ [view_ setCornerFlags:0xFFFFFFFF];
+ EXPECT_EQ([view_ cornerFlags], 0xFFFFFFFF);
+}
Property changes on: chrome/browser/cocoa/bubble_view_unittest.mm
___________________________________________________________________
Name: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698