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 CHANGED
@@ -1,3 +1,3 @@
1
1
  [submodule "ext/WaxSim"]
2
2
  path = ext/WaxSim
3
- url = https://github.com/robholland/WaxSim.git
3
+ url = https://github.com/square/WaxSim.git
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ v0.4.6
2
+ ------
3
+ - Fixed small bug in UISpecRunner::Options.from_file when supplying arguments containing a space
4
+ - Switched to Square's fork of WaxSim (https://github.com/square/WaxSim)
5
+
1
6
  v0.2.3
2
7
  -------
3
8
  - Added UISpecRunner::Options.from_file
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "rake"
4
+ gem "jeweler"
5
+ gem "rspec"
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: gem install jeweler"
23
+ puts "Jeweler (or a dependency) not available. Install it with: bundle"
24
24
  end
25
25
 
26
- require 'spec/rake/spectask'
27
- Spec::Rake::SpecTask.new(:spec) do |spec|
28
- spec.libs << 'lib' << 'spec'
29
- spec.spec_files = FileList['spec/**/*_spec.rb']
30
- end
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
- spec.libs << 'lib' << 'spec'
34
- spec.pattern = 'spec/**/*_spec.rb'
35
- spec.rcov = true
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
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
45
+ require 'rake/rdoctask'
46
+ Rake::RDocTask.new do |rdoc|
47
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
45
48
 
46
- rdoc.rdoc_dir = 'rdoc'
47
- rdoc.title = "UISpecRunner #{version}"
48
- rdoc.rdoc_files.include('README*')
49
- rdoc.rdoc_files.include('lib/**/*.rb')
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.5
1
+ 0.4.6
@@ -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
@@ -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:@"iCuke"];
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
- WaxLog(@"Session ended with error. %@", [error localizedDescription]);
128
- if ([error code] != 2) exit(EXIT_FAILURE); // if it is a timeout error, that's cool. We are probably rebooting
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", optopt);
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
- simulate(sdkString, familyString, appPathString, environment, additionalArgs);
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 SDK's\n");
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 = "";
@@ -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 " "}.flatten
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.5"
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-04-20}
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.3.7}
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
- hash: 5
5
- prerelease: false
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
- requirement: &id001 !ruby/object:Gem::Requirement
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- version_requirements: *id002
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
- hash: 3
112
- segments:
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
- hash: 3
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.3.7
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: []
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Workspace
3
- version = "1.0">
4
- <FileRef
5
- location = "self:WaxSim.xcodeproj">
6
- </FileRef>
7
- </Workspace>