forked from rpetrich/fonemonkey4
-
Notifications
You must be signed in to change notification settings - Fork 0
/
FMVerifyCommand.m
66 lines (56 loc) · 1.85 KB
/
FMVerifyCommand.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/* This file is part of FoneMonkey.
FoneMonkey is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
FoneMonkey is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with FoneMonkey. If not, see <http://www.gnu.org/licenses/>. */
//
// FoneMonkeyAPI.h
// FoneMonkey
//
// Created by Stuart Stern on 2/6/10.
// Copyright (c) 2010 Gorilla Logic, Inc. All rights reserved.
//
//
// FMVerifyCommand.m
// FoneMonkey
//
// Created by Stuart Stern on 3/13/10.
// Copyright 2010 Gorilla Logic, Inc.. All rights reserved.
//
#define RETRIES 10
#define RETRY 500
#import "FMVerifyCommand.h"
@implementation FMVerifyCommand
+ (NSString*) execute:(FMCommandEvent*) ev {
ev.lastResult = nil;
UIView* source = ev.source;
if (source == nil) {
ev.lastResult = [NSString stringWithFormat:@"Unable to find %@ with monkeyID %@", ev.className, ev.monkeyID];
return ev.lastResult;
}
if ([ev.args count] == 2) {
NSString* prop = [ev.args objectAtIndex:0];
NSString* expected = [ev.args objectAtIndex:1];
NSString* value;
@try {
value = [source valueForKeyPath:prop];
} @catch (NSException* e)
{
ev.lastResult = [NSString stringWithFormat: @"\"%@\" is not a valid keypath for %@\"", prop, ev.className];
return ev.lastResult;
}
if ([expected isEqualToString:value]) {
return nil;
} else {
ev.lastResult = [NSString stringWithFormat: @"Expected \"%@\", but found \"%@\"", expected, value];
}
}
return ev.lastResult;
}
@end