uispecrunner 0.4.5 → 0.4.6
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitmodules +1 -1
- data/CHANGELOG +5 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +26 -0
- data/Rakefile +26 -20
- data/VERSION +1 -1
- data/ext/WaxSim/Simulator.h +6 -1
- data/ext/WaxSim/Simulator.m +59 -5
- data/ext/WaxSim/WaxSim.m +12 -14
- data/ext/WaxSim/WaxSim.xcodeproj/project.pbxproj +8 -0
- data/lib/uispecrunner/options.rb +1 -1
- data/uispecrunner.gemspec +14 -13
- metadata +72 -69
- data/ext/WaxSim/WaxSim.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- data/ext/WaxSim/WaxSim.xcodeproj/project.xcworkspace/xcuserdata/blake.xcuserdatad/UserInterfaceState.xcuserstate +0 -9418
- data/ext/WaxSim/WaxSim.xcodeproj/xcuserdata/blake.xcuserdatad/xcschemes/WaxSim.xcscheme +0 -76
- data/ext/WaxSim/WaxSim.xcodeproj/xcuserdata/blake.xcuserdatad/xcschemes/xcschememanagement.plist +0 -22
data/.gitmodules
CHANGED
data/CHANGELOG
CHANGED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
diff-lcs (1.1.2)
|
5
|
+
git (1.2.5)
|
6
|
+
jeweler (1.6.4)
|
7
|
+
bundler (~> 1.0)
|
8
|
+
git (>= 1.2.5)
|
9
|
+
rake
|
10
|
+
rake (0.9.2)
|
11
|
+
rspec (2.6.0)
|
12
|
+
rspec-core (~> 2.6.0)
|
13
|
+
rspec-expectations (~> 2.6.0)
|
14
|
+
rspec-mocks (~> 2.6.0)
|
15
|
+
rspec-core (2.6.4)
|
16
|
+
rspec-expectations (2.6.0)
|
17
|
+
diff-lcs (~> 1.1.2)
|
18
|
+
rspec-mocks (2.6.0)
|
19
|
+
|
20
|
+
PLATFORMS
|
21
|
+
ruby
|
22
|
+
|
23
|
+
DEPENDENCIES
|
24
|
+
jeweler
|
25
|
+
rake
|
26
|
+
rspec
|
data/Rakefile
CHANGED
@@ -20,31 +20,37 @@ begin
|
|
20
20
|
end
|
21
21
|
Jeweler::GemcutterTasks.new
|
22
22
|
rescue LoadError
|
23
|
-
puts "Jeweler (or a dependency) not available. Install it with:
|
23
|
+
puts "Jeweler (or a dependency) not available. Install it with: bundle"
|
24
24
|
end
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
26
|
+
begin
|
27
|
+
require 'rspec'
|
28
|
+
|
29
|
+
require 'spec/rake/spectask'
|
30
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
31
|
+
spec.libs << 'lib' << 'spec'
|
32
|
+
spec.spec_files = FileList['spec/**/*_spec.rb']
|
33
|
+
end
|
31
34
|
|
32
|
-
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
end
|
35
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
36
|
+
spec.libs << 'lib' << 'spec'
|
37
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
38
|
+
spec.rcov = true
|
39
|
+
end
|
37
40
|
|
38
|
-
task :spec => :check_dependencies
|
41
|
+
task :spec => :check_dependencies
|
39
42
|
|
40
|
-
task :default => :spec
|
43
|
+
task :default => :spec
|
41
44
|
|
42
|
-
require 'rake/rdoctask'
|
43
|
-
Rake::RDocTask.new do |rdoc|
|
44
|
-
|
45
|
+
require 'rake/rdoctask'
|
46
|
+
Rake::RDocTask.new do |rdoc|
|
47
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
45
48
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
49
|
+
rdoc.rdoc_dir = 'rdoc'
|
50
|
+
rdoc.title = "UISpecRunner #{version}"
|
51
|
+
rdoc.rdoc_files.include('README*')
|
52
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
53
|
+
end
|
54
|
+
rescue LoadError
|
55
|
+
puts "RSpec is not available. Install it with: bundle"
|
50
56
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.6
|
data/ext/WaxSim/Simulator.h
CHANGED
@@ -17,15 +17,20 @@
|
|
17
17
|
NSNumber *_family;
|
18
18
|
DTiPhoneSimulatorSession* _session;
|
19
19
|
NSDictionary *_env;
|
20
|
+
NSString *_videoPath;
|
20
21
|
NSArray *_args;
|
22
|
+
CGWindowID _windowID;
|
23
|
+
QTMovie *_movie;
|
24
|
+
NSTimeInterval _lastInterval;
|
21
25
|
}
|
22
26
|
|
23
27
|
@property (nonatomic, readonly) DTiPhoneSimulatorSession* session;
|
24
28
|
|
25
29
|
+ (NSArray *)availableSDKs;
|
26
30
|
|
27
|
-
- (id)initWithAppPath:(NSString *)appPath sdk:(NSString *)sdk family:(NSString *)family env:(NSDictionary *)env args:(NSArray *)args;
|
31
|
+
- (id)initWithAppPath:(NSString *)appPath sdk:(NSString *)sdk family:(NSString *)family video:(NSString *)videoPath env:(NSDictionary *)env args:(NSArray *)args;
|
28
32
|
- (int)launch;
|
33
|
+
- (void)addScreenshotToMovie;
|
29
34
|
- (void)end;
|
30
35
|
|
31
36
|
@end
|
data/ext/WaxSim/Simulator.m
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
//
|
8
8
|
|
9
9
|
#import "Simulator.h"
|
10
|
+
#import <QTKit/QTKit.h>
|
10
11
|
|
11
12
|
#include <sys/param.h>
|
12
13
|
#include <objc/runtime.h>
|
@@ -18,7 +19,8 @@
|
|
18
19
|
|
19
20
|
@synthesize session=_session;
|
20
21
|
|
21
|
-
- (id)initWithAppPath:(NSString *)appPath sdk:(NSString *)sdk family:(NSString *)family env:(NSDictionary *)env args:(NSArray *)args
|
22
|
+
- (id)initWithAppPath:(NSString *)appPath sdk:(NSString *)sdk family:(NSString *)family video:(NSString *)videoPath env:(NSDictionary *)env args:(NSArray *)args;
|
23
|
+
{
|
22
24
|
self = [super init];
|
23
25
|
|
24
26
|
NSFileManager *fileManager = [NSFileManager defaultManager];
|
@@ -56,6 +58,7 @@
|
|
56
58
|
|
57
59
|
_env = [env retain];
|
58
60
|
_args = [args retain];
|
61
|
+
_videoPath = [videoPath retain];
|
59
62
|
|
60
63
|
return self;
|
61
64
|
}
|
@@ -87,7 +90,7 @@
|
|
87
90
|
[config setSimulatedApplicationShouldWaitForDebugger:NO];
|
88
91
|
[config setSimulatedApplicationLaunchArgs:_args];
|
89
92
|
[config setSimulatedApplicationLaunchEnvironment:_env];
|
90
|
-
[config setLocalizedClientName:@"
|
93
|
+
[config setLocalizedClientName:@"WaxSim"];
|
91
94
|
|
92
95
|
// Make the simulator output to the current STDERR
|
93
96
|
// We mix them together to avoid buffering issues on STDOUT
|
@@ -99,7 +102,6 @@
|
|
99
102
|
|
100
103
|
_session = [[DTiPhoneSimulatorSession alloc] init];
|
101
104
|
[_session setDelegate:self];
|
102
|
-
[_session setSimulatedApplicationPID:[NSNumber numberWithInt:35]];
|
103
105
|
|
104
106
|
NSError *error;
|
105
107
|
if (![_session requestStartWithConfig:config timeout:30 error:&error]) {
|
@@ -114,6 +116,27 @@
|
|
114
116
|
[_session requestEndWithTimeout:0];
|
115
117
|
}
|
116
118
|
|
119
|
+
- (void)addScreenshotToMovie;
|
120
|
+
{
|
121
|
+
if (!_windowID || !_movie) {
|
122
|
+
return;
|
123
|
+
}
|
124
|
+
|
125
|
+
NSTimeInterval interval = [NSDate timeIntervalSinceReferenceDate];
|
126
|
+
QTTime duration = QTMakeTimeWithTimeInterval(interval - _lastInterval);
|
127
|
+
_lastInterval = interval;
|
128
|
+
|
129
|
+
CGImageRef imageRef = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, _windowID, kCGWindowImageDefault);
|
130
|
+
NSImage *image = [[NSImage alloc] initWithCGImage:imageRef size:NSZeroSize];
|
131
|
+
|
132
|
+
if ([image size].width > 5.0f) {
|
133
|
+
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:@"mp4v", QTAddImageCodecType, [NSNumber numberWithLong:codecLowQuality], QTAddImageCodecQuality, nil];
|
134
|
+
[_movie addImage:image forDuration:duration withAttributes:attributes];
|
135
|
+
}
|
136
|
+
[image release];
|
137
|
+
CGImageRelease(imageRef);
|
138
|
+
}
|
139
|
+
|
117
140
|
// DTiPhoneSimulatorSession Delegate
|
118
141
|
// ---------------------------------
|
119
142
|
- (void)session:(DTiPhoneSimulatorSession *)session didStart:(BOOL)started withError:(NSError *)error {
|
@@ -121,11 +144,42 @@
|
|
121
144
|
WaxLog(@"Session failed to start. %@", [error localizedDescription]);
|
122
145
|
exit(EXIT_FAILURE);
|
123
146
|
}
|
147
|
+
|
148
|
+
if (!_videoPath) {
|
149
|
+
return;
|
150
|
+
}
|
151
|
+
|
152
|
+
WaxLog(@"Getting window list");
|
153
|
+
NSArray *windowList = (NSArray *)CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
|
154
|
+
for (NSDictionary *info in windowList) {
|
155
|
+
if ([[info objectForKey:(NSString *)kCGWindowOwnerName] isEqualToString:@"iOS Simulator"] && ![[info objectForKey:(NSString *)kCGWindowName] isEqualToString:@""]) {
|
156
|
+
_windowID = [[info objectForKey:(NSString *)kCGWindowNumber] unsignedIntValue];
|
157
|
+
}
|
158
|
+
}
|
159
|
+
[windowList release];
|
160
|
+
if (_windowID) {
|
161
|
+
_movie = [[QTMovie alloc] initToWritableFile:[NSString stringWithCString:tmpnam(nil) encoding:[NSString defaultCStringEncoding]] error:NULL];
|
162
|
+
_lastInterval = [NSDate timeIntervalSinceReferenceDate];;
|
163
|
+
[NSTimer scheduledTimerWithTimeInterval:1.0/30.0 target:self selector:@selector(addScreenshotToMovie) userInfo:nil repeats:YES];
|
164
|
+
}
|
124
165
|
}
|
125
166
|
|
126
167
|
- (void)session:(DTiPhoneSimulatorSession *)session didEndWithError:(NSError *)error {
|
127
|
-
|
128
|
-
|
168
|
+
if (_movie) {
|
169
|
+
NSDictionary *attributes = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:QTMovieFlatten];
|
170
|
+
NSError *error = nil;
|
171
|
+
BOOL success = [_movie writeToFile:_videoPath withAttributes:attributes error:&error];
|
172
|
+
if (!success) {
|
173
|
+
WaxLog(@"Failed to write movie: %@", error);
|
174
|
+
}
|
175
|
+
[_movie release];
|
176
|
+
}
|
177
|
+
if (error) {
|
178
|
+
WaxLog(@"Session ended with error. %@", [error localizedDescription]);
|
179
|
+
if ([error code] != 2) exit(EXIT_FAILURE); // if it is a timeout error, that's cool. We are probably rebooting
|
180
|
+
} else {
|
181
|
+
exit(EXIT_SUCCESS);
|
182
|
+
}
|
129
183
|
}
|
130
184
|
|
131
185
|
@end
|
data/ext/WaxSim/WaxSim.m
CHANGED
@@ -6,7 +6,6 @@
|
|
6
6
|
static BOOL gReset = false;
|
7
7
|
|
8
8
|
void printUsage();
|
9
|
-
void simulate(NSString *sdk, NSString *family, NSString *appPath, NSDictionary *environment, NSArray *additionalArgs);
|
10
9
|
void resetSignal(int sig);
|
11
10
|
|
12
11
|
int main(int argc, char *argv[]) {
|
@@ -16,12 +15,13 @@ int main(int argc, char *argv[]) {
|
|
16
15
|
char *sdk = nil;
|
17
16
|
char *family = nil;
|
18
17
|
char *appPath = nil;
|
18
|
+
char *videoPath = nil;
|
19
19
|
NSMutableArray *additionalArgs = [NSMutableArray array];
|
20
20
|
NSMutableDictionary *environment = [NSMutableDictionary dictionary];
|
21
21
|
NSString *environment_variable;
|
22
22
|
NSArray *environment_variable_parts;
|
23
23
|
|
24
|
-
while ((c = getopt(argc, argv, "e:s:f:ah")) != -1) {
|
24
|
+
while ((c = getopt(argc, argv, "e:s:f:v:ah")) != -1) {
|
25
25
|
switch(c) {
|
26
26
|
case 'e':
|
27
27
|
environment_variable = [NSString stringWithCString:optarg encoding:NSUTF8StringEncoding];
|
@@ -36,7 +36,7 @@ int main(int argc, char *argv[]) {
|
|
36
36
|
family = optarg;
|
37
37
|
break;
|
38
38
|
case 'a':
|
39
|
-
fprintf(stdout, "Available SDK Versions.\n"
|
39
|
+
fprintf(stdout, "Available SDK Versions.\n");
|
40
40
|
for (NSString *sdkVersion in [Simulator availableSDKs]) {
|
41
41
|
fprintf(stderr, " %s\n", [sdkVersion UTF8String]);
|
42
42
|
}
|
@@ -44,6 +44,9 @@ int main(int argc, char *argv[]) {
|
|
44
44
|
case 'h':
|
45
45
|
printUsage();
|
46
46
|
return 1;
|
47
|
+
case 'v':
|
48
|
+
videoPath = optarg;
|
49
|
+
break;
|
47
50
|
case '?':
|
48
51
|
if (optopt == 's' || optopt == 'f') {
|
49
52
|
fprintf(stderr, "Option -%c requires an argument.\n", optopt);
|
@@ -79,21 +82,15 @@ int main(int argc, char *argv[]) {
|
|
79
82
|
NSString *sdkString = sdk ? [NSString stringWithUTF8String:sdk] : nil;
|
80
83
|
NSString *familyString = family ? [NSString stringWithUTF8String:family] : nil;
|
81
84
|
NSString *appPathString = [NSString stringWithUTF8String:appPath];
|
85
|
+
NSString *videoPathString = videoPath ? [NSString stringWithUTF8String:videoPath] : nil;
|
82
86
|
|
83
|
-
|
87
|
+
Simulator *simulator = [[Simulator alloc] initWithAppPath:appPathString sdk:sdkString family:familyString video:videoPathString env:environment args:additionalArgs];
|
88
|
+
[simulator launch];
|
84
89
|
|
90
|
+
[[NSRunLoop mainRunLoop] run];
|
85
91
|
return 0;
|
86
92
|
}
|
87
93
|
|
88
|
-
void simulate(NSString *sdk, NSString *family, NSString *appPath, NSDictionary *environment, NSArray *additionalArgs) {
|
89
|
-
Simulator *simulator = [[Simulator alloc] initWithAppPath:appPath sdk:sdk family:family env:environment args:additionalArgs];
|
90
|
-
[simulator launch];
|
91
|
-
|
92
|
-
while (!gReset && [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:-1]]) ;
|
93
|
-
|
94
|
-
[simulator end];
|
95
|
-
}
|
96
|
-
|
97
94
|
void printUsage() {
|
98
95
|
fprintf(stderr, "usage: waxsim [options] app-path\n");
|
99
96
|
fprintf(stderr, "example: waxsim -s 2.2 /path/to/app.app\n");
|
@@ -101,7 +98,8 @@ void printUsage() {
|
|
101
98
|
fprintf(stderr, "\t-s sdk\tVersion number of sdk to use (-s 3.1)\n");
|
102
99
|
fprintf(stderr, "\t-f family\tDevice to use (-f ipad)\n");
|
103
100
|
fprintf(stderr, "\t-e VAR=value\tEnvironment variable to set (-e CFFIXED_HOME=/tmp/iphonehome)\n");
|
104
|
-
fprintf(stderr, "\t-a \tAvailable
|
101
|
+
fprintf(stderr, "\t-a \tAvailable SDKs\n");
|
102
|
+
fprintf(stderr, "\t-v path\tOutput video recording at path\n");
|
105
103
|
fprintf(stderr, "\t-h \tPrints out this wonderful documentation!\n");
|
106
104
|
}
|
107
105
|
|
@@ -12,6 +12,7 @@
|
|
12
12
|
048275C011263A74003DFACB /* iPhoneSimulatorRemoteClient.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 048275BF11263A74003DFACB /* iPhoneSimulatorRemoteClient.framework */; };
|
13
13
|
8DD76F9A0486AA7600D96B5E /* WaxSim.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* WaxSim.m */; settings = {ATTRIBUTES = (); }; };
|
14
14
|
8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
|
15
|
+
A8BC32E4139825EB00BDDB2A /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8BC32E3139825EA00BDDB2A /* QTKit.framework */; };
|
15
16
|
/* End PBXBuildFile section */
|
16
17
|
|
17
18
|
/* Begin PBXCopyFilesBuildPhase section */
|
@@ -36,6 +37,7 @@
|
|
36
37
|
08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
37
38
|
32A70AAB03705E1F00C91783 /* WaxSim_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaxSim_Prefix.pch; sourceTree = "<group>"; };
|
38
39
|
8DD76FA10486AA7600D96B5E /* waxsim */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = waxsim; sourceTree = BUILT_PRODUCTS_DIR; };
|
40
|
+
A8BC32E3139825EA00BDDB2A /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
|
39
41
|
/* End PBXFileReference section */
|
40
42
|
|
41
43
|
/* Begin PBXFrameworksBuildPhase section */
|
@@ -43,6 +45,7 @@
|
|
43
45
|
isa = PBXFrameworksBuildPhase;
|
44
46
|
buildActionMask = 2147483647;
|
45
47
|
files = (
|
48
|
+
A8BC32E4139825EB00BDDB2A /* QTKit.framework in Frameworks */,
|
46
49
|
8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */,
|
47
50
|
048274F11126398C003DFACB /* AppKit.framework in Frameworks */,
|
48
51
|
048275C011263A74003DFACB /* iPhoneSimulatorRemoteClient.framework in Frameworks */,
|
@@ -55,6 +58,7 @@
|
|
55
58
|
08FB7794FE84155DC02AAC07 /* WaxSim */ = {
|
56
59
|
isa = PBXGroup;
|
57
60
|
children = (
|
61
|
+
A8BC32E3139825EA00BDDB2A /* QTKit.framework */,
|
58
62
|
08FB7795FE84155DC02AAC07 /* Source */,
|
59
63
|
08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
|
60
64
|
1AB674ADFE9D54B511CA2CBB /* Products */,
|
@@ -120,7 +124,11 @@
|
|
120
124
|
isa = PBXProject;
|
121
125
|
buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "WaxSim" */;
|
122
126
|
compatibilityVersion = "Xcode 3.1";
|
127
|
+
developmentRegion = English;
|
123
128
|
hasScannedForEncodings = 1;
|
129
|
+
knownRegions = (
|
130
|
+
en,
|
131
|
+
);
|
124
132
|
mainGroup = 08FB7794FE84155DC02AAC07 /* WaxSim */;
|
125
133
|
projectDirPath = "";
|
126
134
|
projectRoot = "";
|
data/lib/uispecrunner/options.rb
CHANGED
@@ -3,7 +3,7 @@ class UISpecRunner
|
|
3
3
|
attr_reader :opts, :orig_args
|
4
4
|
|
5
5
|
def self.from_file(options_file)
|
6
|
-
args = File.readlines(options_file).map {|l| l.chomp.split "
|
6
|
+
args = File.readlines(options_file).map { |l| l.chomp.split(" ", 2)}.flatten
|
7
7
|
UISpecRunner::Options.new(args)
|
8
8
|
end
|
9
9
|
|
data/uispecrunner.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{uispecrunner}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Blake Watters"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-08-22}
|
13
13
|
s.default_executable = %q{uispec}
|
14
14
|
s.description = %q{Provides a simple Ruby interface for running UISpec iPhone tests}
|
15
15
|
s.email = %q{blake@twotoasters.com}
|
@@ -22,6 +22,8 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.files = [
|
23
23
|
".gitmodules",
|
24
24
|
"CHANGELOG",
|
25
|
+
"Gemfile",
|
26
|
+
"Gemfile.lock",
|
25
27
|
"LICENSE",
|
26
28
|
"README.md",
|
27
29
|
"Rakefile",
|
@@ -32,10 +34,6 @@ Gem::Specification.new do |s|
|
|
32
34
|
"ext/WaxSim/Simulator.m",
|
33
35
|
"ext/WaxSim/WaxSim.m",
|
34
36
|
"ext/WaxSim/WaxSim.xcodeproj/project.pbxproj",
|
35
|
-
"ext/WaxSim/WaxSim.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
|
36
|
-
"ext/WaxSim/WaxSim.xcodeproj/project.xcworkspace/xcuserdata/blake.xcuserdatad/UserInterfaceState.xcuserstate",
|
37
|
-
"ext/WaxSim/WaxSim.xcodeproj/xcuserdata/blake.xcuserdatad/xcschemes/WaxSim.xcscheme",
|
38
|
-
"ext/WaxSim/WaxSim.xcodeproj/xcuserdata/blake.xcuserdatad/xcschemes/xcschememanagement.plist",
|
39
37
|
"ext/WaxSim/WaxSim_Prefix.pch",
|
40
38
|
"ext/WaxSim/iPhoneSimulatorRemoteClient/iPhoneSimulatorRemoteClient.h",
|
41
39
|
"lib/uispecrunner.rb",
|
@@ -57,26 +55,29 @@ Gem::Specification.new do |s|
|
|
57
55
|
]
|
58
56
|
s.homepage = %q{http://github.com/twotoasters/UISpecRunner}
|
59
57
|
s.require_paths = ["lib"]
|
60
|
-
s.rubygems_version = %q{1.
|
58
|
+
s.rubygems_version = %q{1.6.2}
|
61
59
|
s.summary = %q{Flexible spec runner for UISpec on iOS}
|
62
|
-
s.test_files = [
|
63
|
-
"spec/options_spec.rb",
|
64
|
-
"spec/spec_helper.rb",
|
65
|
-
"spec/uispecrunner_spec.rb"
|
66
|
-
]
|
67
60
|
|
68
61
|
if s.respond_to? :specification_version then
|
69
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
70
62
|
s.specification_version = 3
|
71
63
|
|
72
64
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
65
|
+
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
66
|
+
s.add_runtime_dependency(%q<jeweler>, [">= 0"])
|
67
|
+
s.add_runtime_dependency(%q<rspec>, [">= 0"])
|
73
68
|
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
74
69
|
s.add_runtime_dependency(%q<open4>, ["= 1.0.1"])
|
75
70
|
else
|
71
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
72
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
73
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
76
74
|
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
77
75
|
s.add_dependency(%q<open4>, ["= 1.0.1"])
|
78
76
|
end
|
79
77
|
else
|
78
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
79
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
80
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
80
81
|
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
81
82
|
s.add_dependency(%q<open4>, ["= 1.0.1"])
|
82
83
|
end
|
metadata
CHANGED
@@ -1,67 +1,86 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: uispecrunner
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 4
|
9
|
-
- 5
|
10
|
-
version: 0.4.5
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.6
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Blake Watters
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2011-04-20 00:00:00 -04:00
|
12
|
+
date: 2011-08-22 00:00:00.000000000 -04:00
|
19
13
|
default_executable: uispec
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rake
|
17
|
+
requirement: &2151514480 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *2151514480
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: jeweler
|
28
|
+
requirement: &2151513120 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *2151513120
|
37
|
+
- !ruby/object:Gem::Dependency
|
22
38
|
name: rspec
|
39
|
+
requirement: &2151511980 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
45
|
+
type: :runtime
|
23
46
|
prerelease: false
|
24
|
-
|
47
|
+
version_requirements: *2151511980
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rspec
|
50
|
+
requirement: &2151511020 !ruby/object:Gem::Requirement
|
25
51
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 13
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 2
|
33
|
-
- 9
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
34
55
|
version: 1.2.9
|
35
56
|
type: :development
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: open4
|
39
57
|
prerelease: false
|
40
|
-
|
58
|
+
version_requirements: *2151511020
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: open4
|
61
|
+
requirement: &2151509840 !ruby/object:Gem::Requirement
|
41
62
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 21
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 0
|
49
|
-
- 1
|
63
|
+
requirements:
|
64
|
+
- - =
|
65
|
+
- !ruby/object:Gem::Version
|
50
66
|
version: 1.0.1
|
51
67
|
type: :runtime
|
52
|
-
|
68
|
+
prerelease: false
|
69
|
+
version_requirements: *2151509840
|
53
70
|
description: Provides a simple Ruby interface for running UISpec iPhone tests
|
54
71
|
email: blake@twotoasters.com
|
55
|
-
executables:
|
72
|
+
executables:
|
56
73
|
- uispec
|
57
|
-
extensions:
|
74
|
+
extensions:
|
58
75
|
- ext/Rakefile
|
59
|
-
extra_rdoc_files:
|
76
|
+
extra_rdoc_files:
|
60
77
|
- LICENSE
|
61
78
|
- README.md
|
62
|
-
files:
|
79
|
+
files:
|
63
80
|
- .gitmodules
|
64
81
|
- CHANGELOG
|
82
|
+
- Gemfile
|
83
|
+
- Gemfile.lock
|
65
84
|
- LICENSE
|
66
85
|
- README.md
|
67
86
|
- Rakefile
|
@@ -72,10 +91,6 @@ files:
|
|
72
91
|
- ext/WaxSim/Simulator.m
|
73
92
|
- ext/WaxSim/WaxSim.m
|
74
93
|
- ext/WaxSim/WaxSim.xcodeproj/project.pbxproj
|
75
|
-
- ext/WaxSim/WaxSim.xcodeproj/project.xcworkspace/contents.xcworkspacedata
|
76
|
-
- ext/WaxSim/WaxSim.xcodeproj/project.xcworkspace/xcuserdata/blake.xcuserdatad/UserInterfaceState.xcuserstate
|
77
|
-
- ext/WaxSim/WaxSim.xcodeproj/xcuserdata/blake.xcuserdatad/xcschemes/WaxSim.xcscheme
|
78
|
-
- ext/WaxSim/WaxSim.xcodeproj/xcuserdata/blake.xcuserdatad/xcschemes/xcschememanagement.plist
|
79
94
|
- ext/WaxSim/WaxSim_Prefix.pch
|
80
95
|
- ext/WaxSim/iPhoneSimulatorRemoteClient/iPhoneSimulatorRemoteClient.h
|
81
96
|
- lib/uispecrunner.rb
|
@@ -97,38 +112,26 @@ files:
|
|
97
112
|
has_rdoc: true
|
98
113
|
homepage: http://github.com/twotoasters/UISpecRunner
|
99
114
|
licenses: []
|
100
|
-
|
101
115
|
post_install_message:
|
102
116
|
rdoc_options: []
|
103
|
-
|
104
|
-
require_paths:
|
117
|
+
require_paths:
|
105
118
|
- lib
|
106
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
119
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
107
120
|
none: false
|
108
|
-
requirements:
|
109
|
-
- -
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
|
112
|
-
|
113
|
-
- 0
|
114
|
-
version: "0"
|
115
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
126
|
none: false
|
117
|
-
requirements:
|
118
|
-
- -
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
|
121
|
-
segments:
|
122
|
-
- 0
|
123
|
-
version: "0"
|
127
|
+
requirements:
|
128
|
+
- - ! '>='
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
124
131
|
requirements: []
|
125
|
-
|
126
132
|
rubyforge_project:
|
127
|
-
rubygems_version: 1.
|
133
|
+
rubygems_version: 1.6.2
|
128
134
|
signing_key:
|
129
135
|
specification_version: 3
|
130
136
|
summary: Flexible spec runner for UISpec on iOS
|
131
|
-
test_files:
|
132
|
-
- spec/options_spec.rb
|
133
|
-
- spec/spec_helper.rb
|
134
|
-
- spec/uispecrunner_spec.rb
|
137
|
+
test_files: []
|