Updated normalization and validation test.

This commit is contained in:
michael starke
2014-02-19 22:30:56 +01:00
parent 7f16310a4d
commit 5dd0f8234c
3 changed files with 42 additions and 6 deletions

View File

@@ -8,6 +8,8 @@
#import "MPAutotypeCommand.h" #import "MPAutotypeCommand.h"
#import "MPAutotypePaste.h"
#import "MPAutotypeContext.h" #import "MPAutotypeContext.h"
#import "MPKeyMapper.h" #import "MPKeyMapper.h"
@@ -21,19 +23,47 @@
if([context isValid]) { if([context isValid]) {
return nil; return nil;
} }
NSMutableArray *commands = [[NSMutableArray alloc] initWithCapacity:10];
BOOL outsideCommand = YES; BOOL outsideCommand = YES;
NSInteger currentIndex; NSString *unparsedCommand = context.normalizedCommand;
while(YES) { while(YES) {
/* Outside Command */
if(outsideCommand) { if(outsideCommand) {
NSRange openingBracketRange = [context.normalizedCommand rangeOfString:@"{"]; NSRange openingBracketRange = [unparsedCommand rangeOfString:@"{"];
if(openingBracketRange.location != NSNotFound && openingBracketRange.length == 1) { if(openingBracketRange.location != NSNotFound && openingBracketRange.length == 1) {
outsideCommand = NO;
NSString *skipped = [unparsedCommand substringToIndex:openingBracketRange.location];
unparsedCommand = [unparsedCommand substringFromIndex:openingBracketRange.location + 1];
}
else {
/* No more opeing brackets, stop - or none at all */
[self appendPasteCommandForContent:unparsedCommand toCommands:commands];
break;
} }
} }
/* Inside Command */
else { else {
NSRange closingBracketRange = [unparsedCommand rangeOfString:@"}"];
if(closingBracketRange.location == NSNotFound || closingBracketRange.length != 1) {
return nil;
}
outsideCommand = NO;
} }
} }
return nil; return commands;
}
+ (MPAutotypeCommand *)appendPasteCommandForContent:(NSString *)pasteContent toCommands:(NSMutableArray *)commands {
if(pasteContent) {
MPAutotypePaste *pasteCommand = [[MPAutotypePaste alloc] initWithString:pasteContent];
[commands addObject:pasteCommand];
}
}
+ (MPAutotypeCommand *)appendCommandForString:(NSString *)commandString toCommands:(NSMutableArray *)commands {
if(commandString) {
/* Find appropriate command */
}
} }
- (void)sendPressKey:(CGKeyCode)keyCode modifierFlags:(CGEventFlags)flags { - (void)sendPressKey:(CGKeyCode)keyCode modifierFlags:(CGEventFlags)flags {

View File

@@ -24,8 +24,14 @@
NSString *normalized = [@"Whoo %{% 2}{^}{SHIFT 5}+ {SPACE}{ENTER}^V%V~T" normalizedAutotypeSequence]; NSString *normalized = [@"Whoo %{% 2}{^}{SHIFT 5}+ {SPACE}{ENTER}^V%V~T" normalizedAutotypeSequence];
XCTAssertTrue([normalized isEqualToString:@"Whoo{SPACE}{ALT}{%}{%}{^}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]); XCTAssertTrue([normalized isEqualToString:@"Whoo{SPACE}{ALT}{%}{%}{^}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]);
normalized = [@"{TAB 5}TAB{TAB}{SHIFT}{SHIFT 10}ENTER{ENTER}{%%}" normalizedAutotypeSequence]; normalized = [@"{TAB 5}TAB{TAB}{SHIFT}{SHIFT 10}ENTER{ENTER}{%%}" normalizedAutotypeSequence];
XCTAssertTrue(@"{TAB}{TAB}{TAB}{TAB}{TAB}TAB{TAB}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}ENTER{ENTER}{%%}"); XCTAssertTrue([normalized isEqualToString:@"{TAB}{TAB}{TAB}{TAB}{TAB}TAB{TAB}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}ENTER{ENTER}{%%}"]);
} }
- (void)testeBracketValidation {
XCTAssertFalse([@"{BOOO}NO-COMMAND{TAB}{WHOO}{WHOO}{SPACE}!!!thisIsFun{{MISMATCH!!!}" validateCommmand]);
XCTAssertFalse([@"{{}}}}" validateCommmand]);
XCTAssertFalse([@"{}{}{{{}{{{{{{}}" validateCommmand]);
XCTAssertTrue([@"{}{}{}{}{}{ }ThisIsValid{}{STOP}" validateCommmand]);
}
@end @end