calabash-cucumber 0.15.0 → 0.16.1
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/dylibs/libCalabashDyn.dylib +0 -0
- data/dylibs/libCalabashDynSim.dylib +0 -0
- data/lib/calabash-cucumber/device.rb +6 -0
- data/lib/calabash-cucumber/environment_helpers.rb +24 -0
- data/lib/calabash-cucumber/launcher.rb +54 -30
- data/lib/calabash-cucumber/playback_helpers.rb +11 -1
- data/lib/calabash-cucumber/version.rb +2 -2
- data/staticlib/calabash.framework.zip +0 -0
- data/staticlib/libFrankCalabash.a +0 -0
- 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: f501008ee0e1a3152d8b681c2a6ccc5463a14057
|
4
|
+
data.tar.gz: 09c4bf7340eeb0f0b4ea96f1db3f477f829a68e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bd0c0c774158fd2e8d3789b45a816ecf90b1073e17710c2f5869460fccc9ac8eb75e040c1d21ea84671cce24666467af8afc9e93c84f742a6e89f137ae7c6f0
|
7
|
+
data.tar.gz: 7b8e3efec441d1af9e46352c136b0ed95a7b875a29f04a1827ec6e62062a15e7d6ab08dac6709b0a930ca1f526236e5c0ec3098b793cfa927892bb3be8e7bd38
|
data/dylibs/libCalabashDyn.dylib
CHANGED
Binary file
|
Binary file
|
@@ -244,6 +244,12 @@ module Calabash
|
|
244
244
|
version_hash(ios_version)[:major_version]
|
245
245
|
end
|
246
246
|
|
247
|
+
# Is this device running iOS 9?
|
248
|
+
# @return [Boolean] true if the major version of the OS is 9
|
249
|
+
def ios9?
|
250
|
+
ios_major_version == '9'
|
251
|
+
end
|
252
|
+
|
247
253
|
# Is this device running iOS 8?
|
248
254
|
# @return [Boolean] true if the major version of the OS is 8
|
249
255
|
def ios8?
|
@@ -123,6 +123,18 @@ module Calabash
|
|
123
123
|
_default_device_or_create.iphone_35in?
|
124
124
|
end
|
125
125
|
|
126
|
+
# The iOS version on the device under test.
|
127
|
+
#
|
128
|
+
# @note
|
129
|
+
# **WARNING:** The `OS` env variable has been deprecated and should
|
130
|
+
# never be set.
|
131
|
+
#
|
132
|
+
# @raise [RuntimeError] If the server cannot be reached.
|
133
|
+
# @return [RunLoop::Version] The version of the iOS running on the device.
|
134
|
+
def ios_version
|
135
|
+
RunLoop::Version.new(_default_device_or_create.ios_version)
|
136
|
+
end
|
137
|
+
|
126
138
|
# Is the device under test running iOS 5?
|
127
139
|
#
|
128
140
|
# @note
|
@@ -180,6 +192,18 @@ module Calabash
|
|
180
192
|
_default_device_or_create.ios8?
|
181
193
|
end
|
182
194
|
|
195
|
+
# Is the device under test running iOS 9?
|
196
|
+
#
|
197
|
+
# @note
|
198
|
+
# **WARNING:** The `OS` env variable has been deprecated and should
|
199
|
+
# never be set.
|
200
|
+
#
|
201
|
+
# @raise [RuntimeError] if the server cannot be reached
|
202
|
+
# @return [Boolean] true if device under test is running iOS 9
|
203
|
+
def ios9?
|
204
|
+
_default_device_or_create.ios9?
|
205
|
+
end
|
206
|
+
|
183
207
|
# Is the app that is being tested an iPhone app emulated on an iPad?
|
184
208
|
#
|
185
209
|
# @see Calabash::Cucumber::IPad
|
@@ -122,8 +122,7 @@ class Calabash::Cucumber::Launcher
|
|
122
122
|
# Sets the device attribute.
|
123
123
|
ensure_connectivity(merged_options[:max_retry], merged_options[:timeout])
|
124
124
|
|
125
|
-
|
126
|
-
if strategy_from_options.nil? && self.device.ios_major_version > '8'
|
125
|
+
if strategy_from_options.nil? && xcode.version_gte_7?
|
127
126
|
self.run_loop = RunLoop::HostCache.default.read
|
128
127
|
return self
|
129
128
|
end
|
@@ -666,36 +665,40 @@ class Calabash::Cucumber::Launcher
|
|
666
665
|
# @param [RunLoop::SimControl] sim_control Used to find simulators.
|
667
666
|
# @param [RunLoop::Instruments] instruments Used to find physical devices.
|
668
667
|
def default_uia_strategy(launch_args, sim_control, instruments)
|
669
|
-
|
670
|
-
|
671
|
-
|
668
|
+
|
669
|
+
xcode = sim_control.xcode
|
670
|
+
if xcode.version_gte_7?
|
671
|
+
:host
|
672
672
|
else
|
673
|
-
|
674
|
-
target_device = nil
|
675
|
-
devices_connected = instruments.physical_devices
|
676
|
-
devices_connected.each do |device|
|
677
|
-
if device.udid == target_udid
|
678
|
-
target_device = device
|
679
|
-
break
|
680
|
-
end
|
681
|
-
end
|
673
|
+
udid_or_name = launch_args[:device_target]
|
682
674
|
|
683
|
-
#
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
675
|
+
# Can't make a determination, so return :host because it works everywhere.
|
676
|
+
return :host if udid_or_name == nil || udid_or_name == ''
|
677
|
+
|
678
|
+
# The default.
|
679
|
+
# No DEVICE_TARGET is set and no option was passed to relaunch.
|
680
|
+
return :preferences if udid_or_name.downcase.include?('simulator')
|
681
|
+
|
682
|
+
simulator = sim_control.simulators.find do |sim|
|
683
|
+
sim.instruments_identifier(xcode) == udid_or_name ||
|
684
|
+
sim.udid == udid_or_name
|
691
685
|
end
|
692
|
-
|
693
|
-
|
686
|
+
|
687
|
+
return :preferences if simulator
|
688
|
+
|
689
|
+
physical_device = instruments.physical_devices.find do |device|
|
690
|
+
device.name == udid_or_name ||
|
691
|
+
device.udid == udid_or_name
|
694
692
|
end
|
695
|
-
|
696
|
-
if
|
697
|
-
|
693
|
+
|
694
|
+
if physical_device
|
695
|
+
if physical_device.version < RunLoop::Version.new('8.0')
|
696
|
+
:preferences
|
697
|
+
else
|
698
|
+
:host
|
699
|
+
end
|
698
700
|
else
|
701
|
+
# Return host because it works everywhere.
|
699
702
|
:host
|
700
703
|
end
|
701
704
|
end
|
@@ -888,11 +891,32 @@ class Calabash::Cucumber::Launcher
|
|
888
891
|
(ENV['DEVICE_TARGET'] != nil) && (not simulator_target?)
|
889
892
|
end
|
890
893
|
|
894
|
+
# @!visibility private
|
895
|
+
def discover_device_target(launch_args)
|
896
|
+
ENV['DEVICE_TARGET'] || launch_args[:device_target]
|
897
|
+
end
|
898
|
+
|
891
899
|
# @!visibility private
|
892
900
|
def simulator_target?(launch_args={})
|
893
|
-
|
894
|
-
|
895
|
-
|
901
|
+
udid_or_name = discover_device_target(launch_args)
|
902
|
+
|
903
|
+
return false if udid_or_name.nil? || udid_or_name == ''
|
904
|
+
|
905
|
+
return true if udid_or_name.downcase.include?('simulator')
|
906
|
+
|
907
|
+
return false if udid_or_name[RunLoop::Regex::DEVICE_UDID_REGEX, 0] != nil
|
908
|
+
|
909
|
+
if xcode.version_gte_6?
|
910
|
+
sim_control = launch_args[:sim_control] || RunLoop::SimControl.new
|
911
|
+
simulator = sim_control.simulators.find do |sim|
|
912
|
+
sim.instruments_identifier(xcode) == udid_or_name ||
|
913
|
+
sim.udid == udid_or_name
|
914
|
+
end
|
915
|
+
|
916
|
+
!simulator.nil?
|
917
|
+
else
|
918
|
+
false
|
919
|
+
end
|
896
920
|
end
|
897
921
|
|
898
922
|
# @!visibility private
|
@@ -55,8 +55,18 @@ module Calabash
|
|
55
55
|
|
56
56
|
# @!visibility private
|
57
57
|
def load_playback_data(recording_name, options={})
|
58
|
+
|
58
59
|
device = options['DEVICE'] || ENV['DEVICE'] || 'iphone'
|
59
60
|
|
61
|
+
# Xcode 7/iOS 9 - Playback file not found for rotation #837
|
62
|
+
# As of iOS 7 and Xcode 5.1.1, the only part of the playback API that
|
63
|
+
# is being used is the rotation API. We've incorrectly been using
|
64
|
+
# iPhone recordings for iPad rotations. The iPhone recordings are
|
65
|
+
# working, so I am not inclined to make any dramatic changes.
|
66
|
+
if device != 'iphone' || device != 'ipad'
|
67
|
+
device = 'iphone'
|
68
|
+
end
|
69
|
+
|
60
70
|
major = Calabash::Cucumber::Launcher.launcher.ios_major_version
|
61
71
|
|
62
72
|
unless major
|
@@ -212,4 +222,4 @@ EOF
|
|
212
222
|
|
213
223
|
end
|
214
224
|
end
|
215
|
-
end
|
225
|
+
end
|
@@ -3,10 +3,10 @@ module Calabash
|
|
3
3
|
|
4
4
|
# @!visibility public
|
5
5
|
# The Calabash iOS gem version.
|
6
|
-
VERSION = '0.
|
6
|
+
VERSION = '0.16.1'
|
7
7
|
|
8
8
|
# @!visibility public
|
9
9
|
# The minimum required version of the Calabash embedded server.
|
10
|
-
MIN_SERVER_VERSION = '0.
|
10
|
+
MIN_SERVER_VERSION = '0.16.1'
|
11
11
|
end
|
12
12
|
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.
|
4
|
+
version: 0.16.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karl Krukow
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -146,7 +146,7 @@ dependencies:
|
|
146
146
|
requirements:
|
147
147
|
- - ">="
|
148
148
|
- !ruby/object:Gem::Version
|
149
|
-
version: 1.5.
|
149
|
+
version: 1.5.3
|
150
150
|
- - "<"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '2.0'
|
@@ -156,7 +156,7 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - ">="
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.5.
|
159
|
+
version: 1.5.3
|
160
160
|
- - "<"
|
161
161
|
- !ruby/object:Gem::Version
|
162
162
|
version: '2.0'
|