calabash 2.0.0.pre2 → 2.0.0.pre3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -26
  3. data/lib/calabash/android/adb.rb +9 -0
  4. data/lib/calabash/android/build/builder.rb +2 -0
  5. data/lib/calabash/android/build/java_keystore.rb +10 -0
  6. data/lib/calabash/android/build/resigner.rb +4 -0
  7. data/lib/calabash/android/build/test_server.rb +2 -0
  8. data/lib/calabash/android/defaults.rb +1 -0
  9. data/lib/calabash/android/device.rb +18 -0
  10. data/lib/calabash/android/interactions.rb +2 -0
  11. data/lib/calabash/android/lib/TestServer.apk +0 -0
  12. data/lib/calabash/android/life_cycle.rb +1 -0
  13. data/lib/calabash/android/physical_buttons.rb +8 -0
  14. data/lib/calabash/android/screenshot.rb +1 -0
  15. data/lib/calabash/android/server.rb +1 -0
  16. data/lib/calabash/android/text.rb +1 -0
  17. data/lib/calabash/cli/build.rb +1 -0
  18. data/lib/calabash/cli/console.rb +2 -0
  19. data/lib/calabash/cli/generate.rb +3 -0
  20. data/lib/calabash/cli/helpers.rb +6 -0
  21. data/lib/calabash/cli/resign.rb +1 -0
  22. data/lib/calabash/cli/run.rb +2 -0
  23. data/lib/calabash/cli/setup_keystore.rb +2 -0
  24. data/lib/calabash/color.rb +7 -0
  25. data/lib/calabash/defaults.rb +1 -0
  26. data/lib/calabash/device.rb +2 -0
  27. data/lib/calabash/environment.rb +1 -0
  28. data/lib/calabash/http/retriable_client.rb +2 -0
  29. data/lib/calabash/interactions.rb +1 -0
  30. data/lib/calabash/ios/conditions.rb +3 -0
  31. data/lib/calabash/ios/date_picker.rb +412 -0
  32. data/lib/calabash/ios/defaults.rb +1 -0
  33. data/lib/calabash/ios/device/device_implementation.rb +5 -1
  34. data/lib/calabash/ios/device/ipad_1x_2x_mixin.rb +253 -0
  35. data/lib/calabash/ios/device/keyboard_mixin.rb +2 -0
  36. data/lib/calabash/ios/device/rotation_mixin.rb +1 -0
  37. data/lib/calabash/ios/device/routes/condition_route_mixin.rb +1 -0
  38. data/lib/calabash/ios/device/routes/map_route_mixin.rb +1 -0
  39. data/lib/calabash/ios/device/routes/response_parser.rb +1 -0
  40. data/lib/calabash/ios/device/routes/uia_route_mixin.rb +44 -6
  41. data/lib/calabash/ios/device/text_mixin.rb +2 -0
  42. data/lib/calabash/ios/device/uia_keyboard_mixin.rb +9 -0
  43. data/lib/calabash/ios/device/uia_mixin.rb +1 -0
  44. data/lib/calabash/ios/device.rb +1 -0
  45. data/lib/calabash/ios/interactions.rb +30 -1
  46. data/lib/calabash/ios/runtime.rb +8 -0
  47. data/lib/calabash/ios.rb +2 -0
  48. data/lib/calabash/life_cycle.rb +19 -2
  49. data/lib/calabash/location.rb +2 -0
  50. data/lib/calabash/page.rb +13 -0
  51. data/lib/calabash/patch.rb +1 -0
  52. data/lib/calabash/utility.rb +4 -4
  53. data/lib/calabash/version.rb +1 -1
  54. data/lib/calabash/wait.rb +4 -0
  55. data/lib/calabash.rb +6 -4
  56. metadata +113 -112
  57. data/lib/calabash/android/scroll.rb +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 819df5d6b1278e724b9cbf4696f96a1ffe75557c
4
- data.tar.gz: 1ed7899450830880d379bf2f1ee5cd2e8f98bbbe
3
+ metadata.gz: 99f4bb2a90e0b3d0e826f6afe73b213a36e984e0
4
+ data.tar.gz: 2056799cd44ee3504b986351da16bb834f72e382
5
5
  SHA512:
6
- metadata.gz: 2b0bf17b2a8965ffe07883a4c371a4f9d14dbad9b824b3547bd3d490bb02b117b66da057cb868bc30d2b5dced1e97066991aef1ee3a9edfa31b390e25c6600ff
7
- data.tar.gz: 25db11e28ba856c6cf3e7646173e483793172c80fd0bcbbd71dd65c7e3d70f7cd610ce04e6bb3e60ed0674f8d2dad304f2ff3b01d3ebfc7d14265fb74b62a518
6
+ metadata.gz: 1ba0e8c86de9a8682affd9712cbfc4d7b50bf472bc285c8375e210ae5f99146910f6229ff140cc316ab6dea697ecfbc0bc75e415f750b8706940981080bfa2a1
7
+ data.tar.gz: 2a71fcf01eb79e7cb15d294a70b7cd9ba42111c09ef82966e4b9d7522221e7b726df29483683b6ef6640412b75f2e2edc80c0e4084567d57a02b1a1c68102140
data/README.md CHANGED
@@ -27,8 +27,6 @@ $ rake -T
27
27
  rake android:build # Build the Android test server
28
28
  rake build # Build calabash-1.9.9.pre2.gem into the pkg directory
29
29
  rake ctags # Generate ctags in ./git/tags
30
- rake cucumber:android # Run Android cucumber tests
31
- rake cucumber:ios # Run iOS cucumber tests
32
30
  rake install # Build and install calabash-1.9.9.pre2.gem into system gems
33
31
  rake release # Create tag v1.9.9.pre2 and build and push calabash-1.9.9.pre2.gem to Rubygems
34
32
  rake spec # Run RSpec code examples
@@ -63,28 +61,5 @@ $ be cucumber
63
61
 
64
62
  ### Cucumber iOS
65
63
 
66
- ```
67
- $ cd cucumber/ios
68
- $ bundle update
69
- $ rake ensure_app # Optional. See note below.
70
- $ be cucumber
71
- ```
72
-
73
- The rake task `ensure_app` checks the `cucumber/ios` directory for
74
- CalSmoke-cal.app. If it exists, it will do nothing. If it does not exist,
75
- it will pull the latest sources from the CalSmoke repo, build the
76
- CalSmoke-cal.app from the master branch, and install it in the
77
- `cucumber/ios` directory.
78
-
79
- If you want to use a different CalSmoke-cal.app, drop it into `cucumber/ios`
80
- or call cucumber with `CAL\_APP` set.
81
-
82
- ```
83
- $ CAL_APP=/path/to/your/CalSmoke-cal.app be cucumber
84
- ```
85
-
86
- The rake task `ensure_ipa` does the same thing, but for the CalSmoke-cal.ipa.
87
-
88
- Testing against physical devices requires that you have ideviceinstaller
89
- installed in /usr/local/bin/ideviceinstaller.
64
+ See `cucumber/ios/README.md`.
90
65
 
@@ -17,8 +17,10 @@ module Calabash
17
17
  end
18
18
  end
19
19
 
20
+ # @!visibility private
20
21
  PROCESS_WAIT_TIME = 10
21
22
 
23
+ # @!visibility private
22
24
  def self.open_pipe_with_timeout(timeout, *cmd, &block)
23
25
  begin
24
26
  i, o, e, t, pid = nil
@@ -52,6 +54,7 @@ module Calabash
52
54
  end
53
55
  end
54
56
 
57
+ # @!visibility private
55
58
  def self.open_adb_pipe(*cmd, **options, &block)
56
59
  timeout = options.fetch(:timeout, PROCESS_WAIT_TIME)
57
60
 
@@ -60,8 +63,10 @@ module Calabash
60
63
  end
61
64
  end
62
65
 
66
+ # @!visibility private
63
67
  DAEMON_STARTED_MESSAGE = "* daemon not running. starting it now on port 5037 *\n* daemon started successfully *\n"
64
68
 
69
+ # @!visibility private
65
70
  def self.command(*cmd, **args)
66
71
  Logger.debug("ADB Command: #{cmd.join(', ')}")
67
72
  Logger.debug("ADB input: #{args[:input]}")
@@ -121,10 +126,12 @@ module Calabash
121
126
 
122
127
  attr_reader :serial
123
128
 
129
+ # @!visibility private
124
130
  def initialize(serial)
125
131
  @serial = serial
126
132
  end
127
133
 
134
+ # @!visibility private
128
135
  def command(*argv, **args)
129
136
  cmd = argv.dup
130
137
 
@@ -135,8 +142,10 @@ module Calabash
135
142
  ADB.command(*cmd, args)
136
143
  end
137
144
 
145
+ # @!visibility private
138
146
  END_STRING = '__CAL_END__'
139
147
 
148
+ # @!visibility private
140
149
  def shell(shell_cmd, options={})
141
150
  if shell_cmd.nil? || shell_cmd.empty?
142
151
  raise ArgumentError, "Invalid shell command '#{shell_cmd}'"
@@ -16,6 +16,7 @@ module Calabash
16
16
  end
17
17
  end
18
18
 
19
+ # @!visibility private
19
20
  def build
20
21
  apk_fingerprint = fingerprint_from_apk
21
22
  @logger.log "#{@application_path} was signed with a certificate with fingerprint #{apk_fingerprint}", :debug
@@ -83,6 +84,7 @@ module Calabash
83
84
  @logger.log "Done signing the test server. Moved it to #{test_server_file_name}"
84
85
  end
85
86
 
87
+ # @!visibility private
86
88
  def fingerprint_from_apk
87
89
  application_path = File.expand_path(@application_path)
88
90
 
@@ -5,6 +5,7 @@ module Calabash
5
5
  module Build
6
6
  # @!visibility private
7
7
  class JavaKeystore
8
+ # @!visibility private
8
9
  CALABASH_KEYSTORE_SETTINGS_FILENAME = 'calabash_keystore_settings.json'
9
10
 
10
11
  attr_reader :errors, :location, :keystore_alias, :store_password
@@ -68,6 +69,7 @@ module Calabash
68
69
  @logger.log "Signature algorithm name: #{signature_algorithm_name}", :debug
69
70
  end
70
71
 
72
+ # @!visibility private
71
73
  def sign_apk(apk_path, dest_path)
72
74
  raise "Cannot sign with a miss configured keystore" if errors
73
75
  raise "No such file: #{apk_path}" unless File.exists?(apk_path)
@@ -86,6 +88,7 @@ module Calabash
86
88
  end
87
89
  end
88
90
 
91
+ # @!visibility private
89
92
  def system_with_stdout_on_success(cmd, *args)
90
93
  a = Escape.shell_command(args)
91
94
  cmd = "#{cmd} #{a.gsub("'", '"')}"
@@ -98,10 +101,12 @@ module Calabash
98
101
  end
99
102
  end
100
103
 
104
+ # @!visibility private
101
105
  def fail_wrong_info
102
106
  raise "Could not read keystore with the given credentials. Please ensure "
103
107
  end
104
108
 
109
+ # @!visibility private
105
110
  def self.read_keystore_with_default_password_and_alias(path)
106
111
  path = File.expand_path path
107
112
 
@@ -128,6 +133,7 @@ module Calabash
128
133
  end
129
134
  end
130
135
 
136
+ # @!visibility private
131
137
  def self.get_keystores
132
138
  if keystore = keystore_from_settings
133
139
  [ keystore ]
@@ -141,6 +147,7 @@ module Calabash
141
147
  end
142
148
  end
143
149
 
150
+ # @!visibility private
144
151
  def self.keystore_from_settings
145
152
  if File.exist?(CALABASH_KEYSTORE_SETTINGS_FILENAME)
146
153
  Logger.info "Reading keystore information specified in #{CALABASH_KEYSTORE_SETTINGS_FILENAME}"
@@ -157,16 +164,19 @@ module Calabash
157
164
  end
158
165
  end
159
166
 
167
+ # @!visibility private
160
168
  def self.fail_if_key_missing(map, key)
161
169
  raise "Found #{CALABASH_KEYSTORE_SETTINGS_FILENAME} but no #{key} defined." unless map[key]
162
170
  end
163
171
 
172
+ # @!visibility private
164
173
  def self.extract_md5_fingerprint(fingerprints)
165
174
  m = fingerprints.scan(/MD5.*((?:[a-fA-F\d]{2}:){15}[a-fA-F\d]{2})/).flatten
166
175
  raise "No MD5 fingerprint found:\n #{fingerprints}" if m.empty?
167
176
  m.first
168
177
  end
169
178
 
179
+ # @!visibility private
170
180
  def self.extract_signature_algorithm_name(fingerprints)
171
181
  m = fingerprints.scan(/Signature algorithm name: (.*)/).flatten
172
182
  raise "No signature algorithm names found:\n #{fingerprints}" if m.empty?
@@ -14,6 +14,7 @@ module Calabash
14
14
  end
15
15
  end
16
16
 
17
+ # @!visibility private
17
18
  def resign!
18
19
  Dir.mktmpdir do |tmp_dir|
19
20
  @logger.log 'Resigning apk', :debug
@@ -26,6 +27,7 @@ module Calabash
26
27
  end
27
28
  end
28
29
 
30
+ # @!visibility private
29
31
  def unsign(unsigned_path)
30
32
  meta_files = `"#{Environment.aapt_path}" list "#{unsigned_path}"`.lines.collect(&:strip).grep(/^META-INF\//)
31
33
 
@@ -53,12 +55,14 @@ module Calabash
53
55
  end
54
56
  end
55
57
 
58
+ # @!visibility private
56
59
  def zipalign(unaligned_path, app_path)
57
60
  cmd = %Q("#{Environment.zipalign_path}" -f 4 "#{unaligned_path}" "#{app_path}")
58
61
  @logger.log "Zipaligning using: #{cmd}", :debug
59
62
  system(cmd)
60
63
  end
61
64
 
65
+ # @!visibility private
62
66
  def sign(app_path, dest_path)
63
67
  java_keystore = JavaKeystore.get_keystores.first
64
68
 
@@ -7,10 +7,12 @@ module Calabash
7
7
  @application_path = application_path
8
8
  end
9
9
 
10
+ # @!visibility private
10
11
  def path
11
12
  File.expand_path("test_servers/#{checksum(@application_path)}_#{VERSION}.apk")
12
13
  end
13
14
 
15
+ # @!visibility private
14
16
  def exists?
15
17
  File.exists?(path)
16
18
  end
@@ -1,5 +1,6 @@
1
1
  module Calabash
2
2
  module Android
3
+ # Runtime defaults for Android.
3
4
  module Defaults
4
5
  # Sets up the default device and the default application based on the
5
6
  # environment.
@@ -22,6 +22,7 @@ module Calabash
22
22
  port_forward(new_server.endpoint.port, new_server.test_server_port)
23
23
  end
24
24
 
25
+ # @!visibility private
25
26
  def self.default_serial
26
27
  serials = list_serials
27
28
 
@@ -46,6 +47,7 @@ module Calabash
46
47
  end
47
48
  end
48
49
 
50
+ # @!visibility private
49
51
  def self.list_serials
50
52
  output = ADB.command('devices')
51
53
  lines = output.lines
@@ -62,12 +64,14 @@ module Calabash
62
64
  end
63
65
  end
64
66
 
67
+ # @!visibility private
65
68
  def installed_packages
66
69
  adb.shell('pm list packages').lines.map do |line|
67
70
  line.sub('package:', '').chomp
68
71
  end
69
72
  end
70
73
 
74
+ # @!visibility private
71
75
  def installed_apps
72
76
  adb.shell('pm list packages -f').lines.map do |line|
73
77
  # line will be package:<path>=<package>
@@ -80,6 +84,7 @@ module Calabash
80
84
  end
81
85
  end
82
86
 
87
+ # @!visibility private
83
88
  def test_server_responding?
84
89
  begin
85
90
  http_client.get(HTTP::Request.new('ping'), retries: 1).body == 'pong'
@@ -88,6 +93,7 @@ module Calabash
88
93
  end
89
94
  end
90
95
 
96
+ # @!visibility private
91
97
  def test_server_ready?
92
98
  begin
93
99
  http_client.get(HTTP::Request.new('ready')).body == 'true'
@@ -96,6 +102,7 @@ module Calabash
96
102
  end
97
103
  end
98
104
 
105
+ # @!visibility private
99
106
  def port_forward(host_port, test_server_port = nil)
100
107
  if test_server_port.nil?
101
108
  test_server_port = server.test_server_port
@@ -105,6 +112,7 @@ module Calabash
105
112
  adb.command(*adb_forward_cmd)
106
113
  end
107
114
 
115
+ # @!visibility private
108
116
  def make_map_parameters(query, map_method_name, *method_args)
109
117
  converted_args = []
110
118
 
@@ -172,6 +180,7 @@ module Calabash
172
180
  Calabash::QueryResult.create(result['results'], query)
173
181
  end
174
182
 
183
+ # @!visibility private
175
184
  def perform_action(action, *arguments)
176
185
  @logger.log "Action: #{action} - Arguments: #{arguments.join(', ')}"
177
186
 
@@ -197,10 +206,12 @@ module Calabash
197
206
  result
198
207
  end
199
208
 
209
+ # @!visibility private
200
210
  def enter_text(text)
201
211
  perform_action('keyboard_enter_text', text)
202
212
  end
203
213
 
214
+ # @!visibility private
204
215
  def md5_checksum(file_path)
205
216
  result = adb.shell("#{md5_binary} '#{file_path}'")
206
217
  captures = result.match(/(\w+)/).captures
@@ -234,15 +245,18 @@ module Calabash
234
245
  result['result']
235
246
  end
236
247
 
248
+ # @!visibility private
237
249
  def go_home
238
250
  adb.shell("input keyevent 3")
239
251
  end
240
252
 
253
+ # @!visibility private
241
254
  def set_location(location)
242
255
  perform_action('set_gps_coordinates',
243
256
  location[:latitude], location[:longitude])
244
257
  end
245
258
 
259
+ # @!visibility private
246
260
  def resume_app(path_or_application)
247
261
  application = parse_path_or_app_parameters(path_or_application)
248
262
 
@@ -263,6 +277,7 @@ module Calabash
263
277
  true
264
278
  end
265
279
 
280
+ # @!visibility private
266
281
  def resume_activity(package, activity)
267
282
  if package_running?(package)
268
283
  if info[:sdk_version] >= 11
@@ -279,12 +294,14 @@ module Calabash
279
294
  end
280
295
  end
281
296
 
297
+ # @!visibility private
282
298
  def app_running?(path_or_application)
283
299
  application = parse_path_or_app_parameters(path_or_application)
284
300
 
285
301
  package_running?(application.identifier)
286
302
  end
287
303
 
304
+ # @!visibility private
288
305
  def current_focus
289
306
  # Example: mFocusedApp=AppWindowToken{42c52610 token=Token{42b5d048 ActivityRecord{42a7bcc8 u0 com.example/.MainActivity t3}}}
290
307
  result = adb.shell('dumpsys window windows')
@@ -314,6 +331,7 @@ module Calabash
314
331
  raise "Unexpected output from `dumpsys window windows`"
315
332
  end
316
333
 
334
+ # @!visibility private
317
335
  def evaluate_javascript_in(query, javascript)
318
336
  parameters =
319
337
  {
@@ -3,6 +3,8 @@ require 'time'
3
3
 
4
4
  module Calabash
5
5
  module Android
6
+
7
+ # Interactions with your app that are specific to Android.
6
8
  module Interactions
7
9
  # Go back. If the keyboard is shown, it will be dismissed.
8
10
  def go_back
@@ -1,5 +1,6 @@
1
1
  module Calabash
2
2
  module Android
3
+ # Android specific life cyle methods.
3
4
  module LifeCycle
4
5
  # Resume an application. If the application is already focused, nothing
5
6
  # will happen.
@@ -7,35 +7,43 @@ module Calabash
7
7
  # @!visibility private
8
8
  module PhysicalButtons
9
9
 
10
+ # @!visibility private
10
11
  def press_button(key)
11
12
  Device.default.perform_action('press_key', key)
12
13
  true
13
14
  end
14
15
 
16
+ # @!visibility private
15
17
  def press_back_button
16
18
  press_button('KEYCODE_BACK')
17
19
  end
18
20
 
21
+ # @!visibility private
19
22
  def press_menu_button
20
23
  press_button('KEYCODE_MENU')
21
24
  end
22
25
 
26
+ # @!visibility private
23
27
  def press_down_button
24
28
  press_button('KEYCODE_DPAD_DOWN')
25
29
  end
26
30
 
31
+ # @!visibility private
27
32
  def press_up_button
28
33
  press_button('KEYCODE_DPAD_UP')
29
34
  end
30
35
 
36
+ # @!visibility private
31
37
  def press_left_button
32
38
  press_button('KEYCODE_DPAD_LEFT')
33
39
  end
34
40
 
41
+ # @!visibility private
35
42
  def press_right_button
36
43
  press_button('KEYCODE_DPAD_RIGHT')
37
44
  end
38
45
 
46
+ # @!visibility private
39
47
  def press_enter_button
40
48
  press_button('KEYCODE_ENTER')
41
49
  end
@@ -2,6 +2,7 @@ module Calabash
2
2
  module Android
3
3
  # @!visibility private
4
4
  module Screenshot
5
+ # @!visibility private
5
6
  SCREENSHOT_JAR_PATH = File.join(File.dirname(__FILE__), 'lib', 'screenshot_taker.jar')
6
7
  end
7
8
  end
@@ -2,6 +2,7 @@ module Calabash
2
2
  module Android
3
3
  # A representation of the Calabash Android test server.
4
4
  class Server < ::Calabash::Server
5
+ # The default Android test server.
5
6
  def self.default
6
7
  Server.new(URI.parse('http://127.0.0.1:33765'))
7
8
  end
@@ -1,5 +1,6 @@
1
1
  module Calabash
2
2
  module Android
3
+ # Android specific text-related actions.
3
4
  module Text
4
5
  # Dismisses the current keyboard. This is equivalent to the user
5
6
  # pressing the back button if the keyboard is showing. If the keyboard is
@@ -2,6 +2,7 @@ module Calabash
2
2
  module CLI
3
3
  # @!visibility private
4
4
  module Build
5
+ # @!visibility private
5
6
  def parse_build_arguments!
6
7
  fail('Should only build test-server for Android') unless @platform.nil? || @platform == :android
7
8
 
@@ -3,6 +3,7 @@ module Calabash
3
3
  module CLI
4
4
  # @!visibility private
5
5
  module Console
6
+ # @!visibility private
6
7
  def parse_console_arguments!
7
8
  application = @arguments.shift
8
9
 
@@ -45,6 +46,7 @@ module Calabash
45
46
  end
46
47
  end
47
48
 
49
+ # @!visibility private
48
50
  def enter_console(application_path)
49
51
  irbrc_path = Environment::IRBRC
50
52
 
@@ -5,6 +5,7 @@ module Calabash
5
5
  module CLI
6
6
  # @!visibility private
7
7
  module Generate
8
+ # @!visibility private
8
9
  def parse_generate_arguments!
9
10
  if File.exist?('features')
10
11
  puts "A features directory already exists. Please remove this to continue."
@@ -70,10 +71,12 @@ module Calabash
70
71
  end
71
72
  end
72
73
 
74
+ # @!visibility private
73
75
  def file(file)
74
76
  File.join(Calabash::Environment::SKELETON_DIR_PATH, file)
75
77
  end
76
78
 
79
+ # @!visibility private
77
80
  def msg(title, &block)
78
81
  puts "\n" + "-"*10 + title + "-"*10
79
82
  block.call
@@ -3,6 +3,7 @@ module Calabash
3
3
  module CLI
4
4
  # @!visibility private
5
5
  module Helpers
6
+ # @!visibility private
6
7
  HELP = {
7
8
  help: 'help',
8
9
  generate: 'generate',
@@ -14,6 +15,7 @@ module Calabash
14
15
  build: 'build <apk>'
15
16
  }
16
17
 
18
+ # @!visibility private
17
19
  def key_for_command(command)
18
20
  HELP.each do |key, value|
19
21
  if value.split(' ').first == command
@@ -24,6 +26,7 @@ module Calabash
24
26
  nil
25
27
  end
26
28
 
29
+ # @!visibility private
27
30
  def print_usage_for(key, output=STDOUT)
28
31
  if key.nil? || HELP[key].nil?
29
32
  output.write <<EOF
@@ -37,6 +40,7 @@ EOF
37
40
  end
38
41
  end
39
42
 
43
+ # @!visibility private
40
44
  def print_usage(output=STDOUT)
41
45
  output.write <<EOF
42
46
  Usage: calabash [options] <command-name> [command specific options]
@@ -101,11 +105,13 @@ EOF
101
105
  EOF
102
106
  end
103
107
 
108
+ # @!visibility private
104
109
  def help
105
110
  file_name = File.join(File.dirname(__FILE__), '..', 'doc', 'calabash_help.txt')
106
111
  system("less \"#{file_name}\"")
107
112
  end
108
113
 
114
+ # @!visibility private
109
115
  def fail(reason, command=nil)
110
116
  STDERR.write("#{reason}\n")
111
117
 
@@ -3,6 +3,7 @@ module Calabash
3
3
  module CLI
4
4
  # @!visibility private
5
5
  module Resign
6
+ # @!visibility private
6
7
  def parse_resign_arguments!
7
8
  fail('Can only resign Android applications') unless @platform.nil? || @platform == :android
8
9
 
@@ -3,6 +3,7 @@ module Calabash
3
3
  module CLI
4
4
  # @!visibility private
5
5
  module Run
6
+ # @!visibility private
6
7
  def parse_run_arguments!
7
8
  first_argument = @arguments.first # Do not remove the entry from the arguments yet - it might be a cucumber arg
8
9
 
@@ -54,6 +55,7 @@ module Calabash
54
55
  end
55
56
  end
56
57
 
58
+ # @!visibility private
57
59
  def run(application_path, cucumber_arguments)
58
60
  cucumber_environment = {}
59
61
  cucumber_environment['CAL_DEBUG'] = Environment::DEBUG ? '1' : '0'
@@ -6,6 +6,7 @@ module Calabash
6
6
  module CLI
7
7
  # @!visibility private
8
8
  module SetupKeystore
9
+ # @!visibility private
9
10
  def parse_setup_keystore_arguments!
10
11
  set_platform!(:android)
11
12
 
@@ -25,6 +26,7 @@ module Calabash
25
26
  puts "Saved your settings to '#{Android::Build::JavaKeystore::CALABASH_KEYSTORE_SETTINGS_FILENAME}'. You can edit the settings manually or run this setup script again"
26
27
  end
27
28
 
29
+ # @!visibility private
28
30
  def prompt(message, secure = false)
29
31
  puts message
30
32
 
@@ -1,30 +1,37 @@
1
1
  module Calabash
2
2
  # @!visibility private
3
3
  module Color
4
+ # @!visibility private
4
5
  def self.colorize(string, color)
5
6
  "\e[#{color}m#{string}\e[0m"
6
7
  end
7
8
 
9
+ # @!visibility private
8
10
  def self.red(string)
9
11
  colorize(string, 31)
10
12
  end
11
13
 
14
+ # @!visibility private
12
15
  def self.green(string)
13
16
  colorize(string, 32)
14
17
  end
15
18
 
19
+ # @!visibility private
16
20
  def self.yellow(string)
17
21
  colorize(string, 33)
18
22
  end
19
23
 
24
+ # @!visibility private
20
25
  def self.blue(string)
21
26
  colorize(string, 34)
22
27
  end
23
28
 
29
+ # @!visibility private
24
30
  def self.magenta(string)
25
31
  colorize(string, 35)
26
32
  end
27
33
 
34
+ # @!visibility private
28
35
  def self.cyan(string)
29
36
  colorize(string, 36)
30
37
  end
@@ -1,4 +1,5 @@
1
1
  module Calabash
2
+ # Runtime defaults.
2
3
  module Defaults
3
4
  # Get the default device. The device represents a physical device,
4
5
  # an emulator, or a simulator. Calabash will communicate with this
@@ -1,4 +1,6 @@
1
1
  module Calabash
2
+ # A model of the device under test. Can be a physical Android or iOS device,
3
+ # an Android emulator, or an iOS simulator.
2
4
  class Device
3
5
  include Utility
4
6
 
@@ -11,6 +11,7 @@ module Calabash
11
11
  ENV[name]
12
12
  end
13
13
 
14
+ # @!visibility private
14
15
  # Utility method to set the value of an environment variable.
15
16
  #
16
17
  # @param [String] name of the environment variable
@@ -57,10 +57,12 @@ module Calabash
57
57
  @on_error = {}
58
58
  end
59
59
 
60
+ # @!visibility private
60
61
  def on_error(type, &block)
61
62
  @on_error[type] = block
62
63
  end
63
64
 
65
+ # @!visibility private
64
66
  def change_server(new_server)
65
67
  @server = new_server
66
68
  end
@@ -1,4 +1,5 @@
1
1
  module Calabash
2
+ # Query, flash, backdoor, etc.
2
3
  module Interactions
3
4
  # Queries the view hierarchy to find all views matching `query`.
4
5
  # Optionally query takes a variable number of “invocation” arguments