calabash-cucumber 0.10.2 → 0.11.0
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/actions/instruments_actions.rb +11 -1
- data/lib/calabash-cucumber/device.rb +24 -0
- data/lib/calabash-cucumber/keyboard_helpers.rb +6 -1
- data/lib/calabash-cucumber/launcher.rb +11 -5
- data/lib/calabash-cucumber/version.rb +2 -2
- data/staticlib/calabash.framework.zip +0 -0
- data/staticlib/libFrankCalabash.a +0 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94acd1355fba54a970cdc7586117d81a3e69bbc6
|
4
|
+
data.tar.gz: 45cb7d87be59441af30710916bf5979294d578a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55b4aa00dbb8fa1ea0c9ab585b51166c8114a2e33f91c9ec8327aa8a8f733f5265229d5fbe6aacd85ee7773b138c60cf417d795f76311b32677555b5dac307f8
|
7
|
+
data.tar.gz: f0130e5b08f8ff98bd78a245ae6a85859678d80fa1707ff46ba620724721591ce71c9b4fffa2d098fc1831d48e9548dfb07ae9caeed721cf3f5166fb4cd65c99
|
data/dylibs/libCalabashDyn.dylib
CHANGED
Binary file
|
Binary file
|
@@ -121,7 +121,17 @@ class Calabash::Cucumber::InstrumentsActions
|
|
121
121
|
def normalize_rect_for_orientation!(orientation, rect)
|
122
122
|
orientation = orientation.to_sym
|
123
123
|
launcher = Calabash::Cucumber::Launcher.launcher
|
124
|
-
|
124
|
+
if launcher.ios_major_version.to_i >= 8
|
125
|
+
return ## Orientation management changed in iOS 8:
|
126
|
+
# ## https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICoordinateSpace_protocol/index.html
|
127
|
+
end
|
128
|
+
dimensions = launcher.device.screen_dimensions
|
129
|
+
if dimensions
|
130
|
+
screen_size = {width: dimensions[:width]*dimensions[:sample]/dimensions[:scale],
|
131
|
+
height: dimensions[:height]*dimensions[:sample]/dimensions[:scale]}
|
132
|
+
else
|
133
|
+
screen_size = launcher.device.screen_size
|
134
|
+
end
|
125
135
|
case orientation
|
126
136
|
when :right
|
127
137
|
cx = rect['center_x']
|
@@ -118,6 +118,22 @@ module Calabash
|
|
118
118
|
# @return [String] The udid of this device.
|
119
119
|
attr_accessor :udid
|
120
120
|
|
121
|
+
# For Calabash server version > 0.10.2 provides
|
122
|
+
# device specific screen information.
|
123
|
+
#
|
124
|
+
# This is a hash of form:
|
125
|
+
# {
|
126
|
+
# :sample => 1,
|
127
|
+
# :height => 1334,
|
128
|
+
# :width => 750,
|
129
|
+
# :scale" => 2
|
130
|
+
# }
|
131
|
+
#
|
132
|
+
#
|
133
|
+
# @attribute [r] screen_dimensions
|
134
|
+
# @return [Hash] screen dimensions, scale and down/up sampling fraction.
|
135
|
+
attr_reader :screen_dimensions
|
136
|
+
|
121
137
|
# Creates a new instance of Device.
|
122
138
|
#
|
123
139
|
# @see Calabash::Cucumber::Core#server_version
|
@@ -135,6 +151,13 @@ module Calabash
|
|
135
151
|
@server_version = version_data['version']
|
136
152
|
@iphone_app_emulated_on_ipad = version_data['iphone_app_emulated_on_ipad']
|
137
153
|
@iphone_4in = version_data['4inch']
|
154
|
+
screen_dimensions = version_data['screen_dimensions']
|
155
|
+
if screen_dimensions
|
156
|
+
@screen_dimensions = {}
|
157
|
+
screen_dimensions.each_pair do |key,val|
|
158
|
+
@screen_dimensions[key.to_sym] = val
|
159
|
+
end
|
160
|
+
end
|
138
161
|
end
|
139
162
|
|
140
163
|
# Is this device a simulator or physical device?
|
@@ -224,6 +247,7 @@ module Calabash
|
|
224
247
|
# @return [Hash] representation of the screen size as a hash with keys
|
225
248
|
# `:width` and `:height`
|
226
249
|
def screen_size
|
250
|
+
return screen_dimensions if screen_dimensions
|
227
251
|
return { :width => 768, :height => 1024 } if ipad?
|
228
252
|
return { :width => 320, :height => 568 } if iphone_4in?
|
229
253
|
{ :width => 320, :height => 480 }
|
@@ -386,7 +386,12 @@ module Calabash
|
|
386
386
|
# @raise [RuntimeError] if the text cannot be typed.
|
387
387
|
def tap_keyboard_action_key
|
388
388
|
if uia_available?
|
389
|
-
|
389
|
+
run_loop = Calabash::Cucumber::Launcher.launcher.run_loop
|
390
|
+
if run_loop[:uia_strategy] == :host
|
391
|
+
uia_type_string "\\\\n", '', false
|
392
|
+
else
|
393
|
+
uia_type_string '\n', '', false
|
394
|
+
end
|
390
395
|
else
|
391
396
|
keyboard_enter_char 'Return'
|
392
397
|
end
|
@@ -629,16 +629,22 @@ class Calabash::Cucumber::Launcher
|
|
629
629
|
else
|
630
630
|
target_udid = launch_args[:device_target]
|
631
631
|
target_device = nil
|
632
|
-
sim_control.xctools.instruments(:devices)
|
632
|
+
devices_connected = sim_control.xctools.instruments(:devices)
|
633
|
+
devices_connected.each do |device|
|
633
634
|
if device.udid == target_udid
|
634
635
|
target_device = device
|
635
636
|
break
|
636
637
|
end
|
637
638
|
end
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
639
|
+
if target_device.nil?
|
640
|
+
target_device = devices_connected.first
|
641
|
+
if target_device
|
642
|
+
launch_args[:device_target] = target_device.udid
|
643
|
+
end
|
644
|
+
end
|
645
|
+
unless target_device
|
646
|
+
raise 'No device_target was specified and did not detect a connected device. Set a device_target option in the relaunch method.'
|
647
|
+
end
|
642
648
|
# Preferences strategy works for iOS < 8.0, but not for iOS >= 8.0.
|
643
649
|
if target_device.version < RunLoop::Version.new('8.0')
|
644
650
|
:preferences
|
@@ -3,11 +3,11 @@ module Calabash
|
|
3
3
|
|
4
4
|
# @!visibility public
|
5
5
|
# The Calabash iOS gem version.
|
6
|
-
VERSION = '0.
|
6
|
+
VERSION = '0.11.0'
|
7
7
|
|
8
8
|
# @!visibility public
|
9
9
|
# The minimum required version of the calabash.framework or, for Xamarin
|
10
10
|
# users, the Calabash component.
|
11
|
-
MIN_SERVER_VERSION = '0.
|
11
|
+
MIN_SERVER_VERSION = '0.11.0'
|
12
12
|
end
|
13
13
|
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.11.0
|
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-10-
|
11
|
+
date: 2014-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -430,7 +430,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
430
430
|
version: '0'
|
431
431
|
requirements: []
|
432
432
|
rubyforge_project:
|
433
|
-
rubygems_version: 2.4.
|
433
|
+
rubygems_version: 2.4.2
|
434
434
|
signing_key:
|
435
435
|
specification_version: 4
|
436
436
|
summary: Client for calabash-ios-server for automated functional testing on iOS
|