aruba 0.14.9 → 1.0.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.
Files changed (309) hide show
  1. checksums.yaml +4 -4
  2. data/.cucumberproignore +3 -0
  3. data/.github/ISSUE_TEMPLATE.md +48 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +41 -0
  5. data/.gitignore +1 -0
  6. data/.rspec +1 -1
  7. data/.rubocop.yml +20 -179
  8. data/.rubocop_todo.yml +262 -0
  9. data/.simplecov +7 -5
  10. data/.travis.yml +54 -46
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +613 -246
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -96
  16. data/LICENSE +1 -1
  17. data/README.md +57 -180
  18. data/Rakefile +63 -32
  19. data/appveyor.yml +8 -11
  20. data/aruba.gemspec +47 -41
  21. data/bin/console +7 -0
  22. data/bin/test +9 -0
  23. data/cucumber.yml +4 -24
  24. data/doc/dependency_decisions.yml +42 -2
  25. data/docker-compose.yml +26 -0
  26. data/{bin → exe}/aruba +1 -1
  27. data/fixtures/cli-app/Rakefile +1 -1
  28. data/fixtures/cli-app/bin/aruba-test-cli +6 -0
  29. data/fixtures/cli-app/cli-app.gemspec +1 -2
  30. data/fixtures/cli-app/features/support/aruba.rb +1 -0
  31. data/fixtures/cli-app/features/support/env.rb +1 -1
  32. data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +3 -3
  33. data/fixtures/cli-app/lib/cli/app/version.rb +1 -1
  34. data/fixtures/cli-app/lib/cli/app.rb +1 -5
  35. data/fixtures/cli-app/spec/spec_helper.rb +4 -6
  36. data/fixtures/empty-app/Rakefile +1 -1
  37. data/fixtures/empty-app/cli-app.gemspec +1 -2
  38. data/fixtures/empty-app/lib/cli/app/version.rb +1 -1
  39. data/fixtures/empty-app/lib/cli/app.rb +0 -6
  40. data/fixtures/getting-started-app/Gemfile +1 -1
  41. data/lib/aruba/api/commands.rb +109 -143
  42. data/lib/aruba/api/core.rb +57 -43
  43. data/lib/aruba/api/environment.rb +16 -7
  44. data/lib/aruba/api/filesystem.rb +42 -29
  45. data/lib/aruba/api/text.rb +3 -9
  46. data/lib/aruba/api.rb +6 -11
  47. data/lib/aruba/aruba_path.rb +27 -89
  48. data/lib/aruba/basic_configuration.rb +4 -24
  49. data/lib/aruba/cli.rb +1 -1
  50. data/lib/aruba/colorizer.rb +10 -99
  51. data/lib/aruba/command.rb +2 -0
  52. data/lib/aruba/config/jruby.rb +15 -5
  53. data/lib/aruba/config_wrapper.rb +1 -1
  54. data/lib/aruba/configuration.rb +92 -0
  55. data/lib/aruba/console/help.rb +1 -7
  56. data/lib/aruba/console.rb +5 -5
  57. data/lib/aruba/contracts/absolute_path.rb +2 -2
  58. data/lib/aruba/contracts/relative_path.rb +2 -2
  59. data/lib/aruba/cucumber/command.rb +171 -160
  60. data/lib/aruba/cucumber/environment.rb +1 -1
  61. data/lib/aruba/cucumber/file.rb +21 -35
  62. data/lib/aruba/cucumber/hooks.rb +17 -56
  63. data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
  64. data/lib/aruba/cucumber.rb +0 -5
  65. data/lib/aruba/event_bus/name_resolver.rb +5 -16
  66. data/lib/aruba/hooks.rb +1 -1
  67. data/lib/aruba/in_config_wrapper.rb +5 -1
  68. data/lib/aruba/initializer.rb +36 -42
  69. data/lib/aruba/matchers/base/base_matcher.rb +2 -2
  70. data/lib/aruba/matchers/base/message_indenter.rb +19 -0
  71. data/lib/aruba/matchers/base/object_formatter.rb +2 -9
  72. data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
  73. data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
  74. data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
  75. data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
  76. data/lib/aruba/matchers/command/have_output.rb +10 -5
  77. data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
  78. data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
  79. data/lib/aruba/matchers/command/have_output_size.rb +2 -2
  80. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
  81. data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
  82. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
  83. data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
  84. data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
  85. data/lib/aruba/matchers/file/have_file_content.rb +4 -4
  86. data/lib/aruba/matchers/file/have_file_size.rb +6 -8
  87. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
  88. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
  89. data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
  90. data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
  91. data/lib/aruba/matchers/path/have_permissions.rb +6 -8
  92. data/lib/aruba/matchers/string/include_output_string.rb +8 -10
  93. data/lib/aruba/matchers/string/match_output_string.rb +9 -11
  94. data/lib/aruba/matchers/string/output_string_eq.rb +7 -9
  95. data/lib/aruba/platform.rb +0 -8
  96. data/lib/aruba/platforms/announcer.rb +42 -79
  97. data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
  98. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
  99. data/lib/aruba/platforms/aruba_logger.rb +23 -7
  100. data/lib/aruba/platforms/command_monitor.rb +12 -107
  101. data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
  102. data/lib/aruba/platforms/filesystem_status.rb +10 -14
  103. data/lib/aruba/platforms/local_environment.rb +2 -2
  104. data/lib/aruba/platforms/simple_table.rb +3 -11
  105. data/lib/aruba/platforms/unix_command_string.rb +7 -11
  106. data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
  107. data/lib/aruba/platforms/unix_platform.rb +20 -51
  108. data/lib/aruba/platforms/unix_which.rb +2 -1
  109. data/lib/aruba/platforms/windows_command_string.rb +15 -10
  110. data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
  111. data/lib/aruba/platforms/windows_platform.rb +4 -0
  112. data/lib/aruba/platforms/windows_which.rb +4 -3
  113. data/lib/aruba/processes/basic_process.rb +28 -30
  114. data/lib/aruba/processes/debug_process.rb +12 -3
  115. data/lib/aruba/processes/in_process.rb +17 -8
  116. data/lib/aruba/processes/spawn_process.rb +57 -46
  117. data/lib/aruba/rspec.rb +14 -36
  118. data/lib/aruba/runtime.rb +3 -6
  119. data/lib/aruba/setup.rb +6 -6
  120. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  121. data/lib/aruba/version.rb +1 -1
  122. metadata +191 -244
  123. data/features/.nav +0 -72
  124. data/features/api/command/find_command.feature +0 -83
  125. data/features/api/command/last_command_started.feature +0 -50
  126. data/features/api/command/last_command_stopped.feature +0 -89
  127. data/features/api/command/run.feature +0 -414
  128. data/features/api/command/run_simple.feature +0 -242
  129. data/features/api/command/send_signal.feature +0 -53
  130. data/features/api/command/stderr.feature +0 -46
  131. data/features/api/command/stdout.feature +0 -46
  132. data/features/api/command/stop.feature +0 -131
  133. data/features/api/command/stop_all_commands.feature +0 -53
  134. data/features/api/command/terminate_all_commands.feature +0 -53
  135. data/features/api/command/which.feature +0 -37
  136. data/features/api/core/expand_path.feature +0 -88
  137. data/features/api/environment/append_environment_variable.feature +0 -128
  138. data/features/api/environment/delete_environment_variable.feature +0 -63
  139. data/features/api/environment/prepend_environment_variable.feature +0 -128
  140. data/features/api/environment/set_environment_variable.feature +0 -376
  141. data/features/api/filesystem/cd.feature +0 -184
  142. data/features/api/filesystem/create_directory.feature +0 -57
  143. data/features/api/filesystem/disk_usage.feature +0 -152
  144. data/features/api/filesystem/does_exist.feature +0 -62
  145. data/features/api/filesystem/fixtures.feature +0 -104
  146. data/features/api/filesystem/is_absolute.feature +0 -48
  147. data/features/api/filesystem/is_directory.feature +0 -53
  148. data/features/api/filesystem/is_file.feature +0 -54
  149. data/features/api/filesystem/is_relative.feature +0 -48
  150. data/features/api/filesystem/move.feature +0 -119
  151. data/features/api/text/extract_text.feature +0 -87
  152. data/features/api/text/replace_variables.feature +0 -45
  153. data/features/api/text/sanitize_text.feature +0 -228
  154. data/features/api/text/unescape_text.feature +0 -127
  155. data/features/cli/console.feature +0 -52
  156. data/features/cli/init.feature +0 -79
  157. data/features/configuration/activate_announcer_on_command_failure.feature +0 -38
  158. data/features/configuration/command_runtime_environment.feature +0 -129
  159. data/features/configuration/console_history_file.feature +0 -38
  160. data/features/configuration/exit_timeout.feature +0 -52
  161. data/features/configuration/fixtures_directories.feature +0 -38
  162. data/features/configuration/fixtures_path_prefix.feature +0 -23
  163. data/features/configuration/home_directory.feature +0 -80
  164. data/features/configuration/io_timeout.feature +0 -30
  165. data/features/configuration/keep_ansi.feature +0 -30
  166. data/features/configuration/log_level.feature +0 -38
  167. data/features/configuration/physical_block_size.feature +0 -53
  168. data/features/configuration/remove_ansi_escape_sequences.feature +0 -38
  169. data/features/configuration/root_directory.feature +0 -30
  170. data/features/configuration/startup_wait_time.feature +0 -48
  171. data/features/configuration/usage.feature +0 -159
  172. data/features/configuration/working_directory.feature +0 -33
  173. data/features/development/build.feature +0 -15
  174. data/features/getting_started/cleanup.feature +0 -58
  175. data/features/getting_started/run_commands.feature +0 -187
  176. data/features/getting_started/supported_testing_frameworks.feature +0 -104
  177. data/features/getting_started/writing_good_feature_tests.feature +0 -38
  178. data/features/hooks/after/command.feature +0 -46
  179. data/features/hooks/before/command.feature +0 -75
  180. data/features/matchers/collection/include_an_object.feature +0 -72
  181. data/features/matchers/directory/have_sub_directory.feature +0 -110
  182. data/features/matchers/file/be_a_command_found_in_path.feature +0 -115
  183. data/features/matchers/file/be_existing_executable.feature +0 -88
  184. data/features/matchers/file/be_existing_file.feature +0 -82
  185. data/features/matchers/file/have_file_content.feature +0 -123
  186. data/features/matchers/file/have_file_size.feature +0 -107
  187. data/features/matchers/path/be_an_absolute_path.feature +0 -74
  188. data/features/matchers/path/be_an_existing_path.feature +0 -97
  189. data/features/matchers/path/have_permissions.feature +0 -118
  190. data/features/matchers/timeouts.feature +0 -48
  191. data/features/platforms/jruby.feature +0 -14
  192. data/features/rspec/integration.feature +0 -179
  193. data/features/step_definitions/aruba_dev_steps.rb +0 -56
  194. data/features/step_definitions/hooks.rb +0 -156
  195. data/features/steps/command/debug.feature +0 -92
  196. data/features/steps/command/exit_statuses.feature +0 -136
  197. data/features/steps/command/in_process.feature +0 -485
  198. data/features/steps/command/interactive.feature +0 -90
  199. data/features/steps/command/output.feature +0 -567
  200. data/features/steps/command/run.feature +0 -66
  201. data/features/steps/command/send_signal.feature +0 -104
  202. data/features/steps/command/shell.feature +0 -155
  203. data/features/steps/command/stderr.feature +0 -68
  204. data/features/steps/command/stdout.feature +0 -109
  205. data/features/steps/command/stop.feature +0 -313
  206. data/features/steps/core/announce.feature +0 -283
  207. data/features/steps/environment/append_environment_variable.feature +0 -52
  208. data/features/steps/environment/disable_bunder.feature +0 -18
  209. data/features/steps/environment/home_variable.feature +0 -62
  210. data/features/steps/environment/prepend_environment_variable.feature +0 -52
  211. data/features/steps/environment/set_environment_variable.feature +0 -49
  212. data/features/steps/filesystem/append_to_file.feature +0 -45
  213. data/features/steps/filesystem/cd_to_directory.feature +0 -33
  214. data/features/steps/filesystem/check_file_content.feature +0 -61
  215. data/features/steps/filesystem/check_permissions_of_file.feature +0 -39
  216. data/features/steps/filesystem/compare_files.feature +0 -42
  217. data/features/steps/filesystem/copy.feature +0 -45
  218. data/features/steps/filesystem/create_directory.feature +0 -57
  219. data/features/steps/filesystem/create_file.feature +0 -76
  220. data/features/steps/filesystem/existence_of_directory.feature +0 -57
  221. data/features/steps/filesystem/existence_of_file.feature +0 -43
  222. data/features/steps/filesystem/file_content.feature +0 -86
  223. data/features/steps/filesystem/fixtures.feature +0 -64
  224. data/features/steps/filesystem/move.feature +0 -45
  225. data/features/steps/filesystem/non_existence_of_directory.feature +0 -69
  226. data/features/steps/filesystem/non_existence_of_file.feature +0 -80
  227. data/features/steps/filesystem/overwrite_file.feature +0 -72
  228. data/features/steps/filesystem/remove_directory.feature +0 -38
  229. data/features/steps/filesystem/remove_file.feature +0 -38
  230. data/features/steps/filesystem/use_fixture.feature +0 -77
  231. data/features/steps/overview.feature +0 -25
  232. data/features/support/aruba.rb +0 -7
  233. data/features/support/env.rb +0 -33
  234. data/features/support/jruby.rb +0 -5
  235. data/features/support/simplecov_setup.rb +0 -8
  236. data/fixtures/cli-app/bin/cli +0 -6
  237. data/fixtures/spawn_process/stderr.sh +0 -3
  238. data/lib/aruba/api/deprecated.rb +0 -1234
  239. data/lib/aruba/config.rb +0 -107
  240. data/lib/aruba/cucumber/core.rb +0 -5
  241. data/lib/aruba/cucumber/rvm.rb +0 -3
  242. data/lib/aruba/in_process.rb +0 -14
  243. data/lib/aruba/jruby.rb +0 -4
  244. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  245. data/lib/aruba/matchers/deprecated.rb +0 -1
  246. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  247. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  248. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  249. data/lib/aruba/reporting.rb +0 -126
  250. data/lib/aruba/spawn_process.rb +0 -11
  251. data/script/bootstrap +0 -28
  252. data/script/console +0 -16
  253. data/script/test +0 -3
  254. data/spec/aruba/api/bundler_spec.rb +0 -15
  255. data/spec/aruba/api/deprecated_spec.rb +0 -308
  256. data/spec/aruba/api/environment/restore_env_spec.rb +0 -86
  257. data/spec/aruba/api/environment/set_env_spec.rb +0 -46
  258. data/spec/aruba/api/filesystem/file_size_spec.rb +0 -28
  259. data/spec/aruba/api/runtime_spec.rb +0 -28
  260. data/spec/aruba/api_spec.rb +0 -981
  261. data/spec/aruba/aruba_path_spec.rb +0 -103
  262. data/spec/aruba/basic_configuration_spec.rb +0 -5
  263. data/spec/aruba/configuration_spec.rb +0 -5
  264. data/spec/aruba/hooks_spec.rb +0 -17
  265. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  266. data/spec/aruba/jruby_spec.rb +0 -55
  267. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  268. data/spec/aruba/matchers/command_spec.rb +0 -174
  269. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  270. data/spec/aruba/matchers/directory_spec.rb +0 -57
  271. data/spec/aruba/matchers/file_spec.rb +0 -208
  272. data/spec/aruba/matchers/path_spec.rb +0 -58
  273. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  274. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  275. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  276. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  277. data/spec/aruba/rspec_spec.rb +0 -15
  278. data/spec/aruba/runtime_spec.rb +0 -29
  279. data/spec/aruba/spawn_process_spec.rb +0 -96
  280. data/spec/event_bus/name_resolver_spec.rb +0 -68
  281. data/spec/event_bus_spec.rb +0 -158
  282. data/spec/spec_helper.rb +0 -20
  283. data/spec/support/configs/.keep +0 -0
  284. data/spec/support/configs/aruba.rb +0 -5
  285. data/spec/support/configs/pry.rb +0 -3
  286. data/spec/support/configs/rspec.rb +0 -15
  287. data/spec/support/helpers/.keep +0 -0
  288. data/spec/support/helpers/reporting.rb +0 -44
  289. data/spec/support/matchers/.keep +0 -0
  290. data/spec/support/matchers/option.rb +0 -35
  291. data/spec/support/shared_contexts/.keep +0 -0
  292. data/spec/support/shared_contexts/aruba.rb +0 -49
  293. data/spec/support/shared_examples/.keep +0 -0
  294. data/spec/support/shared_examples/configuration.rb +0 -116
  295. data/spec/support/shared_examples/directory.rb +0 -7
  296. data/spec/support/shared_examples/file.rb +0 -7
  297. data/templates/css/console.css +0 -24
  298. data/templates/css/filesystem.css +0 -42
  299. data/templates/css/pygments-autumn.css +0 -59
  300. data/templates/files.erb +0 -14
  301. data/templates/images/LICENSE +0 -22
  302. data/templates/images/folder.png +0 -0
  303. data/templates/images/page_white.png +0 -0
  304. data/templates/images/page_white_gherkin.png +0 -0
  305. data/templates/images/page_white_ruby.png +0 -0
  306. data/templates/index.erb +0 -20
  307. data/templates/js/filesystem.js +0 -5
  308. data/templates/js/jquery-1.11.3.min.js +0 -5
  309. data/templates/main.erb +0 -34
@@ -4,7 +4,7 @@
4
4
  # @param [Integer] status
5
5
  # The value of the exit status
6
6
  #
7
- # @return [TrueClass, FalseClass] The result
7
+ # @return [Boolean] The result
8
8
  #
9
9
  # false:
10
10
  # * if command does not have exit status
@@ -23,16 +23,26 @@ RSpec::Matchers.define :have_exit_status do |expected|
23
23
  @old_actual.stop
24
24
  @actual = actual.exit_status
25
25
 
26
- next false unless @old_actual.respond_to? :exit_status
26
+ raise "Expected #{@old_actual} to respond to #exit_status" unless @old_actual.respond_to? :exit_status
27
27
 
28
28
  values_match? expected, @actual
29
29
  end
30
30
 
31
31
  failure_message do |actual|
32
- format(%(expected that command "%s" has exit status of "%s", but has "%s".), @old_actual.commandline, expected.to_s, actual.to_s)
32
+ format(
33
+ %(expected that command "%s" has exit status of "%s", but has "%s".),
34
+ @old_actual.commandline,
35
+ expected.to_s,
36
+ actual.to_s
37
+ )
33
38
  end
34
39
 
35
40
  failure_message_when_negated do |actual|
36
- format(%(expected that command "%s" does not have exit status of "%s", but has "%s".), @old_actual.commandline, expected.to_s, actual.to_s)
41
+ format(
42
+ %(expected that command "%s" does not have exit status of "%s", but has "%s".),
43
+ @old_actual.commandline,
44
+ expected.to_s,
45
+ actual.to_s
46
+ )
37
47
  end
38
48
  end
@@ -4,7 +4,7 @@ require 'rspec/expectations/version'
4
4
  # This matchers checks if <command> run too long. Say the timeout is 10
5
5
  # seconds and it takes <command> to finish in 15. This matchers will succeed.
6
6
  #
7
- # @return [TrueClass, FalseClass] The result
7
+ # @return [Boolean] The result
8
8
  #
9
9
  # false:
10
10
  # * if command not to run too long
@@ -24,7 +24,7 @@ RSpec::Matchers.define :have_finished_in_time do
24
24
  @old_actual = actual
25
25
  @actual = @old_actual.commandline
26
26
 
27
- next false unless @old_actual.respond_to? :timed_out?
27
+ raise "Expected #{@old_actual} to respond to #timed_out?" unless @old_actual.respond_to? :timed_out?
28
28
 
29
29
  @old_actual.stop
30
30
 
@@ -32,6 +32,4 @@ RSpec::Matchers.define :have_finished_in_time do
32
32
  end
33
33
  end
34
34
 
35
- if RSpec::Expectations::Version::STRING >= '3.1'
36
- RSpec::Matchers.define_negated_matcher :run_too_long, :have_finished_in_time
37
- end
35
+ RSpec::Matchers.define_negated_matcher :run_too_long, :have_finished_in_time
@@ -1,7 +1,9 @@
1
+ require 'aruba/matchers/base/message_indenter'
2
+
1
3
  # @!method have_output
2
4
  # This matchers checks if <command> has created output
3
5
  #
4
- # @return [TrueClass, FalseClass] The result
6
+ # @return [Boolean] The result
5
7
  #
6
8
  # false:
7
9
  # * if command has not created output
@@ -17,7 +19,7 @@ RSpec::Matchers.define :have_output do |expected|
17
19
  match do |actual|
18
20
  @old_actual = actual
19
21
 
20
- next false unless @old_actual.respond_to? :output
22
+ raise "Expected #{@old_actual} to respond to #output" unless @old_actual.respond_to? :output
21
23
 
22
24
  @old_actual.stop
23
25
 
@@ -29,8 +31,11 @@ RSpec::Matchers.define :have_output do |expected|
29
31
  diffable
30
32
 
31
33
  description { "have output: #{description_of expected}" }
32
- end
33
34
 
34
- if RSpec::Expectations::Version::STRING >= '3.0'
35
- RSpec::Matchers.alias_matcher :a_command_having_output, :have_output
35
+ failure_message do |_actual|
36
+ "expected `#{@old_actual.commandline}` to have output #{description_of expected}\n" \
37
+ "but was:\n#{Aruba::Matchers::Base::MessageIndenter.indent_multiline_message @actual}"
38
+ end
36
39
  end
40
+
41
+ RSpec::Matchers.alias_matcher :a_command_having_output, :have_output
@@ -1,7 +1,7 @@
1
1
  # @!method have_output_on_stderr
2
2
  # This matchers checks if <command> has created output on stderr
3
3
  #
4
- # @return [TrueClass, FalseClass] The result
4
+ # @return [Boolean] The result
5
5
  #
6
6
  # false:
7
7
  # * if command has not created output on stderr
@@ -17,7 +17,7 @@ RSpec::Matchers.define :have_output_on_stderr do |expected|
17
17
  match do |actual|
18
18
  @old_actual = actual
19
19
 
20
- next false unless @old_actual.respond_to? :stderr
20
+ raise "Expected #{@old_actual} to respond to #stderr" unless @old_actual.respond_to? :stderr
21
21
 
22
22
  @old_actual.stop
23
23
 
@@ -1,7 +1,7 @@
1
1
  # @!method have_output_on_stdout
2
2
  # This matchers checks if <command> has created output on stdout
3
3
  #
4
- # @return [TrueClass, FalseClass] The result
4
+ # @return [Boolean] The result
5
5
  #
6
6
  # false:
7
7
  # * if command has not created output on stdout
@@ -17,7 +17,7 @@ RSpec::Matchers.define :have_output_on_stdout do |expected|
17
17
  match do |actual|
18
18
  @old_actual = actual
19
19
 
20
- next false unless @old_actual.respond_to? :stdout
20
+ raise "Expected #{@old_actual} to respond to #stdout" unless @old_actual.respond_to? :stdout
21
21
 
22
22
  @old_actual.stop
23
23
 
@@ -4,7 +4,7 @@
4
4
  # @param [String] output
5
5
  # The content which should be checked
6
6
  #
7
- # @return [TrueClass, FalseClass] The result
7
+ # @return [Boolean] The result
8
8
  #
9
9
  # false:
10
10
  # * if output does not have size
@@ -18,7 +18,7 @@
18
18
  # end
19
19
  RSpec::Matchers.define :have_output_size do |expected|
20
20
  match do |actual|
21
- next false unless actual.respond_to? :size
21
+ raise "Expected #{actual} to respond to #size" unless actual.respond_to? :size
22
22
 
23
23
  @actual = actual.size
24
24
  values_match? expected, @actual
@@ -3,7 +3,7 @@ require 'rspec/expectations/version'
3
3
  # @!method be_an_existing_directory
4
4
  # This matchers checks if <directory> exists in filesystem
5
5
  #
6
- # @return [TrueClass, FalseClass] The result
6
+ # @return [Boolean] The result
7
7
  #
8
8
  # false:
9
9
  # * if directory does not exist
@@ -19,20 +19,18 @@ RSpec::Matchers.define :be_an_existing_directory do |_|
19
19
  match do |actual|
20
20
  stop_all_commands
21
21
 
22
- next false unless actual.is_a? String
22
+ raise 'String expected' unless actual.is_a? String
23
23
 
24
24
  directory?(actual)
25
25
  end
26
26
 
27
27
  failure_message do |actual|
28
- format("expected that directory \"%s\" exists", actual)
28
+ format('expected that directory "%s" exists', actual)
29
29
  end
30
30
 
31
31
  failure_message_when_negated do |actual|
32
- format("expected that directory \"%s\" does not exist", actual)
32
+ format('expected that directory "%s" does not exist', actual)
33
33
  end
34
34
  end
35
35
 
36
- if RSpec::Expectations::Version::STRING >= '3.0'
37
- RSpec::Matchers.alias_matcher :an_existing_directory, :be_an_existing_directory
38
- end
36
+ RSpec::Matchers.alias_matcher :an_existing_directory, :be_an_existing_directory
@@ -6,7 +6,7 @@ require 'rspec/expectations/version'
6
6
  # @param [Array] sub_directory
7
7
  # A list of sub-directory relative to current directory
8
8
  #
9
- # @return [TrueClass, FalseClass] The result
9
+ # @return [Boolean] The result
10
10
  #
11
11
  # false:
12
12
  # * if directory does not have sub-directory
@@ -40,14 +40,12 @@ RSpec::Matchers.define :have_sub_directory do |expected|
40
40
  diffable
41
41
 
42
42
  failure_message do |actual|
43
- format("expected that directory \"%s\" has the following sub-directories: %s.", actual.join(', '), expected)
43
+ format('expected that directory "%s" has the following sub-directories: %s.', actual.join(', '), expected)
44
44
  end
45
45
 
46
46
  failure_message_when_negated do |actual|
47
- format("expected that directory \"%s\" does not have the following sub-directories: %s.", actual.join(', '), expected)
47
+ format('expected that directory "%s" does not have the following sub-directories: %s.', actual.join(', '), expected)
48
48
  end
49
49
  end
50
50
 
51
- if RSpec::Expectations::Version::STRING >= '3.0'
52
- RSpec::Matchers.alias_matcher :a_directory_having_sub_directory, :have_sub_directory
53
- end
51
+ RSpec::Matchers.alias_matcher :a_directory_having_sub_directory, :have_sub_directory
@@ -3,7 +3,7 @@ require 'rspec/expectations/version'
3
3
  # @!method be_a_command_found_in_path
4
4
  # This matchers checks if <command> can be found in path
5
5
  #
6
- # @return [TrueClass, FalseClass] The result
6
+ # @return [Boolean] The result
7
7
  #
8
8
  # false:
9
9
  # * if command was not found in PATH
@@ -31,6 +31,4 @@ RSpec::Matchers.define :be_a_command_found_in_path do
31
31
  end
32
32
  end
33
33
 
34
- if RSpec::Expectations::Version::STRING >= '3.0'
35
- RSpec::Matchers.alias_matcher :a_command_found_in_path, :be_a_command_found_in_path
36
- end
34
+ RSpec::Matchers.alias_matcher :a_command_found_in_path, :be_a_command_found_in_path
@@ -4,7 +4,7 @@ require 'shellwords'
4
4
  # @!method be_an_existing_executable
5
5
  # This matchers checks if <file> exists in filesystem
6
6
  #
7
- # @return [TrueClass, FalseClass] The result
7
+ # @return [Boolean] The result
8
8
  #
9
9
  # false:
10
10
  # * if file does not exist
@@ -24,14 +24,12 @@ RSpec::Matchers.define :be_an_existing_executable do |_|
24
24
  end
25
25
 
26
26
  failure_message do |actual|
27
- format("expected that executable \"%s\" exists", actual)
27
+ format('expected that executable "%s" exists', actual)
28
28
  end
29
29
 
30
30
  failure_message_when_negated do |actual|
31
- format("expected that executable \"%s\" does not exist", actual)
31
+ format('expected that executable "%s" does not exist', actual)
32
32
  end
33
33
  end
34
34
 
35
- if RSpec::Expectations::Version::STRING >= '3.0'
36
- RSpec::Matchers.alias_matcher :an_existing_executable, :be_an_existing_executable
37
- end
35
+ RSpec::Matchers.alias_matcher :an_existing_executable, :be_an_existing_executable
@@ -3,7 +3,7 @@ require 'rspec/expectations/version'
3
3
  # @!method be_an_existing_file
4
4
  # This matchers checks if <file> exists in filesystem
5
5
  #
6
- # @return [TrueClass, FalseClass] The result
6
+ # @return [Boolean] The result
7
7
  #
8
8
  # false:
9
9
  # * if file does not exist
@@ -19,20 +19,18 @@ RSpec::Matchers.define :be_an_existing_file do |_|
19
19
  match do |actual|
20
20
  stop_all_commands
21
21
 
22
- next false unless actual.is_a? String
22
+ raise 'String expected' unless actual.is_a? String
23
23
 
24
24
  file?(actual)
25
25
  end
26
26
 
27
27
  failure_message do |actual|
28
- format("expected that file \"%s\" exists", actual)
28
+ format('expected that file "%s" exists', actual)
29
29
  end
30
30
 
31
31
  failure_message_when_negated do |actual|
32
- format("expected that file \"%s\" does not exist", actual)
32
+ format('expected that file "%s" does not exist', actual)
33
33
  end
34
34
  end
35
35
 
36
- if RSpec::Expectations::Version::STRING >= '3.0'
37
- RSpec::Matchers.alias_matcher :an_existing_file, :be_an_existing_file
38
- end
36
+ RSpec::Matchers.alias_matcher :an_existing_file, :be_an_existing_file
@@ -7,7 +7,7 @@ require 'rspec/expectations/version'
7
7
  # @param [String, Regexp, Matcher] content
8
8
  # Specifies the content of the file
9
9
  #
10
- # @return [TrueClass, FalseClass] The result
10
+ # @return [Boolean] The result
11
11
  #
12
12
  # false:
13
13
  # * if file does not exist
@@ -54,9 +54,9 @@ RSpec::Matchers.define :have_file_content do |expected|
54
54
  values_match?(@expected, @actual)
55
55
  end
56
56
 
57
+ diffable if expected.is_a? String
58
+
57
59
  description { "have file content: #{description_of expected}" }
58
60
  end
59
61
 
60
- if RSpec::Expectations::Version::STRING >= '3.0'
61
- RSpec::Matchers.alias_matcher :a_file_having_content, :have_file_content
62
- end
62
+ RSpec::Matchers.alias_matcher :a_file_having_content, :have_file_content
@@ -6,7 +6,7 @@ require 'rspec/expectations/version'
6
6
  # @param [Fixnum] size
7
7
  # The size to check
8
8
  #
9
- # @return [TrueClass, FalseClass] The result
9
+ # @return [Boolean] The result
10
10
  #
11
11
  # false:
12
12
  # * if path does not have size
@@ -33,15 +33,13 @@ RSpec::Matchers.define :have_file_size do |expected|
33
33
  values_match?(@expected, @actual)
34
34
  end
35
35
 
36
- failure_message do |actual|
37
- format("expected that file \"%s\" has size \"%s\", but has \"%s\"", @old_actual, @actual, @expected)
36
+ failure_message do |_actual|
37
+ format('expected that file "%s" has size "%s", but has "%s"', @old_actual, @actual, @expected)
38
38
  end
39
39
 
40
- failure_message_when_negated do |actual|
41
- format("expected that file \"%s\" does not have size \"%s\", but has \"%s\"", @old_actual, @actual, @expected)
40
+ failure_message_when_negated do |_actual|
41
+ format('expected that file "%s" does not have size "%s", but has "%s"', @old_actual, @actual, @expected)
42
42
  end
43
43
  end
44
44
 
45
- if RSpec::Expectations::Version::STRING >= '3.0'
46
- RSpec::Matchers.alias_matcher :a_file_of_size, :have_file_size
47
- end
45
+ RSpec::Matchers.alias_matcher :a_file_of_size, :have_file_size
@@ -1,5 +1,4 @@
1
1
  require 'rspec/expectations/version'
2
-
3
2
  require 'fileutils'
4
3
 
5
4
  # @!method have_same_file_content_as(file_name)
@@ -9,7 +8,7 @@ require 'fileutils'
9
8
  # The name of the file which should be compared with the file in the
10
9
  # `expect()`-call.
11
10
  #
12
- # @return [TrueClass, FalseClass] The result
11
+ # @return [Boolean] The result
13
12
  #
14
13
  # false:
15
14
  # * if file1 is not equal file2
@@ -31,18 +30,16 @@ RSpec::Matchers.define :have_same_file_content_as do |expected|
31
30
  @actual = expand_path(actual)
32
31
  @expected = expand_path(expected)
33
32
 
34
- FileUtils.compare_file(@actual,@expected)
33
+ FileUtils.compare_file(@actual, @expected)
35
34
  end
36
35
 
37
36
  failure_message do |actual|
38
- format("expected that file \"%s\" is the same as file \"%s\".", actual, expected)
37
+ format('expected that file "%s" is the same as file "%s".', actual, expected)
39
38
  end
40
39
 
41
40
  failure_message_when_negated do |actual|
42
- format("expected that file \"%s\" differs from file \"%s\".", actual, expected)
41
+ format('expected that file "%s" differs from file "%s".', actual, expected)
43
42
  end
44
43
  end
45
44
 
46
- if RSpec::Expectations::Version::STRING >= '3.0'
47
- RSpec::Matchers.alias_matcher :a_file_with_same_content_as, :have_same_file_content_as
48
- end
45
+ RSpec::Matchers.alias_matcher :a_file_with_same_content_as, :have_same_file_content_as
@@ -7,7 +7,7 @@ require 'rspec/expectations/version'
7
7
  # @param [String, Regexp, Matcher] pattern
8
8
  # Specifies the pattern
9
9
  #
10
- # @return [TrueClass, FalseClass] The result
10
+ # @return [Boolean] The result
11
11
  #
12
12
  # false:
13
13
  # * if pattern does not match
@@ -20,6 +20,4 @@ require 'rspec/expectations/version'
20
20
  # RSpec.describe do
21
21
  # it { expect(files).to include a_path_matching_pattern /asdf/ }
22
22
  # end
23
- if RSpec::Expectations::Version::STRING >= '3.0'
24
- RSpec::Matchers.alias_matcher :a_path_matching_pattern, :match
25
- end
23
+ RSpec::Matchers.alias_matcher :a_path_matching_pattern, :match
@@ -3,7 +3,7 @@ require 'rspec/expectations/version'
3
3
  # @!method be_an_absolute_path
4
4
  # This matchers checks if <path> exists in filesystem
5
5
  #
6
- # @return [TrueClass, FalseClass] The result
6
+ # @return [Boolean] The result
7
7
  #
8
8
  # false:
9
9
  # * if path is not absolute
@@ -27,10 +27,8 @@ RSpec::Matchers.define :be_an_absolute_path do |_|
27
27
  end
28
28
 
29
29
  failure_message_when_negated do |actual|
30
- format("expected that path \"%s\" is not absolute, but it is", actual)
30
+ format('expected that path "%s" is not absolute, but it is', actual)
31
31
  end
32
32
  end
33
33
 
34
- if RSpec::Expectations::Version::STRING >= '3.0'
35
- RSpec::Matchers.alias_matcher :an_absolute_path, :be_an_absolute_path
36
- end
34
+ RSpec::Matchers.alias_matcher :an_absolute_path, :be_an_absolute_path
@@ -3,7 +3,7 @@ require 'rspec/expectations/version'
3
3
  # @!method be_an_existing_path
4
4
  # This matchers checks if <path> exists in filesystem
5
5
  #
6
- # @return [TrueClass, FalseClass] The result
6
+ # @return [Boolean] The result
7
7
  #
8
8
  # false:
9
9
  # * if path does not exist
@@ -24,14 +24,12 @@ RSpec::Matchers.define :be_an_existing_path do |_|
24
24
  end
25
25
 
26
26
  failure_message do |actual|
27
- format("expected that path \"%s\" exists", actual)
27
+ format('expected that path "%s" exists', actual)
28
28
  end
29
29
 
30
30
  failure_message_when_negated do |actual|
31
- format("expected that path \"%s\" does not exist", actual)
31
+ format('expected that path "%s" does not exist', actual)
32
32
  end
33
33
  end
34
34
 
35
- if RSpec::Expectations::Version::STRING >= '3.0'
36
- RSpec::Matchers.alias_matcher :an_existing_path, :be_an_existing_path
37
- end
35
+ RSpec::Matchers.alias_matcher :an_existing_path, :be_an_existing_path
@@ -6,7 +6,7 @@ require 'rspec/expectations/version'
6
6
  # @param [Fixnum, String] permissions
7
7
  # The permissions as octal number, e.g. `0700`, or String, e.g. `'0700'`
8
8
  #
9
- # @return [TrueClass, FalseClass] The result
9
+ # @return [Boolean] The result
10
10
  #
11
11
  # false:
12
12
  # * if file has permissions
@@ -50,15 +50,13 @@ RSpec::Matchers.define :have_permissions do |expected|
50
50
  values_match? @expected, @actual
51
51
  end
52
52
 
53
- failure_message do |actual|
54
- format("expected that path \"%s\" has permissions \"%s\", but has \"%s\".", @old_actual, @expected, @actual)
53
+ failure_message do |_actual|
54
+ format('expected that path "%s" has permissions "%s", but has "%s".', @old_actual, @expected, @actual)
55
55
  end
56
56
 
57
- failure_message_when_negated do |actual|
58
- format("expected that path \"%s\" does not have permissions \"%s\", but has \"%s\".", @old_actual, @expected, @actual)
57
+ failure_message_when_negated do |_actual|
58
+ format('expected that path "%s" does not have permissions "%s", but has "%s".', @old_actual, @expected, @actual)
59
59
  end
60
60
  end
61
61
 
62
- if RSpec::Expectations::Version::STRING >= '3.0'
63
- RSpec::Matchers.alias_matcher :a_path_having_permissions, :have_permissions
64
- end
62
+ RSpec::Matchers.alias_matcher :a_path_having_permissions, :have_permissions
@@ -1,24 +1,24 @@
1
1
  # @!method include_output_string(string)
2
2
  # This matchers checks if the output string of a command includes string.
3
3
  #
4
- # @param [Integer] status
5
- # The value of the exit status
4
+ # @param [String] string
5
+ # The value of the output string
6
6
  #
7
- # @return [TrueClass, FalseClass] The result
7
+ # @return [Boolean] The result
8
8
  #
9
- # false:
9
+ # False:
10
10
  # * if the output string does not include string
11
- # true:
11
+ # True:
12
12
  # * if the output string includes string
13
13
  #
14
14
  # @example Use matcher
15
- #
16
15
  # RSpec.describe do
17
16
  # it { expect(last_command_started).to have_output an_output_string_including string) }
18
17
  # it { expect(last_command_started).to have_output include_output_string string) }
19
18
  # end
20
19
  RSpec::Matchers.define :include_output_string do |expected|
21
20
  match do |actual|
21
+ actual.force_encoding('UTF-8')
22
22
  @expected = Regexp.new(Regexp.escape(sanitize_text(expected.to_s)), Regexp::MULTILINE)
23
23
  @actual = sanitize_text(actual)
24
24
 
@@ -30,7 +30,5 @@ RSpec::Matchers.define :include_output_string do |expected|
30
30
  description { "string includes: #{description_of expected}" }
31
31
  end
32
32
 
33
- if RSpec::Expectations::Version::STRING >= '3.0'
34
- RSpec::Matchers.alias_matcher :an_output_string_including, :include_output_string
35
- RSpec::Matchers.alias_matcher :file_content_including, :include_output_string
36
- end
33
+ RSpec::Matchers.alias_matcher :an_output_string_including, :include_output_string
34
+ RSpec::Matchers.alias_matcher :file_content_including, :include_output_string
@@ -1,24 +1,24 @@
1
1
  # @!method match_output_string(string)
2
2
  # This matchers checks if the output string of a command matches regular expression.
3
3
  #
4
- # @param [Integer] status
5
- # The value of the exit status
4
+ # @param [String] string
5
+ # The value of the output string
6
6
  #
7
- # @return [TrueClass, FalseClass] The result
7
+ # @return [Boolean] The result
8
8
  #
9
- # false:
9
+ # False:
10
10
  # * if the output string does not match regex
11
- # true:
11
+ # True:
12
12
  # * if the output string matches regex
13
13
  #
14
14
  # @example Use matcher
15
- #
16
15
  # RSpec.describe do
17
16
  # it { expect(last_command_started).to have_output an_output_string_matching regex) }
18
17
  # it { expect(last_command_started).to have_output match_output_string regex) }
19
18
  # end
20
19
  RSpec::Matchers.define :match_output_string do |expected|
21
20
  match do |actual|
21
+ actual.force_encoding('UTF-8')
22
22
  @expected = Regexp.new(unescape_text(expected), Regexp::MULTILINE)
23
23
  @actual = sanitize_text(actual)
24
24
 
@@ -30,8 +30,6 @@ RSpec::Matchers.define :match_output_string do |expected|
30
30
  description { "output string matches: #{description_of expected}" }
31
31
  end
32
32
 
33
- if RSpec::Expectations::Version::STRING >= '3.0'
34
- RSpec::Matchers.alias_matcher :an_output_string_matching, :match_output_string
35
- RSpec::Matchers.alias_matcher :a_file_name_matching, :match_output_string
36
- RSpec::Matchers.alias_matcher :file_content_matching, :match_output_string
37
- end
33
+ RSpec::Matchers.alias_matcher :an_output_string_matching, :match_output_string
34
+ RSpec::Matchers.alias_matcher :a_file_name_matching, :match_output_string
35
+ RSpec::Matchers.alias_matcher :file_content_matching, :match_output_string
@@ -1,24 +1,24 @@
1
1
  # @!method output_string_eq(string)
2
2
  # This matchers checks if the output string of a command includes string.
3
3
  #
4
- # @param [Integer] status
5
- # The value of the exit status
4
+ # @param [String] string
5
+ # The value of the output string
6
6
  #
7
- # @return [TrueClass, FalseClass] The result
7
+ # @return [Boolean]
8
8
  #
9
- # false:
9
+ # False:
10
10
  # * if the output string does not include string
11
- # true:
11
+ # True:
12
12
  # * if the output string includes string
13
13
  #
14
14
  # @example Use matcher
15
- #
16
15
  # RSpec.describe do
17
16
  # it { expect(last_command_started).to have_output output_string_eq string) }
18
17
  # it { expect(last_command_started).to have_output an_output_string_begin_eq string) }
19
18
  # end
20
19
  RSpec::Matchers.define :output_string_eq do |expected|
21
20
  match do |actual|
21
+ actual.force_encoding('UTF-8')
22
22
  @expected = sanitize_text(expected.to_s)
23
23
  @actual = sanitize_text(actual.to_s)
24
24
 
@@ -30,6 +30,4 @@ RSpec::Matchers.define :output_string_eq do |expected|
30
30
  description { "output string is eq: #{description_of expected}" }
31
31
  end
32
32
 
33
- if RSpec::Expectations::Version::STRING >= '3.0'
34
- RSpec::Matchers.alias_matcher :an_output_string_being_eq, :output_string_eq
35
- end
33
+ RSpec::Matchers.alias_matcher :an_output_string_being_eq, :output_string_eq
@@ -1,20 +1,12 @@
1
- require 'thread'
2
1
  require 'aruba/platforms/unix_platform'
3
2
  require 'aruba/platforms/windows_platform'
4
3
 
5
4
  # Aruba
6
5
  module Aruba
7
6
  PLATFORM_MUTEX = Mutex.new
8
- end
9
7
 
10
- # Aruba
11
- module Aruba
12
- # Platform
13
8
  Platform = [Platforms::WindowsPlatform, Platforms::UnixPlatform].find(&:match?)
14
- end
15
9
 
16
- # Aruba
17
- module Aruba
18
10
  PLATFORM_MUTEX.synchronize do
19
11
  @platform = Platform.new
20
12
  end