calabash-cucumber 0.10.2 → 0.11.0
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/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
|