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

Unified Diff: chrome/browser/ui/cocoa/extensions/extension_toolbar_icon_surfacing_bubble_mac_unittest.mm

Issue 1086973004: [Extensions Mac] Implement developer mode warning on mac (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Finnur's Created 5 years, 8 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/ui/cocoa/extensions/extension_toolbar_icon_surfacing_bubble_mac_unittest.mm
diff --git a/chrome/browser/ui/cocoa/extensions/extension_toolbar_icon_surfacing_bubble_mac_unittest.mm b/chrome/browser/ui/cocoa/extensions/extension_toolbar_icon_surfacing_bubble_mac_unittest.mm
deleted file mode 100644
index 4cbffb553e2154e62b79a8fe607ab1d9cf2ed796..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/cocoa/extensions/extension_toolbar_icon_surfacing_bubble_mac_unittest.mm
+++ /dev/null
@@ -1,149 +0,0 @@
-// Copyright 2015 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.
-
-#include "base/logging.h"
-#import "base/mac/foundation_util.h"
-#import "base/mac/scoped_nsobject.h"
-#import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
-#import "chrome/browser/ui/cocoa/extensions/extension_toolbar_icon_surfacing_bubble_mac.h"
-#import "chrome/browser/ui/cocoa/info_bubble_window.h"
-#import "chrome/browser/ui/cocoa/run_loop_testing.h"
-#include "chrome/browser/ui/toolbar/toolbar_actions_bar_bubble_delegate.h"
-#import "ui/events/test/cocoa_test_event_utils.h"
-
-using ExtensionToolbarIconSurfacingBubbleTest = CocoaTest;
-
-namespace {
-
-class TestDelegate : public ToolbarActionsBarBubbleDelegate {
- public:
- TestDelegate() {}
- ~TestDelegate() {}
-
- void OnToolbarActionsBarBubbleShown() override {}
- void OnToolbarActionsBarBubbleClosed(CloseAction action) override {
- EXPECT_FALSE(action_);
- action_.reset(new CloseAction(action));
- }
-
- CloseAction* action() const { return action_.get(); }
-
- private:
- scoped_ptr<CloseAction> action_;
-
- DISALLOW_COPY_AND_ASSIGN(TestDelegate);
-};
-
-} // namespace
-
-// A simple class to observe when a window is destructing.
-@interface WindowObserver : NSObject {
- BOOL windowIsClosing_;
-}
-
-- (id)initWithWindow:(NSWindow*)window;
-
-- (void)dealloc;
-
-- (void)onWindowClosing:(NSNotification*)notification;
-
-@property(nonatomic, assign) BOOL windowIsClosing;
-
-@end
-
-@implementation WindowObserver
-
-- (id)initWithWindow:(NSWindow*)window {
- if ((self = [super init])) {
- [[NSNotificationCenter defaultCenter]
- addObserver:self
- selector:@selector(onWindowClosing:)
- name:NSWindowWillCloseNotification
- object:window];
- }
- return self;
-}
-
-- (void)dealloc {
- [[NSNotificationCenter defaultCenter] removeObserver:self];
- [super dealloc];
-}
-
-- (void)onWindowClosing:(NSNotification*)notification {
- windowIsClosing_ = YES;
-}
-
-@synthesize windowIsClosing = windowIsClosing_;
-
-@end
-
-TEST_F(ExtensionToolbarIconSurfacingBubbleTest,
- ExtensionToolbarIconSurfacingBubbleTest) {
- {
- // Test clicking on the button.
- TestDelegate delegate;
- ExtensionToolbarIconSurfacingBubbleMac* bubble =
- [[ExtensionToolbarIconSurfacingBubbleMac alloc]
- initWithParentWindow:test_window()
- anchorPoint:NSZeroPoint
- delegate:&delegate];
- [bubble showWindow:nil];
- [base::mac::ObjCCastStrict<InfoBubbleWindow>([bubble window])
- setAllowedAnimations:info_bubble::kAnimateNone];
- base::scoped_nsobject<WindowObserver> windowObserver(
- [[WindowObserver alloc] initWithWindow:[bubble window]]);
- chrome::testing::NSRunLoopRunAllPending();
- EXPECT_FALSE(delegate.action());
- EXPECT_FALSE([windowObserver windowIsClosing]);
-
- // Find the button and click on it.
- NSView* button = nil;
- NSArray* subviews = [[[bubble window] contentView] subviews];
- for (NSView* view in subviews) {
- if ([view isKindOfClass:[NSButton class]]) {
- button = view;
- break;
- }
- }
- ASSERT_TRUE(button);
- std::pair<NSEvent*, NSEvent*> events =
- cocoa_test_event_utils::MouseClickInView(button, 1);
- [NSApp postEvent:events.second atStart:YES];
- [NSApp sendEvent:events.first];
- chrome::testing::NSRunLoopRunAllPending();
-
- // The bubble should be closed, and the delegate should be told that the
- // button was clicked.
- ASSERT_TRUE(delegate.action());
- EXPECT_EQ(ToolbarActionsBarBubbleDelegate::ACKNOWLEDGED,
- *delegate.action());
- EXPECT_TRUE([windowObserver windowIsClosing]);
- }
-
- {
- // Test dismissing the bubble without clicking the button.
- TestDelegate delegate;
- ExtensionToolbarIconSurfacingBubbleMac* bubble =
- [[ExtensionToolbarIconSurfacingBubbleMac alloc]
- initWithParentWindow:test_window()
- anchorPoint:NSZeroPoint
- delegate:&delegate];
- [bubble showWindow:nil];
- [base::mac::ObjCCastStrict<InfoBubbleWindow>([bubble window])
- setAllowedAnimations:info_bubble::kAnimateNone];
- base::scoped_nsobject<WindowObserver> windowObserver(
- [[WindowObserver alloc] initWithWindow:[bubble window]]);
- chrome::testing::NSRunLoopRunAllPending();
- EXPECT_FALSE(delegate.action());
- EXPECT_FALSE([windowObserver windowIsClosing]);
-
- // Close the bubble. The delegate should be told it was dismissed.
- [bubble close];
- chrome::testing::NSRunLoopRunAllPending();
- ASSERT_TRUE(delegate.action());
- EXPECT_EQ(ToolbarActionsBarBubbleDelegate::DISMISSED,
- *delegate.action());
- EXPECT_TRUE([windowObserver windowIsClosing]);
- }
-}

Powered by Google App Engine
This is Rietveld 408576698