aruba 0.14.14 → 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 (299) 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 -181
  8. data/.rubocop_todo.yml +262 -0
  9. data/.simplecov +7 -5
  10. data/.travis.yml +53 -28
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +301 -2
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -114
  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 +35 -13
  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 +1 -1
  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 -7
  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/getting-started-app/Gemfile +1 -1
  40. data/lib/aruba/api/commands.rb +85 -143
  41. data/lib/aruba/api/core.rb +48 -41
  42. data/lib/aruba/api/environment.rb +16 -7
  43. data/lib/aruba/api/filesystem.rb +43 -30
  44. data/lib/aruba/api/text.rb +3 -9
  45. data/lib/aruba/api.rb +6 -11
  46. data/lib/aruba/aruba_path.rb +27 -89
  47. data/lib/aruba/basic_configuration.rb +4 -24
  48. data/lib/aruba/cli.rb +1 -1
  49. data/lib/aruba/command.rb +2 -0
  50. data/lib/aruba/config/jruby.rb +1 -1
  51. data/lib/aruba/config_wrapper.rb +1 -1
  52. data/lib/aruba/configuration.rb +92 -0
  53. data/lib/aruba/console/help.rb +1 -7
  54. data/lib/aruba/console.rb +5 -5
  55. data/lib/aruba/contracts/absolute_path.rb +2 -2
  56. data/lib/aruba/contracts/relative_path.rb +2 -2
  57. data/lib/aruba/cucumber/command.rb +133 -92
  58. data/lib/aruba/cucumber/environment.rb +1 -1
  59. data/lib/aruba/cucumber/file.rb +21 -23
  60. data/lib/aruba/cucumber/hooks.rb +18 -13
  61. data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
  62. data/lib/aruba/cucumber.rb +0 -6
  63. data/lib/aruba/event_bus/name_resolver.rb +5 -16
  64. data/lib/aruba/hooks.rb +1 -1
  65. data/lib/aruba/in_config_wrapper.rb +5 -1
  66. data/lib/aruba/initializer.rb +36 -42
  67. data/lib/aruba/matchers/base/base_matcher.rb +2 -2
  68. data/lib/aruba/matchers/base/message_indenter.rb +19 -0
  69. data/lib/aruba/matchers/base/object_formatter.rb +2 -9
  70. data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
  71. data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
  72. data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
  73. data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
  74. data/lib/aruba/matchers/command/have_output.rb +10 -5
  75. data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
  76. data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
  77. data/lib/aruba/matchers/command/have_output_size.rb +2 -2
  78. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
  79. data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
  80. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
  81. data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
  82. data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
  83. data/lib/aruba/matchers/file/have_file_content.rb +4 -4
  84. data/lib/aruba/matchers/file/have_file_size.rb +6 -8
  85. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
  86. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
  87. data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
  88. data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
  89. data/lib/aruba/matchers/path/have_permissions.rb +6 -8
  90. data/lib/aruba/matchers/string/include_output_string.rb +8 -10
  91. data/lib/aruba/matchers/string/match_output_string.rb +9 -11
  92. data/lib/aruba/matchers/string/output_string_eq.rb +8 -10
  93. data/lib/aruba/platform.rb +0 -8
  94. data/lib/aruba/platforms/announcer.rb +30 -72
  95. data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
  96. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
  97. data/lib/aruba/platforms/aruba_logger.rb +23 -7
  98. data/lib/aruba/platforms/command_monitor.rb +11 -103
  99. data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
  100. data/lib/aruba/platforms/filesystem_status.rb +10 -14
  101. data/lib/aruba/platforms/local_environment.rb +2 -2
  102. data/lib/aruba/platforms/simple_table.rb +3 -11
  103. data/lib/aruba/platforms/unix_command_string.rb +7 -11
  104. data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
  105. data/lib/aruba/platforms/unix_platform.rb +16 -50
  106. data/lib/aruba/platforms/unix_which.rb +2 -1
  107. data/lib/aruba/platforms/windows_command_string.rb +15 -10
  108. data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
  109. data/lib/aruba/platforms/windows_platform.rb +4 -0
  110. data/lib/aruba/platforms/windows_which.rb +4 -3
  111. data/lib/aruba/processes/basic_process.rb +18 -20
  112. data/lib/aruba/processes/debug_process.rb +12 -3
  113. data/lib/aruba/processes/in_process.rb +17 -8
  114. data/lib/aruba/processes/spawn_process.rb +36 -39
  115. data/lib/aruba/rspec.rb +14 -36
  116. data/lib/aruba/runtime.rb +3 -6
  117. data/lib/aruba/setup.rb +1 -1
  118. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  119. data/lib/aruba/version.rb +1 -1
  120. metadata +190 -242
  121. data/features/.nav +0 -72
  122. data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
  123. data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
  124. data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
  125. data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
  126. data/features/02_configure_aruba/basics.feature +0 -151
  127. data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
  128. data/features/02_configure_aruba/console_history_file.feature +0 -38
  129. data/features/02_configure_aruba/exit_timeout.feature +0 -60
  130. data/features/02_configure_aruba/fixtures_directories.feature +0 -38
  131. data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
  132. data/features/02_configure_aruba/home_directory.feature +0 -80
  133. data/features/02_configure_aruba/io_timeout.feature +0 -30
  134. data/features/02_configure_aruba/keep_ansi.feature +0 -30
  135. data/features/02_configure_aruba/log_level.feature +0 -38
  136. data/features/02_configure_aruba/physical_block_size.feature +0 -53
  137. data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
  138. data/features/02_configure_aruba/root_directory.feature +0 -30
  139. data/features/02_configure_aruba/startup_wait_time.feature +0 -48
  140. data/features/02_configure_aruba/working_directory.feature +0 -38
  141. data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -306
  142. data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
  143. data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
  144. data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
  145. data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
  146. data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
  147. data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -118
  148. data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
  149. data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
  150. data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
  151. data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
  152. data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
  153. data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
  154. data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
  155. data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
  156. data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
  157. data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
  158. data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
  159. data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
  160. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
  161. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
  162. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
  163. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
  164. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
  165. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
  166. data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
  167. data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
  168. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
  169. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
  170. data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
  171. data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
  172. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
  173. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
  174. data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
  175. data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
  176. data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
  177. data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
  178. data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
  179. data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
  180. data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
  181. data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
  182. data/features/04_aruba_api/command/run_command.feature +0 -423
  183. data/features/04_aruba_api/command/run_simple.feature +0 -254
  184. data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
  185. data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
  186. data/features/04_aruba_api/command/stop_single_command.feature +0 -132
  187. data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
  188. data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
  189. data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
  190. data/features/04_aruba_api/core/expand_path.feature +0 -88
  191. data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
  192. data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
  193. data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
  194. data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
  195. data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
  196. data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
  197. data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
  198. data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
  199. data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
  200. data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
  201. data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
  202. data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
  203. data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
  204. data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
  205. data/features/04_aruba_api/text/extract_text.feature +0 -87
  206. data/features/04_aruba_api/text/replace_variables.feature +0 -45
  207. data/features/04_aruba_api/text/sanitize_text.feature +0 -228
  208. data/features/04_aruba_api/text/unescape_text.feature +0 -127
  209. data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
  210. data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
  211. data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
  212. data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
  213. data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
  214. data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
  215. data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
  216. data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
  217. data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
  218. data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
  219. data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
  220. data/features/06_use_aruba_cli/open_console.feature +0 -55
  221. data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
  222. data/features/step_definitions/hooks.rb +0 -146
  223. data/features/support/aruba.rb +0 -7
  224. data/features/support/env.rb +0 -33
  225. data/features/support/simplecov_setup.rb +0 -11
  226. data/fixtures/spawn_process/stderr.sh +0 -3
  227. data/lib/aruba/api/deprecated.rb +0 -1155
  228. data/lib/aruba/config.rb +0 -107
  229. data/lib/aruba/cucumber/core.rb +0 -5
  230. data/lib/aruba/cucumber/deprecated.rb +0 -93
  231. data/lib/aruba/cucumber/rvm.rb +0 -3
  232. data/lib/aruba/in_process.rb +0 -16
  233. data/lib/aruba/jruby.rb +0 -4
  234. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  235. data/lib/aruba/matchers/deprecated.rb +0 -1
  236. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  237. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  238. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  239. data/lib/aruba/reporting.rb +0 -126
  240. data/lib/aruba/spawn_process.rb +0 -14
  241. data/script/bootstrap +0 -24
  242. data/script/console +0 -16
  243. data/script/test +0 -3
  244. data/spec/aruba/api/bundler_spec.rb +0 -15
  245. data/spec/aruba/api/commands_spec.rb +0 -30
  246. data/spec/aruba/api/core_spec.rb +0 -184
  247. data/spec/aruba/api/deprecated_spec.rb +0 -421
  248. data/spec/aruba/api/filesystem_spec.rb +0 -746
  249. data/spec/aruba/api/runtime_spec.rb +0 -28
  250. data/spec/aruba/api_spec.rb +0 -73
  251. data/spec/aruba/aruba_path_spec.rb +0 -103
  252. data/spec/aruba/basic_configuration_spec.rb +0 -5
  253. data/spec/aruba/configuration_spec.rb +0 -5
  254. data/spec/aruba/hooks_spec.rb +0 -17
  255. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  256. data/spec/aruba/jruby_spec.rb +0 -73
  257. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  258. data/spec/aruba/matchers/command_spec.rb +0 -174
  259. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  260. data/spec/aruba/matchers/directory_spec.rb +0 -57
  261. data/spec/aruba/matchers/file_spec.rb +0 -208
  262. data/spec/aruba/matchers/path_spec.rb +0 -58
  263. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  264. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  265. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  266. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  267. data/spec/aruba/processes/spawn_process_spec.rb +0 -112
  268. data/spec/aruba/rspec_spec.rb +0 -15
  269. data/spec/aruba/runtime_spec.rb +0 -29
  270. data/spec/event_bus/name_resolver_spec.rb +0 -68
  271. data/spec/event_bus_spec.rb +0 -158
  272. data/spec/spec_helper.rb +0 -22
  273. data/spec/support/configs/.keep +0 -0
  274. data/spec/support/configs/aruba.rb +0 -5
  275. data/spec/support/configs/pry.rb +0 -3
  276. data/spec/support/configs/rspec.rb +0 -15
  277. data/spec/support/helpers/.keep +0 -0
  278. data/spec/support/helpers/reporting.rb +0 -44
  279. data/spec/support/matchers/.keep +0 -0
  280. data/spec/support/matchers/option.rb +0 -35
  281. data/spec/support/shared_contexts/.keep +0 -0
  282. data/spec/support/shared_contexts/aruba.rb +0 -49
  283. data/spec/support/shared_examples/.keep +0 -0
  284. data/spec/support/shared_examples/configuration.rb +0 -116
  285. data/spec/support/shared_examples/directory.rb +0 -7
  286. data/spec/support/shared_examples/file.rb +0 -7
  287. data/templates/css/console.css +0 -24
  288. data/templates/css/filesystem.css +0 -42
  289. data/templates/css/pygments-autumn.css +0 -59
  290. data/templates/files.erb +0 -14
  291. data/templates/images/LICENSE +0 -22
  292. data/templates/images/folder.png +0 -0
  293. data/templates/images/page_white.png +0 -0
  294. data/templates/images/page_white_gherkin.png +0 -0
  295. data/templates/images/page_white_ruby.png +0 -0
  296. data/templates/index.erb +0 -20
  297. data/templates/js/filesystem.js +0 -5
  298. data/templates/js/jquery-1.11.3.min.js +0 -5
  299. data/templates/main.erb +0 -34
@@ -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
- # it { expect(last_command_started).to have_output an_output_string_being_eq string) }
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