From 1ccd89ddd893fecd45f640dfeccc3b960674714e Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Thu, 2 Aug 2012 15:44:19 +0100 Subject: [PATCH] Refs #1640. Unit test. --- Tests/AppKit/CPEventTest.j | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/Tests/AppKit/CPEventTest.j b/Tests/AppKit/CPEventTest.j index 160024ad2..02981fd3d 100644 --- a/Tests/AppKit/CPEventTest.j +++ b/Tests/AppKit/CPEventTest.j @@ -1,9 +1,16 @@ +@import @import @implementation CPEventTest : OJTestCase { } +- (void)setUp +{ + // CPApplication must be initialised for some event handling to work. + [CPApplication sharedApplication]; +} + /*! This test isn't very useful but it checks for any trouble related to issue #1202. */ @@ -16,4 +23,20 @@ [self assert:0 equals:[anEvent deltaZ] message:"default event delta Z should be 0"]; } -@end \ No newline at end of file +- (void)testModifierFlags +{ + [self assert:0 equals:[CPEvent modifierFlags] message:@"no modifier flags active in a newly started app"]; + + var anEvent = [CPEvent keyEventWithType:CPKeyDown location:CGPointMakeZero() modifierFlags:CPShiftKeyMask timestamp:0 windowNumber:0 context:nil characters:"A" charactersIgnoringModifiers:"a" isARepeat:NO keyCode:0]; + [CPApp sendEvent:anEvent]; + + [self assert:CPShiftKeyMask equals:[CPEvent modifierFlags] message:@"shift key pressed"]; + + // When the key up event is sent the modifier flags are cleared. + anEvent = [CPEvent keyEventWithType:CPKeyUp location:CGPointMakeZero() modifierFlags:0 timestamp:0 windowNumber:0 context:nil characters:"A" charactersIgnoringModifiers:"a" isARepeat:NO keyCode:0]; + [CPApp sendEvent:anEvent]; + + [self assert:0 equals:[CPEvent modifierFlags] message:@"shift key released"]; +} + +@end