calabash-cucumber 0.16.1 → 0.16.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/dylibs/libCalabashDyn.dylib +0 -0
- data/dylibs/libCalabashDynSim.dylib +0 -0
- data/lib/calabash-cucumber/device.rb +111 -51
- data/lib/calabash-cucumber/environment_helpers.rb +8 -0
- data/lib/calabash-cucumber/rotation_helpers.rb +174 -75
- 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: e84d4389afc2bd91cbdba73ecbee008b9e3bf89d
|
4
|
+
data.tar.gz: 221280823e7a79963e87dc3c429eab6480f1e2f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64384eb9d28415ac608f3e840159e8c051d6be5b11ece9e85b9a983aed8dfb5a9209d2ac7c2e873a6728cc882e74ca59a06b2da57ea921893af2fdb5e299dbff
|
7
|
+
data.tar.gz: cf001fb580c891bfbe8e6c1789ad9232d5e221b93e1d4caff370e9f25c7f849a4125d16e58f1e2829b4a332f50509d60b04bc588da042a5f0287e8c62fae567e
|
data/dylibs/libCalabashDyn.dylib
CHANGED
Binary file
|
Binary file
|
@@ -7,10 +7,6 @@ module Calabash
|
|
7
7
|
# Device encapsulates information about the device or simulator that the
|
8
8
|
# app is running on. It also includes the following information about the
|
9
9
|
# app that is running on the current device.
|
10
|
-
#
|
11
|
-
# * The version of the embedded Calabash server.
|
12
|
-
# * Whether or not the app is an iPhone-only app that is being emulated on
|
13
|
-
# an iPad.
|
14
10
|
class Device
|
15
11
|
|
16
12
|
include Calabash::Cucumber::Logging
|
@@ -68,24 +64,6 @@ module Calabash
|
|
68
64
|
# @return [String] the version of the iOS that is running on this device
|
69
65
|
attr_reader :ios_version
|
70
66
|
|
71
|
-
# The hardware architecture of this device. Also known as the chip set.
|
72
|
-
#
|
73
|
-
# @example
|
74
|
-
# # simulator
|
75
|
-
# i386
|
76
|
-
# x86_64
|
77
|
-
#
|
78
|
-
# @example
|
79
|
-
# # examples from physical devices
|
80
|
-
# armv6
|
81
|
-
# armv7s
|
82
|
-
# arm64
|
83
|
-
#
|
84
|
-
# @attribute [r] system
|
85
|
-
# @return [String] the hardware architecture of this device.
|
86
|
-
# this device.
|
87
|
-
attr_reader :system
|
88
|
-
|
89
67
|
# The version of the embedded Calabash server that is running in the
|
90
68
|
# app under test on this device.
|
91
69
|
#
|
@@ -117,7 +95,8 @@ module Calabash
|
|
117
95
|
# * iphone 3.5in
|
118
96
|
# * iphone 6
|
119
97
|
# * iphone 6+
|
120
|
-
# *
|
98
|
+
# * ipad pro
|
99
|
+
# * unknown
|
121
100
|
attr_reader :form_factor
|
122
101
|
|
123
102
|
# For Calabash server version > 0.10.2 provides
|
@@ -136,16 +115,25 @@ module Calabash
|
|
136
115
|
# @return [Hash] screen dimensions, scale and down/up sampling fraction.
|
137
116
|
attr_reader :screen_dimensions
|
138
117
|
|
139
|
-
#
|
140
|
-
#
|
141
|
-
#
|
142
|
-
#
|
143
|
-
|
118
|
+
# Requires calabash server > 0.16.2
|
119
|
+
#
|
120
|
+
# * iPhone7,1
|
121
|
+
# * iPhone5,2
|
122
|
+
# * iPad6,1
|
123
|
+
# * iPad6,8
|
124
|
+
#
|
125
|
+
# @attribute [r] model_identifier
|
126
|
+
# @return [String] The low-level model identifier.
|
127
|
+
attr_reader :model_identifier
|
144
128
|
|
145
|
-
#
|
146
|
-
#
|
147
|
-
#
|
148
|
-
|
129
|
+
# Requires calabash server > 0.16.2
|
130
|
+
#
|
131
|
+
# For simulators, this is known to return '< form factor > Simulator'
|
132
|
+
#
|
133
|
+
# For devices, this will return the name of the device as seen in Xcode.
|
134
|
+
#
|
135
|
+
# @attribute [r] device_name
|
136
|
+
attr_reader :device_name
|
149
137
|
|
150
138
|
# Creates a new instance of Device.
|
151
139
|
#
|
@@ -155,14 +143,21 @@ module Calabash
|
|
155
143
|
# @param [Hash] version_data the output of the `server_version` function
|
156
144
|
# @return [Device] a new Device instance
|
157
145
|
def initialize (endpoint, version_data)
|
158
|
-
simulator_device = version_data['simulator_device']
|
159
146
|
@endpoint = endpoint
|
160
|
-
@
|
161
|
-
@device_family = @system.eql?(GESTALT_SIM_SYS) ? simulator_device : @system.split(/[\d,.]/).first
|
147
|
+
@model_identifier = version_data['model_identifier']
|
162
148
|
@simulator_details = version_data['simulator']
|
163
|
-
@ios_version = version_data['
|
149
|
+
@ios_version = version_data['ios_version']
|
164
150
|
@server_version = version_data['version']
|
165
151
|
@iphone_app_emulated_on_ipad = version_data['iphone_app_emulated_on_ipad']
|
152
|
+
@form_factor = version_data['form_factor']
|
153
|
+
@device_name = version_data['device_name']
|
154
|
+
|
155
|
+
family = version_data['device_family']
|
156
|
+
if family
|
157
|
+
@device_family = family.split(' ').first
|
158
|
+
end
|
159
|
+
|
160
|
+
# Available 0.10.2
|
166
161
|
screen_dimensions = version_data['screen_dimensions']
|
167
162
|
if screen_dimensions
|
168
163
|
@screen_dimensions = {}
|
@@ -170,7 +165,25 @@ module Calabash
|
|
170
165
|
@screen_dimensions[key.to_sym] = val
|
171
166
|
end
|
172
167
|
end
|
173
|
-
|
168
|
+
|
169
|
+
# Deprecated 0.16.2 server
|
170
|
+
@system = version_data['system']
|
171
|
+
|
172
|
+
# 0.16.2 server adds 'device_family' key.
|
173
|
+
unless @device_family
|
174
|
+
# Deprecated 0.16.2 server
|
175
|
+
simulator_device = version_data['simulator_device']
|
176
|
+
if @system == GESTALT_SIM_SYS
|
177
|
+
@device_family = simulator_device
|
178
|
+
else
|
179
|
+
@device_family = @system.split(/[\d,.]/).first
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
# 0.16.2 server adds 'ios_version' key
|
184
|
+
unless @ios_version
|
185
|
+
@ios_version = version_data['iOS_version']
|
186
|
+
end
|
174
187
|
|
175
188
|
# Deprecated 0.13.0
|
176
189
|
@iphone_4in = version_data['4inch']
|
@@ -179,7 +192,12 @@ module Calabash
|
|
179
192
|
# Is this device a simulator or physical device?
|
180
193
|
# @return [Boolean] true if this device is a simulator
|
181
194
|
def simulator?
|
182
|
-
|
195
|
+
# Post 0.16.2 server
|
196
|
+
if simulator_details
|
197
|
+
true
|
198
|
+
else
|
199
|
+
system == GESTALT_SIM_SYS
|
200
|
+
end
|
183
201
|
end
|
184
202
|
|
185
203
|
# Is this device a device or simulator?
|
@@ -230,48 +248,46 @@ module Calabash
|
|
230
248
|
form_factor == 'iphone 3.5in'
|
231
249
|
end
|
232
250
|
|
233
|
-
#
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
:minor_version => tokens[1],
|
238
|
-
:bug_version => tokens[2]}
|
251
|
+
# Is this device an iPad Pro?
|
252
|
+
# @return [Boolean] true if this device is an iPad Pro
|
253
|
+
def ipad_pro?
|
254
|
+
form_factor == 'ipad pro'
|
239
255
|
end
|
240
256
|
|
241
257
|
# The major iOS version of this device.
|
242
258
|
# @return [String] the major version of the OS
|
243
259
|
def ios_major_version
|
244
|
-
|
260
|
+
ios_version_object.major.to_s
|
245
261
|
end
|
246
262
|
|
247
263
|
# Is this device running iOS 9?
|
248
264
|
# @return [Boolean] true if the major version of the OS is 9
|
249
265
|
def ios9?
|
250
|
-
|
266
|
+
ios_version_object.major == 9
|
251
267
|
end
|
252
268
|
|
253
269
|
# Is this device running iOS 8?
|
254
270
|
# @return [Boolean] true if the major version of the OS is 8
|
255
271
|
def ios8?
|
256
|
-
|
272
|
+
ios_version_object.major == 8
|
257
273
|
end
|
258
274
|
|
259
275
|
# Is this device running iOS 7?
|
260
276
|
# @return [Boolean] true if the major version of the OS is 7
|
261
277
|
def ios7?
|
262
|
-
|
278
|
+
ios_version_object.major == 7
|
263
279
|
end
|
264
280
|
|
265
281
|
# Is this device running iOS 6?
|
266
282
|
# @return [Boolean] true if the major version of the OS is 6
|
267
283
|
def ios6?
|
268
|
-
|
284
|
+
ios_version_object.major == 6
|
269
285
|
end
|
270
286
|
|
271
287
|
# Is this device running iOS 5?
|
272
288
|
# @return [Boolean] true if the major version of the OS is 5
|
273
289
|
def ios5?
|
274
|
-
|
290
|
+
ios_version_object.major == 5
|
275
291
|
end
|
276
292
|
|
277
293
|
# @deprecated 0.11.2 Replaced with screen_dimensions.
|
@@ -298,9 +314,12 @@ module Calabash
|
|
298
314
|
iphone_app_emulated_on_ipad
|
299
315
|
end
|
300
316
|
|
317
|
+
# @deprecated 0.9.169 replaced with `server_version`
|
318
|
+
#
|
319
|
+
# @see #server_version
|
320
|
+
#
|
301
321
|
# The version of the embedded Calabash server running in the app under
|
302
322
|
# test on this device.
|
303
|
-
# @deprecated 0.9.169 replaced with `server_version`
|
304
323
|
# @see #server_version
|
305
324
|
# @return [String] the version of the embedded Calabash server
|
306
325
|
def framework_version
|
@@ -321,7 +340,9 @@ module Calabash
|
|
321
340
|
end
|
322
341
|
|
323
342
|
# @deprecated 0.9.168 replaced with iphone_4in?
|
343
|
+
#
|
324
344
|
# @see #iphone_4in?
|
345
|
+
#
|
325
346
|
# Is this device an iPhone 5?
|
326
347
|
# @note Deprecated because the iPhone 5S reports as an iPhone6,*.
|
327
348
|
# @return [Boolean] true if this device is an iPhone 5
|
@@ -331,13 +352,52 @@ module Calabash
|
|
331
352
|
end
|
332
353
|
|
333
354
|
# @deprecated 0.13.1 - Call `iphone_4in?` instead.
|
355
|
+
#
|
334
356
|
# @see #iphone_4in?
|
357
|
+
#
|
335
358
|
# @note Deprecated after introducing new `form_factor` behavior.
|
336
359
|
# @return [Boolean] true if this device is an iPhone 5 or 5s
|
337
360
|
def iphone_4in
|
338
361
|
_deprecated('0.13.1', "use 'iphone_4in?' instead", :warn)
|
339
362
|
@iphone_4in
|
340
363
|
end
|
364
|
+
|
365
|
+
# @deprecated 0.16.2 No replacement.
|
366
|
+
#
|
367
|
+
# @example
|
368
|
+
# # simulator
|
369
|
+
# i386
|
370
|
+
# x86_64
|
371
|
+
#
|
372
|
+
# @example
|
373
|
+
# # examples from physical devices
|
374
|
+
# iPhone7,1
|
375
|
+
# iPhone5,2
|
376
|
+
#
|
377
|
+
# @attribute [r] system
|
378
|
+
# @return [String] The model of this device.
|
379
|
+
# this device.
|
380
|
+
attr_reader :system
|
381
|
+
|
382
|
+
# @deprecated 0.13.1 no replacement
|
383
|
+
#
|
384
|
+
# Indicates whether or not this device has a 4in screen.
|
385
|
+
# @attribute [r] iphone_4in
|
386
|
+
# @return [Boolean] `true` if this device has a 4in screen.
|
387
|
+
attr_reader :iphone_4in
|
388
|
+
|
389
|
+
# @deprecated 0.10.0 no replacement
|
390
|
+
#
|
391
|
+
# @!attribute [rw] udid
|
392
|
+
# @return [String] The udid of this device.
|
393
|
+
attr_accessor :udid
|
394
|
+
|
395
|
+
private
|
396
|
+
|
397
|
+
# @!visibility private
|
398
|
+
def ios_version_object
|
399
|
+
@ios_version_object ||= RunLoop::Version.new(ios_version)
|
400
|
+
end
|
341
401
|
end
|
342
402
|
end
|
343
403
|
end
|
@@ -78,6 +78,14 @@ module Calabash
|
|
78
78
|
_default_device_or_create.ipod?
|
79
79
|
end
|
80
80
|
|
81
|
+
# Is the device under test an iPad Pro
|
82
|
+
#
|
83
|
+
# @raise [RuntimeError] If the server cannot be reached.
|
84
|
+
# @return [Boolean] true if device under test is an iPod.
|
85
|
+
def ipad_pro?
|
86
|
+
_default_device_or_create.ipad_pro?
|
87
|
+
end
|
88
|
+
|
81
89
|
# Is the device under test an iPhone or iPod?
|
82
90
|
#
|
83
91
|
# @raise [RuntimeError] If the server cannot be reached.
|
@@ -10,6 +10,7 @@ module Calabash
|
|
10
10
|
include Calabash::Cucumber::Logging
|
11
11
|
|
12
12
|
# @!visibility private
|
13
|
+
# @deprecated 0.16.1
|
13
14
|
def rotation_candidates
|
14
15
|
%w(rotate_left_home_down rotate_left_home_left rotate_left_home_right rotate_left_home_up
|
15
16
|
rotate_right_home_down rotate_right_home_left rotate_right_home_right rotate_right_home_up)
|
@@ -44,7 +45,7 @@ module Calabash
|
|
44
45
|
# @note This method generates verbose messages when full console logging
|
45
46
|
# is enabled. See {Calabash::Cucumber::Logging#full_console_logging?}.
|
46
47
|
#
|
47
|
-
# @param [Symbol]
|
48
|
+
# @param [Symbol] direction The position of the home button after the rotation.
|
48
49
|
# Can be one of `{:down | :left | :right | :up }`.
|
49
50
|
#
|
50
51
|
# @note A rotation will only occur if your view controller and application
|
@@ -52,117 +53,215 @@ module Calabash
|
|
52
53
|
#
|
53
54
|
# @return [Symbol] The position of the home button relative to the status
|
54
55
|
# bar when all rotations have been completed.
|
55
|
-
def rotate_home_button_to(
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
dir_sym = :up
|
56
|
+
def rotate_home_button_to(direction)
|
57
|
+
|
58
|
+
begin
|
59
|
+
as_symbol = ensure_valid_rotate_home_to_arg(direction)
|
60
|
+
rescue ArgumentError => e
|
61
|
+
raise ArgumentError, e.message
|
62
62
|
end
|
63
63
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
64
|
+
current_orientation = status_bar_orientation.to_sym
|
65
|
+
|
66
|
+
return current_orientation if current_orientation == as_symbol
|
67
|
+
|
68
|
+
rotate_to_uia_orientation(as_symbol)
|
69
|
+
recalibrate_after_rotation
|
70
|
+
status_bar_orientation.to_sym
|
71
|
+
end
|
72
|
+
|
73
|
+
# Rotates the device in the direction indicated by `direction`.
|
74
|
+
#
|
75
|
+
# @example rotate left
|
76
|
+
# rotate :left
|
77
|
+
#
|
78
|
+
# @example rotate right
|
79
|
+
# rotate :right
|
80
|
+
#
|
81
|
+
# @param [Symbol] direction The direction to rotate. Can be :left or :right.
|
82
|
+
#
|
83
|
+
# @return [Symbol] The position of the home button relative to the status
|
84
|
+
# bar after the rotation. Will be one of `{:down | :left | :right | :up }`.
|
85
|
+
# @raise [ArgumentError] If direction is not :left or :right.
|
86
|
+
def rotate(direction)
|
87
|
+
|
88
|
+
as_symbol = direction.to_sym
|
89
|
+
|
90
|
+
if as_symbol != :left && as_symbol != :right
|
91
|
+
raise ArgumentError,
|
92
|
+
"Expected '#{direction}' to be :left or :right"
|
69
93
|
end
|
70
94
|
|
71
|
-
|
72
|
-
|
73
|
-
|
95
|
+
current_orientation = status_bar_orientation.to_sym
|
96
|
+
|
97
|
+
result = rotate_with_uia(as_symbol, current_orientation)
|
98
|
+
|
99
|
+
recalibrate_after_rotation
|
100
|
+
|
101
|
+
ap result if debug_logging?
|
102
|
+
|
103
|
+
status_bar_orientation
|
104
|
+
end
|
105
|
+
|
106
|
+
private
|
107
|
+
|
108
|
+
# @! visibility private
|
109
|
+
def recalibrate_after_rotation
|
110
|
+
uia_query :window
|
111
|
+
end
|
112
|
+
|
113
|
+
# @! visibility private
|
114
|
+
def ensure_valid_rotate_home_to_arg(arg)
|
115
|
+
coerced = arg.to_sym
|
116
|
+
|
117
|
+
if coerced == :top
|
118
|
+
coerced = :up
|
119
|
+
elsif coerced == :bottom
|
120
|
+
coerced = :down
|
74
121
|
end
|
75
122
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
res = res.to_sym
|
123
|
+
allowed = [:down, :up, :left, :right]
|
124
|
+
unless allowed.include?(coerced)
|
125
|
+
raise ArgumentError,
|
126
|
+
"Expected '#{arg}' to be :down, :up, :left, or :right"
|
81
127
|
end
|
128
|
+
coerced
|
129
|
+
end
|
130
|
+
|
131
|
+
# @! visibility private
|
132
|
+
UIA_DEVICE_ORIENTATION = {
|
133
|
+
:portrait => 1,
|
134
|
+
:upside_down => 2,
|
135
|
+
:landscape_left => 3,
|
136
|
+
:landscape_right => 4
|
137
|
+
}.freeze
|
82
138
|
|
83
|
-
|
139
|
+
# @! visibility private
|
140
|
+
# @deprecated 0.16.1
|
141
|
+
def rotate_home_button_to_position_with_playback(home_button_position)
|
84
142
|
|
85
|
-
rotation_candidates.each
|
86
|
-
if
|
87
|
-
|
143
|
+
rotation_candidates.each do |candidate|
|
144
|
+
if debug_logging?
|
145
|
+
calabash_info "Trying to rotate Home Button to '#{home_button_position}' using '#{candidate}'"
|
88
146
|
end
|
147
|
+
|
89
148
|
playback(candidate)
|
90
149
|
sleep(0.4)
|
91
|
-
recalibrate_after_rotation
|
150
|
+
recalibrate_after_rotation
|
92
151
|
|
93
|
-
|
94
|
-
if
|
95
|
-
|
96
|
-
else
|
97
|
-
res = res.to_sym
|
152
|
+
current_orientation = status_bar_orientation.to_sym
|
153
|
+
if current_orientation == home_button_position
|
154
|
+
return current_orientation
|
98
155
|
end
|
156
|
+
end
|
99
157
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
calabash_warn "Could not rotate home button to '#{dir}'."
|
105
|
-
calabash_warn 'Is rotation enabled for this controller?'
|
106
|
-
calabash_warn "Will return 'down'"
|
158
|
+
if debug_logging?
|
159
|
+
calabash_warn %Q{
|
160
|
+
Could not rotate Home Button to '#{home_button_position}'."
|
161
|
+
Is rotation enabled for this controller?}
|
107
162
|
end
|
108
163
|
:down
|
109
164
|
end
|
110
165
|
|
111
|
-
#
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
166
|
+
# @! visibility private
|
167
|
+
def rotate_to_uia_orientation(orientation)
|
168
|
+
case orientation
|
169
|
+
when :down then key = :portrait
|
170
|
+
when :up then key = :upside_down
|
171
|
+
when :left then key = :landscape_right
|
172
|
+
when :right then key = :landscape_left
|
173
|
+
else
|
174
|
+
raise ArgumentError,
|
175
|
+
"Expected '#{orientation}' to be :left, :right, :up, or :down"
|
176
|
+
end
|
177
|
+
value = UIA_DEVICE_ORIENTATION[key]
|
178
|
+
cmd = "UIATarget.localTarget().setDeviceOrientation(#{value})"
|
179
|
+
uia(cmd)
|
180
|
+
end
|
181
|
+
|
182
|
+
# @! visibility private
|
183
|
+
def rotate_with_uia(direction, current_orientation)
|
184
|
+
key = uia_orientation_key(direction, current_orientation)
|
185
|
+
value = UIA_DEVICE_ORIENTATION[key]
|
186
|
+
cmd = "UIATarget.localTarget().setDeviceOrientation(#{value})"
|
187
|
+
uia(cmd)
|
188
|
+
end
|
189
|
+
|
190
|
+
# @! visibility private
|
191
|
+
def uia_orientation_key(direction, current_orientation)
|
192
|
+
|
193
|
+
key = nil
|
194
|
+
case direction
|
128
195
|
when :left then
|
129
196
|
if current_orientation == :down
|
130
|
-
|
197
|
+
key = :landscape_right
|
131
198
|
elsif current_orientation == :right
|
132
|
-
|
199
|
+
key = :portrait
|
133
200
|
elsif current_orientation == :left
|
134
|
-
|
201
|
+
key = :upside_down
|
135
202
|
elsif current_orientation == :up
|
136
|
-
|
203
|
+
key = :landscape_left
|
137
204
|
end
|
138
205
|
when :right then
|
139
206
|
if current_orientation == :down
|
140
|
-
|
141
|
-
elsif current_orientation == :left
|
142
|
-
rotate_cmd = 'right_home_left'
|
207
|
+
key = :landscape_left
|
143
208
|
elsif current_orientation == :right
|
144
|
-
|
209
|
+
key = :upside_down
|
210
|
+
elsif current_orientation == :left
|
211
|
+
key = :portrait
|
145
212
|
elsif current_orientation == :up
|
146
|
-
|
213
|
+
key = :landscape_right
|
147
214
|
end
|
215
|
+
else
|
216
|
+
raise ArgumentError,
|
217
|
+
"Expected '#{direction}' to be :left or :right"
|
148
218
|
end
|
219
|
+
key
|
220
|
+
end
|
149
221
|
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
222
|
+
# @! visibility private
|
223
|
+
# @deprecated 0.16.1
|
224
|
+
def recording_name(direction, current_orientation)
|
225
|
+
recording_name = nil
|
226
|
+
case direction
|
227
|
+
when :left then
|
228
|
+
if current_orientation == :down
|
229
|
+
recording_name = 'left_home_down'
|
230
|
+
elsif current_orientation == :right
|
231
|
+
recording_name = 'left_home_right'
|
232
|
+
elsif current_orientation == :left
|
233
|
+
recording_name = 'left_home_left'
|
234
|
+
elsif current_orientation == :up
|
235
|
+
recording_name = 'left_home_up'
|
236
|
+
end
|
237
|
+
when :right then
|
238
|
+
if current_orientation == :down
|
239
|
+
recording_name = 'right_home_down'
|
240
|
+
elsif current_orientation == :left
|
241
|
+
recording_name = 'right_home_left'
|
242
|
+
elsif current_orientation == :right
|
243
|
+
recording_name = 'right_home_right'
|
244
|
+
elsif current_orientation == :up
|
245
|
+
recording_name = 'right_home_up'
|
246
|
+
end
|
247
|
+
else
|
248
|
+
raise ArgumentError,
|
249
|
+
"Expected '#{direction}' to be 'left' or 'right'"
|
158
250
|
end
|
251
|
+
"rotate_#{recording_name}"
|
159
252
|
end
|
160
253
|
|
161
|
-
|
162
|
-
|
163
|
-
|
254
|
+
# @! visibility private
|
255
|
+
# @deprecated 0.16.1
|
256
|
+
def rotate_with_playback(direction, current_orientation)
|
257
|
+
name = recording_name(direction, current_orientation)
|
164
258
|
|
259
|
+
if debug_logging?
|
260
|
+
puts "Could not rotate device '#{direction}' given '#{current_orientation}'; nothing to do."
|
261
|
+
end
|
165
262
|
|
263
|
+
playback(name)
|
264
|
+
end
|
166
265
|
end
|
167
266
|
end
|
168
267
|
end
|
@@ -3,10 +3,10 @@ module Calabash
|
|
3
3
|
|
4
4
|
# @!visibility public
|
5
5
|
# The Calabash iOS gem version.
|
6
|
-
VERSION = '0.16.
|
6
|
+
VERSION = '0.16.2'
|
7
7
|
|
8
8
|
# @!visibility public
|
9
9
|
# The minimum required version of the Calabash embedded server.
|
10
|
-
MIN_SERVER_VERSION = '0.16.
|
10
|
+
MIN_SERVER_VERSION = '0.16.2'
|
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.16.
|
4
|
+
version: 0.16.2
|
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-17 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.4
|
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.4
|
160
160
|
- - "<"
|
161
161
|
- !ruby/object:Gem::Version
|
162
162
|
version: '2.0'
|