calabash-cucumber 0.10.0.pre5 → 0.10.0.pre8
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-helpers.rb +2 -0
- data/bin/calabash-ios-setup.rb +1 -0
- data/bin/frank-calabash +2 -0
- data/dylibs/libCalabashDyn.dylib +0 -0
- data/dylibs/libCalabashDynSim.dylib +0 -0
- data/features-skeleton/support/env.rb +7 -0
- data/lib/calabash-cucumber.rb +2 -3
- data/lib/calabash-cucumber/core.rb +6 -0
- data/lib/calabash-cucumber/failure_helpers.rb +1 -0
- data/lib/calabash-cucumber/keyboard_helpers.rb +1 -3
- data/lib/calabash-cucumber/launcher.rb +20 -19
- data/lib/calabash-cucumber/operations.rb +0 -2
- data/lib/calabash-cucumber/uia.rb +17 -16
- data/lib/calabash-cucumber/utils/simulator_accessibility.rb +19 -1
- data/lib/calabash-cucumber/version.rb +4 -1
- data/lib/calabash/dylibs.rb +21 -0
- data/staticlib/calabash.framework.zip +0 -0
- data/staticlib/libFrankCalabash.a +0 -0
- metadata +25 -23
- data/lib/calabash-cucumber/enviroment_variables.rb +0 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5af21c9bc0f9dd0ea3eb0841e90ca47f062517e
|
4
|
+
data.tar.gz: 587d74d905a56a54b9c206e12796d361aea90bfb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c712da77619dadc9188a71131a96b5dfa34e13ffcc915ae6bd7b1277a59593969553a338e3140dfae91cc95dc287c9d2cae4fd5cfb1b99211c9a79bc8ce54b96
|
7
|
+
data.tar.gz: e09a0f9b482b84fc1b9f339cd694dc469a6b78c43fc724a12fb9a7fd80bc81784c52c8e12013db6e48c9fe449905fa83da3d7583668ff27bbb761f255d83a8f4
|
data/bin/calabash-ios-helpers.rb
CHANGED
data/bin/calabash-ios-setup.rb
CHANGED
data/bin/frank-calabash
CHANGED
@@ -12,6 +12,8 @@ def print_usage
|
|
12
12
|
Frank/plugins/calabash
|
13
13
|
uninstall
|
14
14
|
uninstalls Frank.Calabash by removing Frank/plugins/calabash
|
15
|
+
console
|
16
|
+
starts the Frank console prepared for Calabash: use c = calabash_client to obtain a Calabash client. Use launch to launch using instruments.
|
15
17
|
EOF
|
16
18
|
end
|
17
19
|
|
Binary file
|
Binary file
|
@@ -1 +1,8 @@
|
|
1
|
+
# Requiring this file will import Calabash and the Calabash predefined Steps.
|
1
2
|
require 'calabash-cucumber/cucumber'
|
3
|
+
|
4
|
+
# To use Calabash without the predefined Calabash Steps, uncomment these
|
5
|
+
# three lines and delete the require above.
|
6
|
+
# require 'calabash-cucumber/wait_helpers'
|
7
|
+
# require 'calabash-cucumber/operations'
|
8
|
+
# World(Calabash::Cucumber::Operations)
|
data/lib/calabash-cucumber.rb
CHANGED
@@ -11,10 +11,9 @@ require 'calabash-cucumber/utils/logging'
|
|
11
11
|
|
12
12
|
# stubs for documentation
|
13
13
|
|
14
|
-
# base module for Calabash iOS
|
14
|
+
# The base module for Calabash iOS.
|
15
15
|
module Calabash
|
16
|
-
# base sub module
|
17
|
-
# todo in 1.0 release consider changing Cucumber module to iOS module
|
16
|
+
# The base sub module for Calabash iOS
|
18
17
|
module Cucumber
|
19
18
|
|
20
19
|
end
|
@@ -1050,6 +1050,12 @@ module Calabash
|
|
1050
1050
|
@calabash_launcher = Calabash::Cucumber::Launcher.launcher
|
1051
1051
|
end
|
1052
1052
|
|
1053
|
+
# @!visibility private
|
1054
|
+
def run_loop
|
1055
|
+
l = Calabash::Cucumber::Launcher.launcher_if_used
|
1056
|
+
l && l.run_loop
|
1057
|
+
end
|
1058
|
+
|
1053
1059
|
# @!visibility private
|
1054
1060
|
def query_action_with_options(action, uiquery, options)
|
1055
1061
|
uiquery, options = extract_query_and_options(uiquery, options)
|
@@ -15,6 +15,7 @@ module Calabash
|
|
15
15
|
# Uses ENV['SCREENSHOT_PATH'] if nil or '' if ENV['SCREENSHOT_PATH'] is nil
|
16
16
|
# @option options {String} :name ('screenshot') the base name and extension of the file (e.g. 'login.png')
|
17
17
|
# @return {String} path to the generated screenshot
|
18
|
+
# @todo deprecated the current behavior of SCREENSHOT_PATH; it is confusing
|
18
19
|
def screenshot(options={:prefix => nil, :name => nil})
|
19
20
|
prefix = options[:prefix]
|
20
21
|
name = options[:name]
|
@@ -8,9 +8,7 @@ module Calabash
|
|
8
8
|
module Cucumber
|
9
9
|
# Collection of methods for interacting with the keyboard.
|
10
10
|
#
|
11
|
-
#
|
12
|
-
# typing. We've gone to great lengths to provide the fastest keyboard
|
13
|
-
# entry possible.
|
11
|
+
# We've gone to great lengths to provide the fastest keyboard entry possible.
|
14
12
|
#
|
15
13
|
# If you are having trouble with skipped or are receiving JSON octet
|
16
14
|
# errors when typing, you might be able to resolve the problems by slowing
|
@@ -8,6 +8,7 @@ require 'run_loop'
|
|
8
8
|
require 'cfpropertylist'
|
9
9
|
require 'calabash-cucumber/version'
|
10
10
|
require 'calabash-cucumber/utils/logging'
|
11
|
+
require 'calabash/dylibs'
|
11
12
|
|
12
13
|
# Used to launch apps for testing in iOS Simulator or on iOS Devices. By default
|
13
14
|
# it uses Apple's `instruments` process to launch your app, but has legacy support
|
@@ -441,7 +442,7 @@ class Calabash::Cucumber::Launcher
|
|
441
442
|
return :instruments if major && major >= 7 # Only instruments supported for iOS7+
|
442
443
|
return :sim_launcher if major # and then we have <= 6
|
443
444
|
|
444
|
-
if RunLoop::
|
445
|
+
if RunLoop::XCTools.new.xcode_version_gte_51?
|
445
446
|
return use_sim_launcher_env? ? :sim_launcher : :instruments
|
446
447
|
end
|
447
448
|
|
@@ -542,23 +543,19 @@ class Calabash::Cucumber::Launcher
|
|
542
543
|
end
|
543
544
|
end
|
544
545
|
|
545
|
-
|
546
|
-
|
546
|
+
# The public API is true/false, but we need to pass a path to a dylib to
|
547
|
+
# run-loop.
|
548
|
+
if args.fetch(:inject_dylib, false)
|
549
|
+
if simulator_target?(args)
|
550
|
+
args[:inject_dylib] = Calabash::Dylibs.path_to_sim_dylib
|
551
|
+
else
|
552
|
+
args[:inject_dylib] = Cucumber::Dylibs.path_to_device_dylib
|
553
|
+
end
|
547
554
|
end
|
548
555
|
|
549
556
|
if run_with_instruments?(args)
|
550
557
|
|
551
|
-
uia_strategy =
|
552
|
-
case uia_strategy
|
553
|
-
when 'http'
|
554
|
-
args[:script] = :run_loop_fast_uia
|
555
|
-
when 'run_loop'
|
556
|
-
args[:script] = :run_loop_host
|
557
|
-
else
|
558
|
-
candidates = ['http', 'run_loop']
|
559
|
-
raise ArgumentError, "expected '#{uia_strategy}' to be one of #{candidates}"
|
560
|
-
end
|
561
|
-
|
558
|
+
uia_strategy = args[:uia_strategy] || :preferences
|
562
559
|
self.run_loop = new_run_loop(args)
|
563
560
|
self.actions= Calabash::Cucumber::InstrumentsActions.new
|
564
561
|
else
|
@@ -568,8 +565,14 @@ class Calabash::Cucumber::Launcher
|
|
568
565
|
self.simulator_launcher.relaunch(app_path, sdk_version(), args)
|
569
566
|
end
|
570
567
|
self.launch_args = args
|
571
|
-
|
572
|
-
|
568
|
+
|
569
|
+
unless args[:calabash_lite]
|
570
|
+
ensure_connectivity
|
571
|
+
# skip compatibility check if injecting dylib
|
572
|
+
unless args.fetch(:inject_dylib, false)
|
573
|
+
check_server_gem_compatibility
|
574
|
+
end
|
575
|
+
end
|
573
576
|
end
|
574
577
|
|
575
578
|
# @!visibility private
|
@@ -629,8 +632,7 @@ class Calabash::Cucumber::Launcher
|
|
629
632
|
# for stability, quit the simulator if Xcode version is > 5.1 and the
|
630
633
|
# target device is the simulator
|
631
634
|
target_is_sim = simulator_target?(args)
|
632
|
-
|
633
|
-
if target_is_sim and xcode_gte_51
|
635
|
+
if target_is_sim and RunLoop::XCTools.new.xcode_version_gte_51?
|
634
636
|
self.simulator_launcher.stop
|
635
637
|
end
|
636
638
|
|
@@ -953,4 +955,3 @@ class Calabash::Cucumber::Launcher
|
|
953
955
|
end
|
954
956
|
|
955
957
|
end
|
956
|
-
|
@@ -5,7 +5,6 @@ require 'calabash-cucumber/keychain_helpers'
|
|
5
5
|
require 'calabash-cucumber/wait_helpers'
|
6
6
|
require 'calabash-cucumber/launcher'
|
7
7
|
require 'net/http'
|
8
|
-
require 'test/unit/assertions'
|
9
8
|
require 'json'
|
10
9
|
require 'set'
|
11
10
|
require 'calabash-cucumber/version'
|
@@ -19,7 +18,6 @@ module Calabash
|
|
19
18
|
# A module for wrapping the public APIs of this gem.
|
20
19
|
module Operations
|
21
20
|
|
22
|
-
include Test::Unit::Assertions
|
23
21
|
include Calabash::Cucumber::Logging
|
24
22
|
include Calabash::Cucumber::Core
|
25
23
|
include Calabash::Cucumber::TestsHelpers
|
@@ -16,28 +16,30 @@ module Calabash
|
|
16
16
|
# Executes raw JavaScript in the UIAutomation environment (using `eval`).
|
17
17
|
# @param {String} command the JavaScript snippet to execute
|
18
18
|
# @return {Object} the result returned by the UIA process
|
19
|
-
def uia(command,options={})
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
def uia(command, options={})
|
20
|
+
# UIA only makes sense if there is a run loop
|
21
|
+
launcher = Calabash::Cucumber::Launcher.launcher_if_used
|
22
|
+
run_loop = launcher && launcher.active? && launcher.run_loop
|
23
|
+
raise ArgumentError, 'the current launcher must be active and be attached to a run_loop' unless run_loop
|
24
|
+
raise ArgumentError, 'please supply :command' unless command
|
25
|
+
|
26
|
+
case run_loop[:uia_strategy]
|
27
|
+
when :preferences
|
23
28
|
res = http({:method => :post, :path => 'uia'}, {:command => command}.merge(options))
|
24
29
|
res = JSON.parse(res)
|
25
30
|
if res['outcome'] != 'SUCCESS'
|
26
31
|
raise "uia action failed because: #{res['reason']}\n#{res['details']}"
|
27
32
|
end
|
28
33
|
res['results'].first
|
29
|
-
when
|
30
|
-
launcher = Calabash::Cucumber::Launcher.launcher_if_used
|
31
|
-
run_loop = launcher && launcher.active? && launcher.run_loop
|
32
|
-
raise ArgumentError, 'the current launcher must be active and be attached to a run_loop' unless run_loop
|
33
|
-
raise ArgumentError, 'please supply :command' unless command
|
34
|
+
when :host
|
34
35
|
RunLoop.send_command(run_loop, command)
|
35
36
|
else
|
36
|
-
candidates = [
|
37
|
-
raise ArgumentError, "expected '#{uia_strategy}' to be one of #{candidates}"
|
37
|
+
candidates = [:preferences, :host]
|
38
|
+
raise ArgumentError, "expected '#{run_loop[:uia_strategy]}' to be one of #{candidates}"
|
38
39
|
end
|
39
40
|
end
|
40
41
|
|
42
|
+
|
41
43
|
# @!visibility private
|
42
44
|
def uia_wait_tap(query, options={})
|
43
45
|
res = http({:method => :post, :path => 'uia-tap'}, {:query => query}.merge(options))
|
@@ -229,7 +231,7 @@ module Calabash
|
|
229
231
|
# @!visibility private
|
230
232
|
def uia_type_string(string, opt_text_before='', escape=true)
|
231
233
|
if escape && string.index(/\\/)
|
232
|
-
indexes = string.enum_for(:scan
|
234
|
+
indexes = string.enum_for(:scan, /\\/).map { Regexp.last_match.begin(0) }
|
233
235
|
indexes.reverse.each { |idx| string = string.insert(idx, '\\') }
|
234
236
|
end
|
235
237
|
res = uia_handle_command(:typeString, string, opt_text_before)
|
@@ -254,7 +256,7 @@ module Calabash
|
|
254
256
|
search_results = Geocoder.search(place)
|
255
257
|
raise "Got no results for #{place}" if search_results.empty?
|
256
258
|
loc = search_results.first
|
257
|
-
loc_data = {'latitude'=>loc.latitude, 'longitude'=>loc.longitude}
|
259
|
+
loc_data = {'latitude' => loc.latitude, 'longitude' => loc.longitude}
|
258
260
|
elsif options.is_a?(Hash)
|
259
261
|
loc_data = options
|
260
262
|
end
|
@@ -292,7 +294,7 @@ module Calabash
|
|
292
294
|
"#{m}(#{serialized_args})"
|
293
295
|
else
|
294
296
|
raise "Invalid invocation spec #{invocation}"
|
295
|
-
|
297
|
+
end
|
296
298
|
end
|
297
299
|
command = "#{js_cmd}.#{js_args.join('.')}"
|
298
300
|
if debug_logging?
|
@@ -365,7 +367,7 @@ module Calabash
|
|
365
367
|
(options[:longitude] and not options[:latitude])
|
366
368
|
raise 'Both latitude and longitude must be specified if either is.'
|
367
369
|
elsif not options[:place]
|
368
|
-
|
370
|
+
raise 'Either :place or :latitude and :longitude must be specified.'
|
369
371
|
end
|
370
372
|
end
|
371
373
|
|
@@ -382,7 +384,6 @@ module Calabash
|
|
382
384
|
end
|
383
385
|
|
384
386
|
|
385
|
-
|
386
387
|
end
|
387
388
|
end
|
388
389
|
end
|
@@ -1,11 +1,13 @@
|
|
1
1
|
require 'calabash-cucumber/utils/xctools'
|
2
2
|
require 'calabash-cucumber/utils/plist_buddy'
|
3
|
+
require 'calabash-cucumber/utils/logging'
|
3
4
|
require 'sim_launcher'
|
4
5
|
require 'cfpropertylist'
|
5
6
|
|
6
7
|
module Calabash
|
7
8
|
module Cucumber
|
8
9
|
|
10
|
+
# @deprecated 0.10.0 Replaced with RunLoop::SimControl
|
9
11
|
# Public methods for common simulator tasks and private methods for
|
10
12
|
# enabling accessibility on the simulator.
|
11
13
|
module SimulatorAccessibility
|
@@ -81,6 +83,7 @@ module Calabash
|
|
81
83
|
end
|
82
84
|
end
|
83
85
|
|
86
|
+
# @deprecated 0.10.0 replaced with RunLoop::SimControl#enable_accessibility_on_simulators
|
84
87
|
# @!visibility private
|
85
88
|
# Enables accessibility on any existing iOS Simulator by adjusting the
|
86
89
|
# simulator's Library/Preferences/com.apple.Accessibility.plist contents.
|
@@ -104,6 +107,7 @@ module Calabash
|
|
104
107
|
# @return [Boolean] true if enabling accessibility worked on all sdk
|
105
108
|
# directories
|
106
109
|
def enable_accessibility_on_simulators(opts={})
|
110
|
+
_deprecated('0.10.0', 'replaced with RunLoop::SimControl#enable_accessibility_on_simulators', :warn)
|
107
111
|
possible = possible_simulator_support_sdk_dirs
|
108
112
|
existing = existing_simulator_support_sdk_dirs
|
109
113
|
dirs = (possible + existing).uniq
|
@@ -115,6 +119,7 @@ module Calabash
|
|
115
119
|
|
116
120
|
@private
|
117
121
|
|
122
|
+
# @deprecated 0.10.0 no replacement
|
118
123
|
# @!visibility private
|
119
124
|
# Enables accessibility on the simulator indicated by `sim_app_support_sdk_dir.`
|
120
125
|
#
|
@@ -140,6 +145,7 @@ module Calabash
|
|
140
145
|
# @return [Boolean] if the plist exists and the plist was successfully
|
141
146
|
# updated.
|
142
147
|
def enable_accessibility_in_sdk_dir(sim_app_support_sdk_dir, opts={})
|
148
|
+
_deprecated('0.10.0', 'no replacement', :warn)
|
143
149
|
default_opts = {:verbose => false}
|
144
150
|
merged = default_opts.merge(opts)
|
145
151
|
|
@@ -187,12 +193,14 @@ module Calabash
|
|
187
193
|
end
|
188
194
|
|
189
195
|
|
196
|
+
# @deprecated 0.10.0 no replacement
|
190
197
|
# @!visibility private
|
191
198
|
# A hash table of the accessibility properties that control whether or not
|
192
199
|
# accessibility is enabled and whether the AXInspector is visible.
|
193
200
|
# @return [Hash] table of accessibility properties found in the
|
194
201
|
# Library/Preferences/com.apple.Accessibility.plist
|
195
202
|
def accessibility_properties_hash
|
203
|
+
_deprecated('0.10.0', 'no replacement', :warn)
|
196
204
|
{
|
197
205
|
# this is required
|
198
206
|
:access_enabled => {:key => 'AccessibilityEnabled',
|
@@ -226,21 +234,26 @@ module Calabash
|
|
226
234
|
}
|
227
235
|
end
|
228
236
|
|
237
|
+
# @deprecated 0.10.0 no replacement
|
229
238
|
# @!visibility private
|
230
239
|
# The absolute path to the iPhone Simulator Application Support directory.
|
231
240
|
# @return [String] absolute path
|
241
|
+
# @todo add deprecation message - ATM {Calabash::Cucumber::Launcher.reset_app_sandbox} is using this
|
232
242
|
def simulator_app_support_dir
|
233
243
|
File.expand_path('~/Library/Application Support/iPhone Simulator')
|
234
244
|
end
|
235
245
|
|
246
|
+
# @deprecated 0.10.0 no replacement
|
236
247
|
# @!visibility private
|
237
248
|
# The absolute path to the SDK's com.apple.Accessibility.plist file.
|
238
249
|
# @param [String] sdk_dir base path the SDK directory
|
239
250
|
# @return [String] an absolute path
|
240
251
|
def plist_path_with_sdk_dir(sdk_dir)
|
252
|
+
_deprecated('0.10.0', 'no replacement', :warn)
|
241
253
|
File.expand_path("#{sdk_dir}/Library/Preferences/com.apple.Accessibility.plist")
|
242
254
|
end
|
243
255
|
|
256
|
+
# @deprecated 0.10.0 no replacement
|
244
257
|
# @!visibility private
|
245
258
|
# Returns a list of absolute paths the existing simulator directories.
|
246
259
|
#
|
@@ -253,6 +266,7 @@ module Calabash
|
|
253
266
|
# ~/Library/Application Support/iPhone Simulator/Library/7.1
|
254
267
|
#
|
255
268
|
# @return[Array<String>] a list of absolute paths to simulator directories
|
269
|
+
# @todo add deprecation message - ATM ::reset_content_and_settings is using this
|
256
270
|
def existing_simulator_support_sdk_dirs
|
257
271
|
sim_app_support_path = simulator_app_support_dir()
|
258
272
|
Dir.glob("#{sim_app_support_path}/*").select { |path|
|
@@ -260,6 +274,7 @@ module Calabash
|
|
260
274
|
}
|
261
275
|
end
|
262
276
|
|
277
|
+
# @deprecated 0.10 no replacement
|
263
278
|
# @!visibility private
|
264
279
|
# Returns a list of possible SDKs per Xcode version.
|
265
280
|
#
|
@@ -271,6 +286,7 @@ module Calabash
|
|
271
286
|
#
|
272
287
|
# @return [Array<String>] ex. ['6.1', '7.1', '7.0.3', '7.0.3-64']
|
273
288
|
def possible_simulator_sdks
|
289
|
+
_deprecated('0.10.0', 'no replacement', :warn)
|
274
290
|
sdk_detector = SimLauncher::SdkDetector.new
|
275
291
|
available = sdk_detector.available_sdk_versions
|
276
292
|
instruments_version = instruments(:version)
|
@@ -300,12 +316,14 @@ module Calabash
|
|
300
316
|
(available - ['7.0']).uniq.sort
|
301
317
|
end
|
302
318
|
|
319
|
+
# @deprecated 0.10.0 no replacement
|
303
320
|
# @!visibility private
|
304
321
|
# Return absolute paths to possible simulator support sdk dirs.
|
305
322
|
#
|
306
323
|
# these directories may or may not exist
|
307
324
|
# @return [Array<String>] an array of absolute paths
|
308
325
|
def possible_simulator_support_sdk_dirs
|
326
|
+
_deprecated('0.10.0', 'no replacement', :warn)
|
309
327
|
base_dir = simulator_app_support_dir
|
310
328
|
possible_simulator_sdks.map { |sdk|
|
311
329
|
"#{base_dir}/#{sdk}"
|
@@ -314,4 +332,4 @@ module Calabash
|
|
314
332
|
|
315
333
|
end
|
316
334
|
end
|
317
|
-
end
|
335
|
+
end
|
@@ -5,7 +5,7 @@ module Calabash
|
|
5
5
|
|
6
6
|
# @!visibility public
|
7
7
|
# The Calabash iOS gem version.
|
8
|
-
VERSION = '0.10.0.
|
8
|
+
VERSION = '0.10.0.pre8'
|
9
9
|
|
10
10
|
# @!visibility public
|
11
11
|
# The minimum required version of the calabash.framework or, for Xamarin
|
@@ -208,6 +208,7 @@ if __FILE__ == $0
|
|
208
208
|
assert_nil(a.pre_version)
|
209
209
|
end
|
210
210
|
|
211
|
+
# @!visibility private
|
211
212
|
def test_new_passed_invalid_arg
|
212
213
|
|
213
214
|
assert_raise(ArgumentError) { Version.new(' ') }
|
@@ -321,6 +322,7 @@ if __FILE__ == $0
|
|
321
322
|
assert(a >= b)
|
322
323
|
end
|
323
324
|
|
325
|
+
# @!visibility private
|
324
326
|
def test_compare_missing_patch_level
|
325
327
|
a = Version.new('6.0')
|
326
328
|
b = Version.new('5.1.1')
|
@@ -333,6 +335,7 @@ if __FILE__ == $0
|
|
333
335
|
assert(a < b)
|
334
336
|
end
|
335
337
|
|
338
|
+
# @!visibility private
|
336
339
|
def test_compare_missing_minor_level
|
337
340
|
a = Version.new('5.1')
|
338
341
|
b = Version.new('5.1.1')
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Calabash
|
2
|
+
module Dylibs
|
3
|
+
def sim_dylib_basename
|
4
|
+
'libCalabashDynSim.dylib'
|
5
|
+
end
|
6
|
+
|
7
|
+
def path_to_sim_dylib
|
8
|
+
File.expand_path File.join(__FILE__, '..', '..', '..', 'dylibs', sim_dylib_basename)
|
9
|
+
end
|
10
|
+
|
11
|
+
def device_dylib_basename
|
12
|
+
'libCalabashDyn.dylib'
|
13
|
+
end
|
14
|
+
|
15
|
+
def path_to_device_dylib
|
16
|
+
File.expand_path File.join(__FILE__, '..', '..', '..', 'dylibs', device_dylib_basename)
|
17
|
+
end
|
18
|
+
|
19
|
+
module_function :path_to_sim_dylib, :path_to_device_dylib, :device_dylib_basename, :sim_dylib_basename
|
20
|
+
end
|
21
|
+
end
|
Binary file
|
Binary file
|
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.10.0.
|
4
|
+
version: 0.10.0.pre8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karl Krukow
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -42,28 +42,28 @@ dependencies:
|
|
42
42
|
name: json
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 1.8.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 1.8.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: edn
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 1.0.6
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 1.0.6
|
69
69
|
- !ruby/object:Gem::Dependency
|
@@ -98,16 +98,16 @@ dependencies:
|
|
98
98
|
name: slowhandcuke
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 0.0.3
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 0.0.3
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: geocoder
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,42 +142,42 @@ dependencies:
|
|
142
142
|
requirements:
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '1.
|
145
|
+
version: '1.3'
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '1.
|
152
|
+
version: '1.3'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
154
|
+
name: awesome_print
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- -
|
157
|
+
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
159
|
+
version: 1.2.0
|
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:
|
166
|
+
version: 1.2.0
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
168
|
+
name: run_loop
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
171
|
- - ">="
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
173
|
+
version: 1.0.0.pre6
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
180
|
+
version: 1.0.0.pre6
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: rake
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -255,6 +255,8 @@ files:
|
|
255
255
|
- bin/calabash-ios-sim.rb
|
256
256
|
- bin/frank-calabash
|
257
257
|
- doc/calabash-ios-help.txt
|
258
|
+
- dylibs/libCalabashDyn.dylib
|
259
|
+
- dylibs/libCalabashDynSim.dylib
|
258
260
|
- features-skeleton/my_first.feature
|
259
261
|
- features-skeleton/step_definitions/calabash_steps.rb
|
260
262
|
- features-skeleton/step_definitions/my_first_steps.rb
|
@@ -272,7 +274,6 @@ files:
|
|
272
274
|
- lib/calabash-cucumber/cucumber.rb
|
273
275
|
- lib/calabash-cucumber/date_picker.rb
|
274
276
|
- lib/calabash-cucumber/device.rb
|
275
|
-
- lib/calabash-cucumber/enviroment_variables.rb
|
276
277
|
- lib/calabash-cucumber/environment_helpers.rb
|
277
278
|
- lib/calabash-cucumber/failure_helpers.rb
|
278
279
|
- lib/calabash-cucumber/http_helpers.rb
|
@@ -398,6 +399,7 @@ files:
|
|
398
399
|
- lib/calabash-cucumber/utils/xctools.rb
|
399
400
|
- lib/calabash-cucumber/version.rb
|
400
401
|
- lib/calabash-cucumber/wait_helpers.rb
|
402
|
+
- lib/calabash/dylibs.rb
|
401
403
|
- lib/frank-calabash.rb
|
402
404
|
- scripts/.irbrc
|
403
405
|
- scripts/calabash.xcconfig.erb
|
@@ -1,38 +0,0 @@
|
|
1
|
-
module Calabash
|
2
|
-
module Cucumber
|
3
|
-
# IMPORTANT: Developers, do not require this file anywhere. Do not extend
|
4
|
-
# or include this module in any other class or module.
|
5
|
-
|
6
|
-
# This module provides documentation for the environmental variables that
|
7
|
-
# calabash-ios uses internally.
|
8
|
-
#
|
9
|
-
# @note The constants defined here are _stubs_ for documentation purposes.
|
10
|
-
#
|
11
|
-
# @note Do not require, include, or extend this module.
|
12
|
-
module EnvironmentVariables
|
13
|
-
|
14
|
-
# There are two strategies for passing UIA commands to the instruments
|
15
|
-
# process: `http` and `run_loop`.
|
16
|
-
#
|
17
|
-
# @note Mere mortals will never need to set the variable. It is provided
|
18
|
-
# for developers who are trying to debug UIA communication problems.
|
19
|
-
#
|
20
|
-
# The `http` strategy uses a route in the embedded calabash server to
|
21
|
-
# read/write commands to `NSUserDefaults standardUserDefaults` via the
|
22
|
-
# `UIAApplication` preferences JS functions. Since ~Nov 2013, this is the
|
23
|
-
# default strategy and is by far faster than the `run_loop` strategy.
|
24
|
-
#
|
25
|
-
# The `run_loop` (AKA `host/cat`) strategy uses the
|
26
|
-
# `UIAHost.performTaskWithPathArgumentsTimeout` to read/write commands to a
|
27
|
-
# tmp file on the host computer.
|
28
|
-
#
|
29
|
-
# @raise [RuntimeError] if the value is not `http` or `run_loop`
|
30
|
-
# @example
|
31
|
-
# UIA_STRATEGY=http cucumber
|
32
|
-
# UIA_STRATEGY=run_loop cucumber
|
33
|
-
UIA_STRATEGY = 'http'
|
34
|
-
|
35
|
-
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|