calabash-android 0.5.16.pre1 → 0.6.0.pre4

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.
@@ -0,0 +1,192 @@
1
+ module Calabash
2
+ module Android
3
+ class UsageTracker
4
+
5
+ require "httpclient"
6
+
7
+ # @!visibility private
8
+ @@track_usage = true
9
+
10
+ # @!visibility private
11
+ def self.enable_usage_tracking
12
+ @@track_usage = true
13
+ end
14
+
15
+ # @!visibility private
16
+ def self.disable_usage_tracking
17
+ @@track_usage = false
18
+ end
19
+
20
+ # @!visibility private
21
+ def post_usage
22
+ if Calabash::Android::UsageTracker.track_usage? &&
23
+ info_we_are_allowed_to_track != "none"
24
+ begin
25
+ HTTPClient.post(ROUTE, info)
26
+ rescue => e
27
+ message = %Q{ERROR: Could not post usage tracking information:#{$-0}#{e}}
28
+ Calabash::Android::Logging.log_to_file(message)
29
+ end
30
+ end
31
+ end
32
+
33
+ # @!visibility private
34
+ def post_usage_async
35
+ t = Thread.new do
36
+ post_usage
37
+ end
38
+
39
+ m = Thread.current
40
+
41
+ Thread.new do
42
+ loop do
43
+ unless t.alive?
44
+ break
45
+ end
46
+
47
+ unless m.alive?
48
+ t.kill
49
+ break
50
+ end
51
+ end
52
+ end
53
+ nil
54
+ end
55
+
56
+ private
57
+
58
+ # @!visibility private
59
+ def preferences
60
+ Calabash::Android::Preferences.new
61
+ end
62
+
63
+ # @!visibility private
64
+ def user_id
65
+ preferences.user_id
66
+ end
67
+
68
+ # @!visibility private
69
+ def info_we_are_allowed_to_track
70
+ preferences.usage_tracking
71
+ end
72
+
73
+ # @!visibility private
74
+ def self.track_usage?
75
+ @@track_usage && !self.xtc?
76
+ end
77
+
78
+ # @!visibility private
79
+ def self.xtc?
80
+ ENV["XAMARIN_TEST_CLOUD"] == "1"
81
+ end
82
+
83
+ # @!visibility private
84
+ DATA_VERSION = "1.1"
85
+
86
+ # @!visibility private
87
+ WINDOWS = "Windows"
88
+
89
+ # @!visibility private
90
+ OSX = "Darwin"
91
+
92
+ # @!visibility private
93
+ CALABASH_IOS = "iOS"
94
+
95
+ # @!visibility private
96
+ CALABASH_ANDROID = "Android"
97
+
98
+ # @!visibility private
99
+ ROUTE = "http://calabash-ci.macminicolo.net:56789/logEvent"
100
+
101
+ # @!visibility private
102
+ def host_os
103
+ @host_os ||= lambda do
104
+ if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
105
+ WINDOWS
106
+ else
107
+ `uname -s`.chomp
108
+ end
109
+ end.call
110
+ end
111
+
112
+ # @!visibility private
113
+ def host_os_version
114
+ @host_os_version ||= lambda do
115
+ if host_os == WINDOWS
116
+ `ver`.chomp
117
+ elsif host_os == OSX
118
+ `sw_vers -productVersion`.chomp
119
+ else
120
+ `uname -r`.chomp
121
+ end
122
+ end.call
123
+ end
124
+
125
+ # @!visibility private
126
+ def irb?
127
+ $0 == "irb"
128
+ end
129
+
130
+ # @!visibility private
131
+ def ruby_version
132
+ @ruby_version ||= `#{RbConfig.ruby} -v`.chomp
133
+ end
134
+
135
+ # @!visibility private
136
+ def used_bundle_exec?
137
+ Object.const_defined?(:Bundler)
138
+ end
139
+
140
+ # @!visibility private
141
+ def used_cucumber?
142
+ Object.const_defined?(:Cucumber)
143
+ end
144
+
145
+ # @!visibility private
146
+ #
147
+ # Collect a hash of usage info.
148
+ def info
149
+
150
+ allowed = info_we_are_allowed_to_track
151
+
152
+ if allowed == "none"
153
+ raise RuntimeError,
154
+ "This method should not be called if the user does not want to be tracked."
155
+ end
156
+
157
+ # Events only
158
+ hash = {
159
+ :event_name => "session",
160
+ :data_version => DATA_VERSION,
161
+ :user_id => user_id
162
+ }
163
+
164
+ if allowed == "system_info"
165
+ hash.merge!(
166
+ {
167
+ :platform => CALABASH_ANDROID,
168
+ :host_os => host_os,
169
+ :host_os_version => host_os_version,
170
+ :irb => irb?,
171
+ :ruby_version => ruby_version,
172
+ :used_bundle_exec => used_bundle_exec?,
173
+ :used_cucumber => used_cucumber?,
174
+
175
+ :version => Calabash::Android::VERSION,
176
+
177
+ :ci => Calabash::Android::Environment.ci?,
178
+ :jenkins => Calabash::Android::Environment.jenkins?,
179
+ :travis => Calabash::Android::Environment.travis?,
180
+ :circle_ci => Calabash::Android::Environment.circle_ci?,
181
+ :gitlab => Calabash::Android::Environment.gitlab?,
182
+ :teamcity => Calabash::Android::Environment.teamcity?
183
+ }
184
+ )
185
+ end
186
+
187
+ hash
188
+ end
189
+ end
190
+ end
191
+ end
192
+
@@ -1,5 +1,5 @@
1
1
  module Calabash
2
2
  module Android
3
- VERSION = "0.5.16.pre1"
3
+ VERSION = "0.6.0.pre4"
4
4
  end
5
5
  end
@@ -14,7 +14,7 @@ module Calabash
14
14
  :post_timeout => 0,
15
15
  :timeout_message => 'Timed out waiting...',
16
16
  :screenshot_on_error => true
17
- }.freeze
17
+ }
18
18
 
19
19
  def wait_for(options_or_timeout=DEFAULT_OPTS, &block)
20
20
  #note Hash is preferred, number acceptable for backwards compat
@@ -1,4 +1,9 @@
1
1
  require 'calabash-android/defaults'
2
+ require 'calabash-android/environment'
3
+ require 'calabash-android/dot_dir'
4
+ require 'calabash-android/logging'
5
+ require 'calabash-android/store/preferences'
6
+ require 'calabash-android/usage_tracker'
2
7
  require 'calabash-android/operations'
3
8
  require 'calabash-android/version'
4
- require 'calabash-android/abase'
9
+ require 'calabash-android/abase'
metadata CHANGED
@@ -1,181 +1,293 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calabash-android
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.16.pre1
4
+ version: 0.6.0.pre4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Maturana Larsen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-05 00:00:00.000000000 Z
11
+ date: 2015-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.8'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.8'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: retriable
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: 1.3.3.1
48
- - - "<"
48
+ - - <
49
49
  - !ruby/object:Gem::Version
50
50
  version: '1.5'
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
- - - ">="
55
+ - - '>='
56
56
  - !ruby/object:Gem::Version
57
57
  version: 1.3.3.1
58
- - - "<"
58
+ - - <
59
59
  - !ruby/object:Gem::Version
60
60
  version: '1.5'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: slowhandcuke
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ~>
66
66
  - !ruby/object:Gem::Version
67
67
  version: 0.0.3
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - "~>"
72
+ - - ~>
73
73
  - !ruby/object:Gem::Version
74
74
  version: 0.0.3
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rubyzip
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - "~>"
79
+ - - ~>
80
80
  - !ruby/object:Gem::Version
81
81
  version: '1.1'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - "~>"
86
+ - - ~>
87
87
  - !ruby/object:Gem::Version
88
88
  version: '1.1'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: awesome_print
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - "~>"
93
+ - - ~>
94
94
  - !ruby/object:Gem::Version
95
95
  version: '1.2'
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - "~>"
100
+ - - ~>
101
101
  - !ruby/object:Gem::Version
102
102
  version: '1.2'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: httpclient
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - ">="
107
+ - - '>='
108
108
  - !ruby/object:Gem::Version
109
109
  version: 2.3.2
110
- - - "<"
110
+ - - <
111
111
  - !ruby/object:Gem::Version
112
112
  version: '3.0'
113
113
  type: :runtime
114
114
  prerelease: false
115
115
  version_requirements: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - ">="
117
+ - - '>='
118
118
  - !ruby/object:Gem::Version
119
119
  version: 2.3.2
120
- - - "<"
120
+ - - <
121
121
  - !ruby/object:Gem::Version
122
122
  version: '3.0'
123
123
  - !ruby/object:Gem::Dependency
124
124
  name: escape
125
125
  requirement: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - "~>"
127
+ - - ~>
128
128
  - !ruby/object:Gem::Version
129
129
  version: 0.0.4
130
130
  type: :runtime
131
131
  prerelease: false
132
132
  version_requirements: !ruby/object:Gem::Requirement
133
133
  requirements:
134
- - - "~>"
134
+ - - ~>
135
135
  - !ruby/object:Gem::Version
136
136
  version: 0.0.4
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: rake
139
139
  requirement: !ruby/object:Gem::Requirement
140
140
  requirements:
141
- - - "~>"
141
+ - - ~>
142
142
  - !ruby/object:Gem::Version
143
143
  version: '10.3'
144
144
  type: :development
145
145
  prerelease: false
146
146
  version_requirements: !ruby/object:Gem::Requirement
147
147
  requirements:
148
- - - "~>"
148
+ - - ~>
149
149
  - !ruby/object:Gem::Version
150
150
  version: '10.3'
151
151
  - !ruby/object:Gem::Dependency
152
152
  name: yard
153
153
  requirement: !ruby/object:Gem::Requirement
154
154
  requirements:
155
- - - "~>"
155
+ - - ~>
156
156
  - !ruby/object:Gem::Version
157
157
  version: '0.8'
158
158
  type: :development
159
159
  prerelease: false
160
160
  version_requirements: !ruby/object:Gem::Requirement
161
161
  requirements:
162
- - - "~>"
162
+ - - ~>
163
163
  - !ruby/object:Gem::Version
164
164
  version: '0.8'
165
165
  - !ruby/object:Gem::Dependency
166
166
  name: redcarpet
167
167
  requirement: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - "~>"
169
+ - - ~>
170
170
  - !ruby/object:Gem::Version
171
171
  version: '3.1'
172
172
  type: :development
173
173
  prerelease: false
174
174
  version_requirements: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - "~>"
176
+ - - ~>
177
177
  - !ruby/object:Gem::Version
178
178
  version: '3.1'
179
+ - !ruby/object:Gem::Dependency
180
+ name: rspec_junit_formatter
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - '>='
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - '>='
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ - !ruby/object:Gem::Dependency
194
+ name: rspec
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - ~>
198
+ - !ruby/object:Gem::Version
199
+ version: '3.0'
200
+ type: :development
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - ~>
205
+ - !ruby/object:Gem::Version
206
+ version: '3.0'
207
+ - !ruby/object:Gem::Dependency
208
+ name: pry
209
+ requirement: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ type: :development
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - '>='
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ - !ruby/object:Gem::Dependency
222
+ name: pry-nav
223
+ requirement: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - '>='
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ type: :development
229
+ prerelease: false
230
+ version_requirements: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - '>='
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
235
+ - !ruby/object:Gem::Dependency
236
+ name: guard-rspec
237
+ requirement: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - '>='
240
+ - !ruby/object:Gem::Version
241
+ version: '0'
242
+ type: :development
243
+ prerelease: false
244
+ version_requirements: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - '>='
247
+ - !ruby/object:Gem::Version
248
+ version: '0'
249
+ - !ruby/object:Gem::Dependency
250
+ name: guard-bundler
251
+ requirement: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - '>='
254
+ - !ruby/object:Gem::Version
255
+ version: '0'
256
+ type: :development
257
+ prerelease: false
258
+ version_requirements: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - '>='
261
+ - !ruby/object:Gem::Version
262
+ version: '0'
263
+ - !ruby/object:Gem::Dependency
264
+ name: growl
265
+ requirement: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - '>='
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
270
+ type: :development
271
+ prerelease: false
272
+ version_requirements: !ruby/object:Gem::Requirement
273
+ requirements:
274
+ - - '>='
275
+ - !ruby/object:Gem::Version
276
+ version: '0'
277
+ - !ruby/object:Gem::Dependency
278
+ name: stub_env
279
+ requirement: !ruby/object:Gem::Requirement
280
+ requirements:
281
+ - - '>='
282
+ - !ruby/object:Gem::Version
283
+ version: '0'
284
+ type: :development
285
+ prerelease: false
286
+ version_requirements: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - '>='
289
+ - !ruby/object:Gem::Version
290
+ version: '0'
179
291
  description: 'calabash-android drives tests for native and hybrid Android apps. '
180
292
  email:
181
293
  - jonas@lesspainful.com
@@ -184,53 +296,32 @@ executables:
184
296
  extensions: []
185
297
  extra_rdoc_files: []
186
298
  files:
187
- - ".calabash_settings"
188
- - ".yardopts"
189
- - CHANGES.txt
190
- - ENVIRONMENT_VARIABLES.md
191
- - Gemfile
192
- - LICENSE
193
- - README_YARDOC.md
194
- - Rakefile
195
- - bin/calabash-android
299
+ - irbrc
196
300
  - bin/calabash-android-build.rb
197
301
  - bin/calabash-android-console.rb
198
302
  - bin/calabash-android-generate.rb
199
303
  - bin/calabash-android-helpers.rb
200
304
  - bin/calabash-android-run.rb
201
305
  - bin/calabash-android-setup.rb
202
- - calabash-android.gemspec
203
- - epl-v10.html
204
- - features-skeleton/my_first.feature
205
- - features-skeleton/step_definitions/calabash_steps.rb
206
- - features-skeleton/support/app_installation_hooks.rb
207
- - features-skeleton/support/app_life_cycle_hooks.rb
208
- - features-skeleton/support/env.rb
209
- - features-skeleton/support/hooks.rb
210
- - irbrc
211
- - lib/calabash-android.rb
306
+ - bin/calabash-android
212
307
  - lib/calabash-android/abase.rb
213
308
  - lib/calabash-android/calabash_steps.rb
214
- - lib/calabash-android/canned_steps.md
215
309
  - lib/calabash-android/color_helper.rb
216
310
  - lib/calabash-android/cucumber.rb
217
311
  - lib/calabash-android/defaults.rb
218
- - lib/calabash-android/deprecated_actions.map
312
+ - lib/calabash-android/dot_dir.rb
219
313
  - lib/calabash-android/drag_helpers.rb
220
314
  - lib/calabash-android/env.rb
315
+ - lib/calabash-android/environment.rb
221
316
  - lib/calabash-android/environment_helpers.rb
222
317
  - lib/calabash-android/gestures.rb
223
318
  - lib/calabash-android/helpers.rb
224
319
  - lib/calabash-android/java_keystore.rb
225
- - lib/calabash-android/lib/AXMLPrinter2.jar
226
- - lib/calabash-android/lib/TestServer.apk
227
- - lib/calabash-android/lib/manifest_extractor.jar
228
- - lib/calabash-android/lib/screenshotTaker.jar
320
+ - lib/calabash-android/logging.rb
229
321
  - lib/calabash-android/management/adb.rb
230
322
  - lib/calabash-android/management/app_installation.rb
231
323
  - lib/calabash-android/monkey_helpers.rb
232
324
  - lib/calabash-android/operations.rb
233
- - lib/calabash-android/removed_actions.txt
234
325
  - lib/calabash-android/steps/assert_steps.rb
235
326
  - lib/calabash-android/steps/check_box_steps.rb
236
327
  - lib/calabash-android/steps/context_menu_steps.rb
@@ -246,15 +337,31 @@ files:
246
337
  - lib/calabash-android/steps/search_steps.rb
247
338
  - lib/calabash-android/steps/spinner_steps.rb
248
339
  - lib/calabash-android/steps/time_picker_steps.rb
340
+ - lib/calabash-android/store/preferences.rb
249
341
  - lib/calabash-android/text_helpers.rb
250
342
  - lib/calabash-android/touch_helpers.rb
343
+ - lib/calabash-android/usage_tracker.rb
251
344
  - lib/calabash-android/version.rb
252
345
  - lib/calabash-android/wait_helpers.rb
253
- - test-server/AndroidManifest.xml
254
- - test-server/build.xml
255
- - test-server/calabash-js/src/calabash.js
346
+ - lib/calabash-android.rb
347
+ - lib/calabash-android/deprecated_actions.map
348
+ - lib/calabash-android/removed_actions.txt
349
+ - lib/calabash-android/lib/AXMLPrinter2.jar
350
+ - lib/calabash-android/lib/manifest_extractor.jar
351
+ - lib/calabash-android/lib/screenshotTaker.jar
352
+ - features-skeleton/my_first.feature
353
+ - features-skeleton/step_definitions/calabash_steps.rb
354
+ - features-skeleton/support/app_installation_hooks.rb
355
+ - features-skeleton/support/app_life_cycle_hooks.rb
356
+ - features-skeleton/support/env.rb
357
+ - features-skeleton/support/hooks.rb
358
+ - epl-v10.html
359
+ - LICENSE
360
+ - lib/calabash-android/lib/TestServer.apk
361
+ - lib/calabash-android/lib/AndroidManifest.xml
256
362
  homepage: http://github.com/calabash
257
- licenses: []
363
+ licenses:
364
+ - EPL-1.0
258
365
  metadata: {}
259
366
  post_install_message:
260
367
  rdoc_options: []
@@ -262,17 +369,17 @@ require_paths:
262
369
  - lib
263
370
  required_ruby_version: !ruby/object:Gem::Requirement
264
371
  requirements:
265
- - - ">="
372
+ - - '>='
266
373
  - !ruby/object:Gem::Version
267
374
  version: '0'
268
375
  required_rubygems_version: !ruby/object:Gem::Requirement
269
376
  requirements:
270
- - - ">"
377
+ - - '>'
271
378
  - !ruby/object:Gem::Version
272
379
  version: 1.3.1
273
380
  requirements: []
274
381
  rubyforge_project:
275
- rubygems_version: 2.4.5.1
382
+ rubygems_version: 2.0.2
276
383
  signing_key:
277
384
  specification_version: 4
278
385
  summary: Client for calabash-android for automated functional testing on Android
data/.calabash_settings DELETED
@@ -1 +0,0 @@
1
- {"package_name":"","activity_name":"","app_path":"","api_level":"","keystore_location":"","keystore_password":"","keystore_alias":"","keystore_alias_password":""}
data/.yardopts DELETED
@@ -1,3 +0,0 @@
1
- --markup=markdown
2
- --no-private
3
- lib/**/*.rb - LICENSE ENVIRONMENT_VARIABLES.md lib/**/*.md