calabash-cucumber 0.9.152 → 0.9.153
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.
- checksums.yaml +4 -4
- data/bin/calabash-ios-setup.rb +2 -2
- data/calabash-cucumber.gemspec +1 -1
- data/lib/calabash-cucumber/core.rb +9 -6
- data/lib/calabash-cucumber/keyboard_helpers.rb +1 -0
- data/lib/calabash-cucumber/launch/simulator_helper.rb +69 -10
- data/lib/calabash-cucumber/launcher.rb +197 -71
- data/lib/calabash-cucumber/version.rb +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0013596c606dae1ae15bdd511ff80df2828f5cd1
|
4
|
+
data.tar.gz: e7b227e7ed17db7c74590184fa245204510bf503
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed9bb7e55df24f89f862bb87e62fd8ed29ca3bc2160e674e60ba7330b1b7f57d235b60e9051e69d55738acf56d24ae7388e0e86f05d4e1af56530233b0df4db9
|
7
|
+
data.tar.gz: e5b448303482fece80fc706b37e292624aab14b09e4589a41e4f120388ed2639aad59b9bcf0ad0a8a31609af69821a73a41036e934b1a0babcc23fe4f63be936
|
data/bin/calabash-ios-setup.rb
CHANGED
@@ -186,8 +186,8 @@ def validate_setup(args)
|
|
186
186
|
else
|
187
187
|
dd_dir = Calabash::Cucumber::SimulatorHelper.derived_data_dir_for_project
|
188
188
|
if not dd_dir
|
189
|
-
puts "Unable to find iOS project."
|
190
|
-
puts "You should run this command from an
|
189
|
+
puts "Unable to find iOS XCode project."
|
190
|
+
puts "You should run this command from an XCode project directory."
|
191
191
|
exit 1
|
192
192
|
end
|
193
193
|
app_bundles = Dir.glob(File.join(dd_dir, "Build", "Products", "*", "*.app"))
|
data/calabash-cucumber.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
s.add_dependency( "location-one", "~>0.0.10")
|
27
27
|
s.add_dependency( "httpclient","~> 2.3.3")
|
28
28
|
s.add_dependency( "bundler", "~> 1.1")
|
29
|
-
s.add_dependency( "run_loop", "~> 0.0.
|
29
|
+
s.add_dependency( "run_loop", "~> 0.0.20" )
|
30
30
|
s.add_dependency( "awesome_print")
|
31
31
|
|
32
32
|
end
|
@@ -341,7 +341,7 @@ module Calabash
|
|
341
341
|
end
|
342
342
|
end
|
343
343
|
|
344
|
-
def
|
344
|
+
def send_app_to_background(secs)
|
345
345
|
uia_send_app_to_background(secs)
|
346
346
|
end
|
347
347
|
|
@@ -514,7 +514,6 @@ EOF
|
|
514
514
|
res['results']
|
515
515
|
end
|
516
516
|
|
517
|
-
# not called? -jjm 2013-08-16
|
518
517
|
def interpolate(recording, options={})
|
519
518
|
data = load_playback_data(recording)
|
520
519
|
|
@@ -548,7 +547,12 @@ EOF
|
|
548
547
|
os = ENV['OS']
|
549
548
|
|
550
549
|
unless os
|
551
|
-
|
550
|
+
if @calabash_launcher && @calabash_launcher.active?
|
551
|
+
major = @calabash_launcher.ios_major_version
|
552
|
+
else
|
553
|
+
major = Calabash::Cucumber::SimulatorHelper.ios_major_version
|
554
|
+
end
|
555
|
+
|
552
556
|
unless major
|
553
557
|
raise <<EOF
|
554
558
|
Unable to determine iOS major version
|
@@ -645,11 +649,10 @@ EOF
|
|
645
649
|
## args :app for device bundle id, for sim path to app
|
646
650
|
##
|
647
651
|
def start_test_server_in_background(args={})
|
648
|
-
target = args[:device_target] || :simulator
|
649
652
|
stop_test_server
|
650
|
-
@calabash_launcher = Calabash::Cucumber::Launcher.new(
|
653
|
+
@calabash_launcher = Calabash::Cucumber::Launcher.new()
|
651
654
|
@calabash_launcher.relaunch(args)
|
652
|
-
|
655
|
+
@calabash_launcher
|
653
656
|
end
|
654
657
|
|
655
658
|
def stop_test_server
|
@@ -35,7 +35,6 @@ module Calabash
|
|
35
35
|
simulator.quit_simulator
|
36
36
|
end
|
37
37
|
|
38
|
-
|
39
38
|
def self.derived_data_dir_for_project
|
40
39
|
dir = project_dir
|
41
40
|
xcode_workspace_name = ''
|
@@ -117,19 +116,39 @@ module Calabash
|
|
117
116
|
File.expand_path(ENV['PROJECT_DIR'] || Dir.pwd)
|
118
117
|
end
|
119
118
|
|
120
|
-
def self.
|
119
|
+
def self.detect_app_bundle(path=nil,device_build_dir='iPhoneSimulator')
|
120
|
+
begin
|
121
|
+
app_bundle_or_raise(path,device_build_dir)
|
122
|
+
rescue =>e
|
123
|
+
nil
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
def self.app_bundle_or_raise(path=nil, device_build_dir='iPhoneSimulator')
|
121
128
|
bundle_path = nil
|
122
129
|
path = File.expand_path(path) if path
|
123
130
|
|
124
131
|
if path and not File.directory?(path)
|
125
|
-
|
126
|
-
dd_dir = derived_data_dir_for_project
|
127
|
-
app_bundles = Dir.glob(File.join(dd_dir, "Build", "Products", "*", "*.app"))
|
128
|
-
msg = "Try setting APP_BUNDLE_PATH in features/support/01_launch.rb to one of:\n\n"
|
129
|
-
msg << app_bundles.join("\n")
|
130
|
-
raise msg
|
132
|
+
raise "Unable to find .app bundle at #{path}. It should be an .app directory."
|
131
133
|
elsif path
|
132
134
|
bundle_path = path
|
135
|
+
elsif xamarin_project?
|
136
|
+
bundle_path = bundle_path_from_xamarin_project(device_build_dir)
|
137
|
+
unless bundle_path
|
138
|
+
msg = ["Detected Xamarin project, but did not detect built app linked with Calabash"]
|
139
|
+
msg << "You should build your project from Xamarin Studio"
|
140
|
+
msg << "Make sure you build for Simulator and that you're using the Calabash components"
|
141
|
+
raise msg.join("\n")
|
142
|
+
end
|
143
|
+
if FULL_CONSOLE_OUTPUT
|
144
|
+
puts("-"*37)
|
145
|
+
puts "Auto detected APP_BUNDLE_PATH:\n\n"
|
146
|
+
|
147
|
+
puts "APP_BUNDLE_PATH=#{preferred_dir || sim_dirs[0]}\n\n"
|
148
|
+
puts "Please verify!"
|
149
|
+
puts "If this is wrong please set it as APP_BUNDLE_PATH in features/support/01_launch.rb\n"
|
150
|
+
puts("-"*37)
|
151
|
+
end
|
133
152
|
else
|
134
153
|
dd_dir = derived_data_dir_for_project
|
135
154
|
sim_dirs = Dir.glob(File.join(dd_dir, "Build", "Products", "*-iphonesimulator", "*.app"))
|
@@ -169,10 +188,50 @@ module Calabash
|
|
169
188
|
bundle_path
|
170
189
|
end
|
171
190
|
|
191
|
+
def self.xamarin_project?
|
192
|
+
xamarin_ios_csproj_path != nil
|
193
|
+
end
|
194
|
+
|
195
|
+
def self.xamarin_ios_csproj_path
|
196
|
+
solution_path = Dir['*.Xamarin.sln'].first
|
197
|
+
if solution_path
|
198
|
+
project_dir = Dir.pwd
|
199
|
+
else
|
200
|
+
solution_path = Dir[File.join('..','*.Xamarin.sln')].first
|
201
|
+
project_dir = File.expand_path('..') if solution_path
|
202
|
+
end
|
203
|
+
return nil unless project_dir
|
204
|
+
|
205
|
+
ios_project_dir = Dir[File.join(project_dir,'*.iOS')].first
|
206
|
+
return nil unless ios_project_dir && File.directory?(ios_project_dir)
|
207
|
+
ios_project_dir
|
208
|
+
end
|
209
|
+
|
210
|
+
def self.bundle_path_from_xamarin_project(device_build_dir='iPhoneSimulator')
|
211
|
+
ios_project_path = xamarin_ios_csproj_path
|
212
|
+
conf_glob = File.join(ios_project_path,'bin',device_build_dir,'*')
|
213
|
+
built_confs = Dir[conf_glob]
|
214
|
+
|
215
|
+
calabash_build = built_confs.find {|path| File.basename(path) == 'Calabash'}
|
216
|
+
debug_build = built_confs.find {|path| File.basename(path) == 'Debug'}
|
217
|
+
|
218
|
+
bundle_path = [calabash_build, debug_build, *built_confs].find do |path|
|
219
|
+
next unless path && File.directory?(path)
|
220
|
+
app_dir = Dir[File.join(path,'*.app')].first
|
221
|
+
app_dir && linked_with_calabash?(app_dir)
|
222
|
+
end
|
223
|
+
|
224
|
+
Dir[File.join(bundle_path,'*.app')].first if bundle_path
|
225
|
+
end
|
226
|
+
|
227
|
+
def self.linked_with_calabash?(d)
|
228
|
+
out = `otool "#{File.expand_path(d)}"/* -o 2> /dev/null | grep CalabashServer`
|
229
|
+
/CalabashServer/.match(out)
|
230
|
+
end
|
231
|
+
|
172
232
|
def self.find_preferred_dir(sim_dirs)
|
173
233
|
sim_dirs.find do |d|
|
174
|
-
|
175
|
-
/CalabashServer/.match(out)
|
234
|
+
linked_with_calabash?(d)
|
176
235
|
end
|
177
236
|
end
|
178
237
|
|
@@ -2,15 +2,17 @@ require 'calabash-cucumber/launch/simulator_helper'
|
|
2
2
|
require 'sim_launcher'
|
3
3
|
require 'calabash-cucumber/device'
|
4
4
|
require 'run_loop'
|
5
|
-
|
5
|
+
require 'cfpropertylist'
|
6
6
|
|
7
7
|
class Calabash::Cucumber::Launcher
|
8
8
|
attr_accessor :run_loop
|
9
|
-
attr_accessor :device_target
|
10
9
|
attr_accessor :device
|
11
10
|
|
11
|
+
@@launcher = nil
|
12
|
+
|
12
13
|
class StartError < RuntimeError
|
13
14
|
attr_accessor :error
|
15
|
+
|
14
16
|
def initialize(err)
|
15
17
|
self.error= err
|
16
18
|
end
|
@@ -20,52 +22,19 @@ class Calabash::Cucumber::Launcher
|
|
20
22
|
end
|
21
23
|
end
|
22
24
|
|
23
|
-
def self.launcher(device_target=:simulator)
|
24
|
-
@@launcher ||= Launcher.new(device_target)
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.launcher_if_used
|
28
|
-
@@launcher
|
29
|
-
end
|
30
|
-
|
31
|
-
def initialize(device_target=:simulator)
|
32
|
-
self.device_target = device_target
|
33
|
-
@@launcher = self
|
34
|
-
end
|
35
|
-
|
36
25
|
class CalabashLauncherTimeoutErr < Timeout::Error
|
37
26
|
end
|
38
27
|
|
39
|
-
def
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
def calabash_no_launch?
|
44
|
-
ENV['NO_LAUNCH']=='1'
|
45
|
-
end
|
46
|
-
|
47
|
-
def device_target?
|
48
|
-
(ENV['DEVICE_TARGET'] != nil) && (not simulator_target?)
|
49
|
-
end
|
50
|
-
|
51
|
-
def simulator_target?
|
52
|
-
ENV['DEVICE_TARGET'] == 'simulator'
|
53
|
-
end
|
54
|
-
|
55
|
-
def sdk_version
|
56
|
-
ENV['SDK_VERSION']
|
57
|
-
end
|
58
|
-
|
59
|
-
def reset_between_scenarios?
|
60
|
-
ENV['RESET_BETWEEN_SCENARIOS']=="1"
|
28
|
+
def self.launcher
|
29
|
+
@@launcher ||= Launcher.new
|
61
30
|
end
|
62
31
|
|
63
|
-
def
|
64
|
-
|
32
|
+
def self.launcher_if_used
|
33
|
+
@@launcher
|
65
34
|
end
|
66
35
|
|
67
|
-
def
|
68
|
-
|
36
|
+
def initialize
|
37
|
+
@@launcher = self
|
69
38
|
end
|
70
39
|
|
71
40
|
def ios_major_version
|
@@ -78,12 +47,9 @@ class Calabash::Cucumber::Launcher
|
|
78
47
|
device.ios_version
|
79
48
|
end
|
80
49
|
|
81
|
-
|
82
50
|
def reset_app_jail(sdk=nil, path=nil)
|
83
|
-
|
84
|
-
|
85
|
-
sdk = sdk || ENV['SDK_VERSION'] || SimLauncher::SdkDetector.new().latest_sdk_version
|
86
|
-
path = path || Calabash::Cucumber::SimulatorHelper.app_bundle_or_raise(app_path)
|
51
|
+
sdk ||= sdk_version || SimLauncher::SdkDetector.new().latest_sdk_version
|
52
|
+
path ||= Calabash::Cucumber::SimulatorHelper.app_bundle_or_raise(app_path)
|
87
53
|
|
88
54
|
app = File.basename(path)
|
89
55
|
bundle = `find "#{ENV['HOME']}/Library/Application Support/iPhone Simulator/#{sdk}/Applications/" -type d -depth 2 -name "#{app}" | head -n 1`
|
@@ -95,35 +61,136 @@ class Calabash::Cucumber::Launcher
|
|
95
61
|
end
|
96
62
|
end
|
97
63
|
|
98
|
-
def
|
99
|
-
|
64
|
+
def default_launch_args
|
65
|
+
# APP_BUNDLE_PATH
|
66
|
+
# BUNDLE_ID
|
67
|
+
# APP (unifies APP_BUNDLE_PATH, BUNDLE_ID)
|
68
|
+
# DEVICE_TARGET
|
69
|
+
# SDK_VERSION
|
70
|
+
# RESET_BETWEEN_SCENARIOS
|
71
|
+
# DEVICE
|
72
|
+
# NO_LAUNCH
|
73
|
+
# NO_STOP
|
74
|
+
|
75
|
+
args = {
|
76
|
+
:launch_method => default_launch_method,
|
77
|
+
:reset => reset_between_scenarios?,
|
78
|
+
:bundle_id => ENV['BUNDLE_ID'],
|
79
|
+
:device => device_env,
|
80
|
+
:no_stop => calabash_no_stop?,
|
81
|
+
:no_launch => calabash_no_launch?,
|
82
|
+
:sdk_version => sdk_version
|
83
|
+
}
|
84
|
+
|
85
|
+
#:device_target will be set
|
86
|
+
|
87
|
+
if run_with_instruments?(args) && !simulator_target?
|
88
|
+
device_tgt = ENV['DEVICE_TARGET']
|
89
|
+
if device_tgt.nil? || device_tgt.downcase == 'device'
|
90
|
+
device_tgt = RunLoop::Core.detect_connected_device
|
91
|
+
end
|
100
92
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
default_args[:udid] = target
|
93
|
+
if device_tgt
|
94
|
+
args[:device_target] = args[:udid] = device_tgt
|
95
|
+
else
|
96
|
+
args[:device_target] = 'simulator'
|
106
97
|
end
|
107
|
-
default_args
|
108
|
-
self.run_loop = new_run_loop(default_args.merge(args))
|
109
98
|
else
|
99
|
+
args[:device_target] = 'simulator'
|
100
|
+
end
|
101
|
+
|
110
102
|
|
111
|
-
|
103
|
+
args
|
104
|
+
end
|
105
|
+
|
106
|
+
def default_launch_method
|
107
|
+
return :instruments unless sdk_version
|
108
|
+
return :instruments if sdk_version.start_with?('7') # Only instruments supported for iOS7+
|
109
|
+
sim_detector = SimLauncher::SdkDetector.new()
|
110
|
+
available = sim_detector.available_sdk_versions.reject {|v| v.start_with?('7')}
|
111
|
+
if available.include?(sdk_version)
|
112
|
+
:sim_launcher
|
113
|
+
else
|
114
|
+
:instruments
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
def relaunch(args={})
|
119
|
+
RunLoop.stop(run_loop) if run_loop
|
120
|
+
|
121
|
+
args = default_launch_args.merge(args)
|
122
|
+
|
123
|
+
args[:app] = args[:app] || args[:bundle_id] || app_path || detect_app_bundle_from_args(args)
|
124
|
+
|
125
|
+
if File.directory?(args[:app])
|
126
|
+
args[:app] = File.expand_path(args[:app])
|
127
|
+
end
|
128
|
+
|
129
|
+
args[:bundle_id] ||= detect_bundle_id_from_app_bundle(args)
|
130
|
+
|
131
|
+
args[:device] ||= detect_device_from_args(args)
|
132
|
+
|
133
|
+
|
134
|
+
reset_app_jail if args[:reset]
|
135
|
+
|
136
|
+
if run_with_instruments?(args)
|
137
|
+
self.run_loop = new_run_loop(args)
|
138
|
+
else
|
139
|
+
# run with sim launcher
|
140
|
+
sdk = sdk_version || SimLauncher::SdkDetector.new().available_sdk_versions.reverse.find { |x| !x.start_with?('7') }
|
112
141
|
path = Calabash::Cucumber::SimulatorHelper.app_bundle_or_raise(app_path)
|
113
|
-
|
114
|
-
|
115
|
-
|
142
|
+
Calabash::Cucumber::SimulatorHelper.relaunch(path, sdk, args[:device].to_s, args)
|
143
|
+
end
|
144
|
+
before = Time.now
|
145
|
+
ensure_connectivity
|
146
|
+
end
|
116
147
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
148
|
+
def detect_device_from_args(args)
|
149
|
+
if args[:app] && File.directory?(args[:app])
|
150
|
+
# Derive bundle id from bundle_dir
|
151
|
+
plist_as_hash = info_plist_from_bundle_path(args[:app])
|
152
|
+
if plist_as_hash
|
153
|
+
device_family = plist_as_hash['UIDeviceFamily']
|
154
|
+
if device_family
|
155
|
+
first_device = device_family.first
|
156
|
+
if first_device == 2
|
157
|
+
return 'ipad'
|
158
|
+
else
|
159
|
+
return 'iphone'
|
160
|
+
end
|
161
|
+
end
|
123
162
|
end
|
163
|
+
else
|
164
|
+
args[:app]
|
165
|
+
end
|
166
|
+
|
167
|
+
|
168
|
+
end
|
124
169
|
|
170
|
+
def detect_app_bundle_from_args(args)
|
171
|
+
if args[:device_target]=='simulator'
|
172
|
+
device_xamarin_build_dir = 'iPhoneSimulator'
|
173
|
+
else
|
174
|
+
device_xamarin_build_dir = 'iPhone'
|
125
175
|
end
|
126
|
-
|
176
|
+
Calabash::Cucumber::SimulatorHelper.detect_app_bundle(nil, device_xamarin_build_dir)
|
177
|
+
end
|
178
|
+
|
179
|
+
def detect_bundle_id_from_app_bundle(args)
|
180
|
+
if args[:app] && File.directory?(args[:app])
|
181
|
+
# Derive bundle id from bundle_dir
|
182
|
+
plist_as_hash = info_plist_from_bundle_path(args[:app])
|
183
|
+
if plist_as_hash
|
184
|
+
plist_as_hash['CFBundleIdentifier']
|
185
|
+
end
|
186
|
+
else
|
187
|
+
args[:app]
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
191
|
+
def info_plist_from_bundle_path(bundle_path)
|
192
|
+
plist_path = File.join(bundle_path, 'Info.plist')
|
193
|
+
info_plist_as_hash(plist_path) if File.exist?(plist_path)
|
127
194
|
end
|
128
195
|
|
129
196
|
def new_run_loop(args)
|
@@ -132,6 +199,7 @@ class Calabash::Cucumber::Launcher
|
|
132
199
|
begin
|
133
200
|
return RunLoop.run(args)
|
134
201
|
rescue RunLoop::TimeoutError => e
|
202
|
+
last_err = e
|
135
203
|
if ENV['CALABASH_FULL_CONSOLE_OUTPUT'] == '1'
|
136
204
|
puts "retrying run loop..."
|
137
205
|
end
|
@@ -192,7 +260,7 @@ class Calabash::Cucumber::Launcher
|
|
192
260
|
|
193
261
|
end
|
194
262
|
|
195
|
-
if status=='200'
|
263
|
+
if status == '200'
|
196
264
|
version_body = JSON.parse(res.body)
|
197
265
|
self.device = Calabash::Cucumber::Device.new(url, version_body)
|
198
266
|
end
|
@@ -204,14 +272,72 @@ class Calabash::Cucumber::Launcher
|
|
204
272
|
RunLoop.stop(run_loop)
|
205
273
|
end
|
206
274
|
|
207
|
-
def app_path
|
208
|
-
ENV['APP_BUNDLE_PATH'] || (defined?(APP_BUNDLE_PATH) && APP_BUNDLE_PATH)
|
209
|
-
end
|
210
|
-
|
211
275
|
def calabash_notify(world)
|
212
276
|
if world.respond_to?(:on_launch)
|
213
277
|
world.on_launch
|
214
278
|
end
|
215
279
|
end
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
def info_plist_as_hash(plist_path)
|
284
|
+
unless File.exist?(plist_path)
|
285
|
+
raise "Unable to find Info.plist: #{plist_path}"
|
286
|
+
end
|
287
|
+
parsedplist = CFPropertyList::List.new(:file => plist_path)
|
288
|
+
CFPropertyList.native_types(parsedplist.value)
|
289
|
+
end
|
290
|
+
|
291
|
+
def detect_bundle_id
|
292
|
+
begin
|
293
|
+
bundle_path = Calabash::Cucumber::SimulatorHelper.app_bundle_or_raise(app_path)
|
294
|
+
plist_path = File.join(bundle_path, 'Info.plist')
|
295
|
+
info_plist_as_hash(plist_path)['CFBundleIdentifier']
|
296
|
+
rescue => e
|
297
|
+
raise "Unable to automatically find bundle id. Please set BUNDLE_ID environment variable. #{e}"
|
298
|
+
end
|
299
|
+
end
|
300
|
+
|
301
|
+
def calabash_no_stop?
|
302
|
+
calabash_no_launch? or ENV['NO_STOP']=="1"
|
303
|
+
end
|
304
|
+
|
305
|
+
def calabash_no_launch?
|
306
|
+
ENV['NO_LAUNCH']=='1'
|
307
|
+
end
|
308
|
+
|
309
|
+
def device_target?
|
310
|
+
(ENV['DEVICE_TARGET'] != nil) && (not simulator_target?)
|
311
|
+
end
|
312
|
+
|
313
|
+
def simulator_target?
|
314
|
+
ENV['DEVICE_TARGET'] == 'simulator'
|
315
|
+
end
|
316
|
+
|
317
|
+
def sdk_version
|
318
|
+
ENV['SDK_VERSION']
|
319
|
+
end
|
320
|
+
|
321
|
+
def reset_between_scenarios?
|
322
|
+
ENV['RESET_BETWEEN_SCENARIOS']=="1"
|
323
|
+
end
|
324
|
+
|
325
|
+
def device_env
|
326
|
+
ENV['DEVICE']
|
327
|
+
end
|
328
|
+
|
329
|
+
def app_path
|
330
|
+
ENV['APP_BUNDLE_PATH'] || (defined?(APP_BUNDLE_PATH) && APP_BUNDLE_PATH) || ENV['APP']
|
331
|
+
end
|
332
|
+
|
333
|
+
def run_with_instruments?(args)
|
334
|
+
args[:launch_method] == :instruments
|
335
|
+
end
|
336
|
+
|
337
|
+
def active?
|
338
|
+
not run_loop.nil?
|
339
|
+
end
|
340
|
+
|
341
|
+
|
216
342
|
end
|
217
343
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: calabash-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.153
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karl Krukow
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -156,14 +156,14 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - ~>
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0.0.
|
159
|
+
version: 0.0.20
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - ~>
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0.0.
|
166
|
+
version: 0.0.20
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: awesome_print
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|