calabash-cucumber 0.9.80.pre.5 → 0.9.80
Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
calabash-cucumber (0.9.80
|
4
|
+
calabash-cucumber (0.9.80)
|
5
5
|
CFPropertyList
|
6
6
|
cucumber
|
7
7
|
json
|
@@ -23,7 +23,7 @@ GEM
|
|
23
23
|
geocoder (1.1.2)
|
24
24
|
gherkin (2.11.1)
|
25
25
|
json (>= 1.4.6)
|
26
|
-
json (1.7.
|
26
|
+
json (1.7.4)
|
27
27
|
location-one (0.0.5)
|
28
28
|
geocoder (~> 1.1)
|
29
29
|
json
|
@@ -100,6 +100,11 @@ module Calabash
|
|
100
100
|
playback(file, options)
|
101
101
|
end
|
102
102
|
|
103
|
+
#Current position of home button
|
104
|
+
def current_rotation
|
105
|
+
@current_rotation
|
106
|
+
end
|
107
|
+
|
103
108
|
def rotate(dir)
|
104
109
|
@current_rotation = @current_rotation || :down
|
105
110
|
rotate_cmd = nil
|
@@ -141,9 +146,51 @@ module Calabash
|
|
141
146
|
end
|
142
147
|
|
143
148
|
def background(secs)
|
144
|
-
|
149
|
+
set_user_pref("__calabash_action", {:action => :background, :duration => secs})
|
150
|
+
end
|
151
|
+
|
152
|
+
def prepare_dialog_action(opts={:dialog => nil, :answer => "Ok"})
|
153
|
+
if opts[:dialog].nil? || opts[:dialog].length < 1
|
154
|
+
raise ":dialog must be specified as a non-empty string (used as regexp to match dialog text)"
|
155
|
+
end
|
156
|
+
txt = opts[:answer] || 'Ok'
|
157
|
+
set_user_pref("__calabash_action", {:action => :dialog,
|
158
|
+
:text => opts[:dialog],
|
159
|
+
:answer => txt})
|
145
160
|
end
|
146
161
|
|
162
|
+
def picker(opts={:query => "pickerView", :action => :texts})
|
163
|
+
raise "Not implemented" unless opts[:action] == :texts
|
164
|
+
|
165
|
+
q = opts[:query]
|
166
|
+
|
167
|
+
check_element_exists(q)
|
168
|
+
|
169
|
+
comps = query(q,:numberOfComponents).first
|
170
|
+
row_counts = []
|
171
|
+
texts = []
|
172
|
+
comps.times do |i|
|
173
|
+
row_counts[i] = query(q,:numberOfRowsInComponent=>i).first
|
174
|
+
texts[i] = []
|
175
|
+
end
|
176
|
+
|
177
|
+
row_counts.each_with_index do |row_count, comp|
|
178
|
+
row_count.times do |i|
|
179
|
+
#view = query(q,[{:viewForRow => 0}, {:forComponent => 0}],:accessibilityLabel).first
|
180
|
+
spec = [{:viewForRow => i}, {:forComponent => comp}]
|
181
|
+
view = query(q,spec).first
|
182
|
+
if view
|
183
|
+
txt = query(q,spec,:accessibilityLabel).first
|
184
|
+
else
|
185
|
+
txt = query(q, :delegate, [{:pickerView=>:view},
|
186
|
+
{:titleForRow=>i},
|
187
|
+
{:forComponent=>comp}]).first
|
188
|
+
end
|
189
|
+
texts[comp] << txt
|
190
|
+
end
|
191
|
+
end
|
192
|
+
texts
|
193
|
+
end
|
147
194
|
|
148
195
|
def load_playback_data(recording, options={})
|
149
196
|
os = options["OS"] || ENV["OS"] || "ios5"
|
@@ -267,16 +314,16 @@ module Calabash
|
|
267
314
|
else
|
268
315
|
req = Net::HTTP::Get.new url.path
|
269
316
|
if data
|
270
|
-
if URI.respond_to
|
317
|
+
if URI.respond_to? :encode_www_form
|
271
318
|
url.query = URI.encode_www_form(data)
|
272
319
|
else
|
273
320
|
##suport only "safe" ascii params for now
|
274
|
-
url.query = enum.map do |k,v|
|
321
|
+
url.query = enum.map do |k, v|
|
275
322
|
"#{k.to_s}=#{v.to_s}"
|
276
323
|
end.join('&')
|
277
324
|
end
|
278
325
|
resp = Net::HTTP.get_response(url)
|
279
|
-
if resp.is_a?Net::HTTPSuccess
|
326
|
+
if resp.is_a? Net::HTTPSuccess
|
280
327
|
return resp.body
|
281
328
|
else
|
282
329
|
raise "HTTP-level Error #{resp}"
|
@@ -29,13 +29,16 @@ module Calabash
|
|
29
29
|
|
30
30
|
def self.derived_data_dir_for_project
|
31
31
|
dir = project_dir
|
32
|
-
|
32
|
+
xcode_workspace_name = ''
|
33
33
|
info_plist = Dir.glob(DEFAULT_DERIVED_DATA_INFO).find { |plist_file|
|
34
34
|
begin
|
35
35
|
plist = CFPropertyList::List.new(:file => plist_file)
|
36
36
|
hash = CFPropertyList.native_types(plist.value)
|
37
37
|
ws_dir = File.dirname(hash['WorkspacePath']).downcase
|
38
38
|
p_dir = dir.downcase
|
39
|
+
if (p_dir.include? ws_dir)
|
40
|
+
xcode_workspace_name = ws_dir.split('/').last
|
41
|
+
end
|
39
42
|
ws_dir == p_dir
|
40
43
|
rescue
|
41
44
|
false
|
@@ -60,6 +63,13 @@ module Calabash
|
|
60
63
|
File.basename(xc_proj).start_with?(xcode_proj_name)
|
61
64
|
end
|
62
65
|
|
66
|
+
if (build_dirs.count == 0 && !xcode_workspace_name.empty?)
|
67
|
+
# check for directory named "workspace-{deriveddirectoryrandomcharacters}"
|
68
|
+
build_dirs = Dir.glob("#{DERIVED_DATA}/*").find_all do |xc_proj|
|
69
|
+
File.basename(xc_proj).downcase.start_with?(xcode_workspace_name)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
63
73
|
if (build_dirs.count == 0)
|
64
74
|
msg = ["Unable to find your built app."]
|
65
75
|
msg << "This means that Calabash can't automatically launch iOS simulator."
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: calabash-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.80
|
5
|
-
prerelease:
|
4
|
+
version: 0.9.80
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Karl Krukow
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cucumber
|
@@ -238,9 +238,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
238
238
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
239
239
|
none: false
|
240
240
|
requirements:
|
241
|
-
- - ! '
|
241
|
+
- - ! '>='
|
242
242
|
- !ruby/object:Gem::Version
|
243
|
-
version:
|
243
|
+
version: '0'
|
244
244
|
requirements: []
|
245
245
|
rubyforge_project:
|
246
246
|
rubygems_version: 1.8.23
|