summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/first_run_bubble_controller_unittest.mm
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-26 21:45:34 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-26 21:45:34 +0000
commit96788b0612875c0d12584757b63f02112e9541a7 (patch)
treed7eb82156c83b850d2714110dd7d8bb7aad60c41 /chrome/browser/cocoa/first_run_bubble_controller_unittest.mm
parent21ca7bf8f06e3b6e608f26eed8dce30515721b86 (diff)
downloadchromium_src-96788b0612875c0d12584757b63f02112e9541a7.zip
chromium_src-96788b0612875c0d12584757b63f02112e9541a7.tar.gz
chromium_src-96788b0612875c0d12584757b63f02112e9541a7.tar.bz2
Mac: First run bubble.
Add a BaseBubbleController. Move ContentBlockedBubbleController to use it (other bubbles will follow in later CLs), add FIrstRunBubbleController which uses it. Move some l10n stuff to l10n_util and use that, too. Update first run code to actually call the bubble code. Fix a double free while I'm at it (the scoped_ptr<> in DoFirstRun() already does the freeing, no need to do it in FirstRunDone()) BUG=27489,36366 TEST=Firstrun bubble shows up when starting chrome with --first-run, doesn't if starting chrome without that flag. Content blocked bubbles still work. Review URL: http://codereview.chromium.org/2822026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50940 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/first_run_bubble_controller_unittest.mm')
-rw-r--r--chrome/browser/cocoa/first_run_bubble_controller_unittest.mm43
1 files changed, 43 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/first_run_bubble_controller_unittest.mm b/chrome/browser/cocoa/first_run_bubble_controller_unittest.mm
new file mode 100644
index 0000000..a6009a6
--- /dev/null
+++ b/chrome/browser/cocoa/first_run_bubble_controller_unittest.mm
@@ -0,0 +1,43 @@
+// Copyright (c) 2010 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 "chrome/browser/cocoa/first_run_bubble_controller.h"
+
+#import <Cocoa/Cocoa.h>
+
+#include "base/scoped_nsobject.h"
+#include "chrome/browser/cocoa/browser_test_helper.h"
+#import "chrome/browser/cocoa/cocoa_test_helper.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace {
+
+class FirstRunBubbleControllerTest : public CocoaTest {
+ public:
+ BrowserTestHelper helper_;
+};
+
+// Check that the bubble doesn't crash or leak.
+TEST_F(FirstRunBubbleControllerTest, Init) {
+ scoped_nsobject<NSWindow> parent([[NSWindow alloc]
+ initWithContentRect:NSMakeRect(0, 0, 800, 600)
+ styleMask:NSBorderlessWindowMask
+ backing:NSBackingStoreBuffered
+ defer:NO]);
+ [parent setReleasedWhenClosed:NO];
+ if (DebugUtil::BeingDebugged())
+ [parent.get() orderFront:nil];
+ else
+ [parent.get() orderBack:nil];
+
+ FirstRunBubbleController* controller = [FirstRunBubbleController
+ showForView:[parent.get() contentView]
+ offset:NSMakePoint(300, 300)
+ profile:helper_.profile()];
+ EXPECT_TRUE(controller != nil);
+ EXPECT_TRUE([[controller window] isVisible]);
+ [parent.get() close];
+}
+
+} // namespace