Home | History | Annotate | Download | only in test
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "base/test/mock_chrome_application_mac.h"
      6 
      7 #include "base/auto_reset.h"
      8 #include "base/logging.h"
      9 
     10 @implementation MockCrApp
     11 
     12 + (NSApplication*)sharedApplication {
     13   NSApplication* app = [super sharedApplication];
     14   DCHECK([app conformsToProtocol:@protocol(CrAppControlProtocol)])
     15       << "Existing NSApp (class " << [[app className] UTF8String]
     16       << ") does not conform to required protocol.";
     17   DCHECK(base::MessagePumpMac::UsingCrApp())
     18       << "MessagePumpMac::Create() was called before "
     19       << "+[MockCrApp sharedApplication]";
     20   return app;
     21 }
     22 
     23 - (void)sendEvent:(NSEvent*)event {
     24   base::AutoReset<BOOL> scoper(&handlingSendEvent_, YES);
     25   [super sendEvent:event];
     26 }
     27 
     28 - (void)setHandlingSendEvent:(BOOL)handlingSendEvent {
     29   handlingSendEvent_ = handlingSendEvent;
     30 }
     31 
     32 - (BOOL)isHandlingSendEvent {
     33   return handlingSendEvent_;
     34 }
     35 
     36 @end
     37 
     38 namespace mock_cr_app {
     39 
     40 void RegisterMockCrApp() {
     41   [MockCrApp sharedApplication];
     42 }
     43 
     44 }  // namespace mock_cr_app
     45