// Copyright (c) 2011 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/ui/cocoa/first_run_bubble_controller.h" #import #include "base/debug/debugger.h" #include "base/mac/scoped_nsobject.h" #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" #include "chrome/test/base/testing_profile.h" #include "testing/gtest/include/gtest/gtest.h" namespace { class FirstRunBubbleControllerTest : public CocoaProfileTest { }; // Check that the bubble doesn't crash or leak. TEST_F(FirstRunBubbleControllerTest, Init) { base::scoped_nsobject parent( [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 800, 600) styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO]); [parent setReleasedWhenClosed:NO]; if (base::debug::BeingDebugged()) [parent.get() orderFront:nil]; else [parent.get() orderBack:nil]; FirstRunBubbleController* controller = [FirstRunBubbleController showForView:[parent.get() contentView] offset:NSMakePoint(300, 300) browser:NULL profile:profile()]; EXPECT_TRUE(controller != nil); EXPECT_TRUE([[controller window] isVisible]); [parent.get() close]; } } // namespace