diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-26 21:45:34 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-26 21:45:34 +0000 |
commit | 96788b0612875c0d12584757b63f02112e9541a7 (patch) | |
tree | d7eb82156c83b850d2714110dd7d8bb7aad60c41 /chrome/browser/cocoa/first_run_bubble_controller_unittest.mm | |
parent | 21ca7bf8f06e3b6e608f26eed8dce30515721b86 (diff) | |
download | chromium_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.mm | 43 |
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 |