| // |
| // GTMAppKitUnitTestingUtilities.h |
| // |
| // Copyright 2006-2010 Google Inc. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| // use this file except in compliance with the License. You may obtain a copy |
| // of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| // License for the specific language governing permissions and limitations under |
| // the License. |
| // |
| |
| #import <AppKit/AppKit.h> |
| |
| NS_ASSUME_NONNULL_BEGIN |
| |
| // Collection of utilities for unit testing |
| @interface GTMAppKitUnitTestingUtilities : NSObject |
| |
| // Allows for posting either a keydown or a keyup with all the modifiers being |
| // applied. Passing a 'g' with NSKeyDown and NSShiftKeyMask |
| // generates two events (a shift key key down and a 'g' key keydown). Make sure |
| // to balance this with a keyup, or things could get confused. Events get posted |
| // using the CGRemoteOperation events which means that it gets posted in the |
| // system event queue. Thus you can affect other applications if your app isn't |
| // the active app (or in some cases, such as hotkeys, even if it is). |
| // Arguments: |
| // type - Event type. Currently accepts NSKeyDown and NSKeyUp |
| // keyChar - character on the keyboard to type. Make sure it is lower case. |
| // If you need upper case, pass in the NSShiftKeyMask in the |
| // modifiers. i.e. to generate "G" pass in 'g' and NSShiftKeyMask. |
| // to generate "+" pass in '=' and NSShiftKeyMask. |
| // cocoaModifiers - an int made up of bit masks. Handles NSAlphaShiftKeyMask, |
| // NSShiftKeyMask, NSControlKeyMask, NSAlternateKeyMask, and |
| // NSCommandKeyMask |
| + (void)postKeyEvent:(NSEventType)type |
| character:(CGCharCode)keyChar |
| modifiers:(UInt32)cocoaModifiers; |
| |
| // Syntactic sugar for posting a keydown immediately followed by a key up event |
| // which is often what you really want. |
| // Arguments: |
| // keyChar - character on the keyboard to type. Make sure it is lower case. |
| // If you need upper case, pass in the NSShiftKeyMask in the |
| // modifiers. i.e. to generate "G" pass in 'g' and NSShiftKeyMask. |
| // to generate "+" pass in '=' and NSShiftKeyMask. |
| // cocoaModifiers - an int made up of bit masks. Handles NSAlphaShiftKeyMask, |
| // NSShiftKeyMask, NSControlKeyMask, NSAlternateKeyMask, and |
| // NSCommandKeyMask |
| + (void)postTypeCharacterEvent:(CGCharCode)keyChar |
| modifiers:(UInt32)cocoaModifiers; |
| |
| @end |
| |
| NS_ASSUME_NONNULL_END |