summaryrefslogtreecommitdiffstats
path: root/base/test/mock_chrome_application_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'base/test/mock_chrome_application_mac.mm')
-rw-r--r--base/test/mock_chrome_application_mac.mm28
1 files changed, 22 insertions, 6 deletions
diff --git a/base/test/mock_chrome_application_mac.mm b/base/test/mock_chrome_application_mac.mm
index 48db419..b0b8617 100644
--- a/base/test/mock_chrome_application_mac.mm
+++ b/base/test/mock_chrome_application_mac.mm
@@ -4,22 +4,38 @@
#include "base/test/mock_chrome_application_mac.h"
+#include "base/auto_reset.h"
#include "base/logging.h"
@implementation MockCrApp
+
++ (NSApplication*)sharedApplication {
+ NSApplication* app = [super sharedApplication];
+ DCHECK([app conformsToProtocol:@protocol(CrAppControlProtocol)])
+ << "Existing NSApp (class " << [[app className] UTF8String]
+ << ") does not conform to required protocol.";
+ return app;
+}
+
+- (void)sendEvent:(NSEvent*)event {
+ AutoReset<BOOL> scoper(&handlingSendEvent_, YES);
+ [super sendEvent:event];
+}
+
+- (void)setHandlingSendEvent:(BOOL)handlingSendEvent {
+ handlingSendEvent_ = handlingSendEvent;
+}
+
- (BOOL)isHandlingSendEvent {
- return NO;
+ return handlingSendEvent_;
}
+
@end
namespace mock_cr_app {
void RegisterMockCrApp() {
- NSApplication* app = [MockCrApp sharedApplication];
-
- // Would prefer ASSERT_TRUE() to provide better test failures, but
- // this class is used by remoting/ for a non-test use.
- DCHECK([app conformsToProtocol:@protocol(CrAppProtocol)]);
+ [MockCrApp sharedApplication];
}
} // namespace mock_cr_app