Using new KeePassKit API (not building!)

Signed-off-by: michael starke <michael.starke@hicknhack-software.com>
This commit is contained in:
michael starke
2015-10-27 18:36:41 +01:00
parent 6031ba021a
commit 2f7169523e
7 changed files with 71 additions and 35 deletions

View File

@@ -16,26 +16,23 @@
@implementation KPKTestAutotype
- (void)testCommandValidation {
XCTAssertFalse([@"" validateCommmand], @"Emptry strings aren't valid commands");
XCTAssertFalse(@"".validCommand, @"Emptry strings aren't valid commands");
}
- (void)testSimpleNormalization {
NSString *normalized = [@"Whoo %{%}{^}{SHIFT}+ {SPACE}{ENTER}^V%V~T" normalizedAutotypeSequence];
XCTAssertTrue([normalized isEqualToString:@"Whoo{SPACE}{ALT}{%}{^}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]);
XCTAssertTrue([@"Whoo %{%}{^}{SHIFT}+ {SPACE}{ENTER}^V%V~T".normalizedAutotypeSequence isEqualToString:@"Whoo{SPACE}{ALT}{%}{^}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]);
}
- (void)testCommandRepetition {
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"]);
normalized = [@"{TAB 5}TAB{TAB}{SHIFT}{SHIFT 10}ENTER{ENTER}{%%}" normalizedAutotypeSequence];
XCTAssertTrue([normalized isEqualToString:@"{TAB}{TAB}{TAB}{TAB}{TAB}TAB{TAB}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}ENTER{ENTER}{%%}"]);
XCTAssertTrue([@"Whoo %{% 2}{^}{SHIFT 5}+ {SPACE}{ENTER}^V%V~T".normalizedAutotypeSequence isEqualToString:@"Whoo{SPACE}{ALT}{%}{%}{^}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SHIFT}{SPACE}{SPACE}{ENTER}{CONTROL}V{ALT}V{ENTER}T"]);
XCTAssertTrue([@"{TAB 5}TAB{TAB}{SHIFT}{SHIFT 10}ENTER{ENTER}{%%}".normalizedAutotypeSequence 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]);
XCTAssertFalse(@"{BOOO}NO-COMMAND{TAB}{WHOO}{WHOO}{SPACE}!!!thisIsFun{{MISMATCH!!!}".validCommand);
XCTAssertFalse(@"{{}}}}".validCommand);
XCTAssertFalse(@"{}{}{{{}{{{{{{}}".validCommand);
XCTAssertTrue(@"{}{}{}{}{}{ }ThisIsValid{}{STOP}".validCommand);
}
@end

View File

@@ -0,0 +1,53 @@
//
// KPKTestModificationDates.m
// MacPass
//
// Created by Michael Starke on 26/10/15.
// Copyright © 2015 HicknHack Software GmbH. All rights reserved.
//
#import <XCTest/XCTest.h>
#import "KeePassKit.h"
#import "KPKEntry+Private.h"
@interface KPKTestModificationDates : XCTestCase
@property (strong) KPKTree *tree;
@property (weak) KPKGroup *group;
@property (weak) KPKEntry *entry;
@end
@implementation KPKTestModificationDates
- (void)setUp {
[super setUp];
self.tree = [[KPKTree alloc] init];
self.tree.root = [[KPKGroup alloc] init];
self.group = self.tree.root;
[self.group addEntry:[[KPKEntry alloc] init]];
self.entry = self.group.entries.firstObject;
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testGroupModificationDate {
}
- (void)testEntryModifiationDate {
static NSString *const _kUpdatedString = @"Updated";
for(NSString *key in [KPKFormat sharedFormat].entryDefaultKeys) {
NSDate *before = [self.entry.timeInfo.modificationDate copy];
[self.entry _setValue:_kUpdatedString forAttributeWithKey:key];
NSComparisonResult compare = [before compare:self.entry.timeInfo.modificationDate];
XCTAssertTrue(compare == NSOrderedAscending,@"Modification date has to be updated after modification");
}
}
@end