calabash-cucumber 0.16.1 → 0.16.2
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 +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'
|