uispecrunner 0.4.5 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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: []
|