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,127 +0,0 @@
1
- Feature: Unescape special characters in text
2
-
3
- If have got some text include \n, \t and the like and need them to become
4
- special characters again, you can use the `#unescape_text`-method for this.
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Output contains \n
10
- Given an executable named "bin/aruba-test-cli" with:
11
- """
12
- #!/bin/bash
13
- echo -n 'text\ntext'
14
- """
15
- And a file named "spec/unescape_text_spec.rb" with:
16
- """
17
- require 'spec_helper'
18
-
19
- RSpec.describe 'Run command', :type => :aruba do
20
- before(:each) { run_command('aruba-test-cli') }
21
- before(:each) { stop_all_commands }
22
-
23
- it { expect(unescape_text(last_command.output)).to eq "text\ntext" }
24
- end
25
- """
26
- When I run `rspec`
27
- Then the specs should all pass
28
-
29
- Scenario: Output contains \e
30
- Given an executable named "bin/aruba-test-cli" with:
31
- """
32
- #!/bin/bash
33
- echo -n 'text\etext'
34
- """
35
- And a file named "spec/unescape_text_spec.rb" with:
36
- """
37
- require 'spec_helper'
38
-
39
- RSpec.describe 'Run command', :type => :aruba do
40
- before(:each) { run_command('aruba-test-cli') }
41
- before(:each) { stop_all_commands }
42
-
43
- it { expect(unescape_text(last_command.output)).to eq "texttext" }
44
- end
45
- """
46
- When I run `rspec`
47
- Then the specs should all pass
48
-
49
- Scenario: Output contains \"
50
- Given an executable named "bin/aruba-test-cli" with:
51
- """
52
- #!/bin/bash
53
- echo -n 'text\"text'
54
- """
55
- And a file named "spec/unescape_text_spec.rb" with:
56
- """
57
- require 'spec_helper'
58
-
59
- RSpec.describe 'Run command', :type => :aruba do
60
- before(:each) { run_command('aruba-test-cli') }
61
- before(:each) { stop_all_commands }
62
-
63
- it { expect(unescape_text(last_command.output)).to eq "text\"text" }
64
- end
65
- """
66
- When I run `rspec`
67
- Then the specs should all pass
68
-
69
- Scenario: Output contains \033
70
- Given an executable named "bin/aruba-test-cli" with:
71
- """
72
- #!/bin/bash
73
- echo -n 'text\033text'
74
- """
75
- And a file named "spec/unescape_text_spec.rb" with:
76
- """
77
- require 'spec_helper'
78
-
79
- RSpec.describe 'Run command', :type => :aruba do
80
- before(:each) { run_command('aruba-test-cli') }
81
- before(:each) { stop_all_commands }
82
-
83
- it { expect(unescape_text(last_command.output)).to eq "texttext" }
84
- end
85
- """
86
- When I run `rspec`
87
- Then the specs should all pass
88
-
89
- Scenario: Output contains \017
90
- Given an executable named "bin/aruba-test-cli" with:
91
- """
92
- #!/bin/bash
93
- echo -n 'text\017text'
94
- """
95
- And a file named "spec/unescape_text_spec.rb" with:
96
- """
97
- require 'spec_helper'
98
-
99
- RSpec.describe 'Run command', :type => :aruba do
100
- before(:each) { run_command('aruba-test-cli') }
101
- before(:each) { stop_all_commands }
102
-
103
- it { expect(unescape_text(last_command.output)).to eq "texttext" }
104
- end
105
- """
106
- When I run `rspec`
107
- Then the specs should all pass
108
-
109
- Scenario: Output contains \016
110
- Given an executable named "bin/aruba-test-cli" with:
111
- """
112
- #!/bin/bash
113
- echo -n 'text\016text'
114
- """
115
- And a file named "spec/unescape_text_spec.rb" with:
116
- """
117
- require 'spec_helper'
118
-
119
- RSpec.describe 'Run command', :type => :aruba do
120
- before(:each) { run_command('aruba-test-cli') }
121
- before(:each) { stop_all_commands }
122
-
123
- it { expect(unescape_text(last_command.output)).to eq "texttext" }
124
- end
125
- """
126
- When I run `rspec`
127
- Then the specs should all pass
@@ -1,48 +0,0 @@
1
- Feature: Check if a timeout occured during command execution
2
-
3
- If you want to check if a command takes to long to finish it's work
4
-
5
- Background:
6
- Given I use a fixture named "cli-app"
7
-
8
- Scenario: Check if command runs to long
9
- Given an executable named "bin/aruba-test-cli" with:
10
- """
11
- #!/bin/bash
12
- sleep 1
13
- """
14
- And a file named "spec/timeout_spec.rb" with:
15
- """
16
- require 'spec_helper'
17
-
18
- RSpec.describe 'Long running command', :type => :aruba do
19
- before(:each) { aruba.config.exit_timeout = 0 }
20
-
21
- before(:each) { run_command('aruba-test-cli') }
22
-
23
- it { expect(last_command_started).to run_too_long }
24
- end
25
- """
26
- When I run `rspec`
27
- Then the specs should all pass
28
-
29
- Scenario: Check if command finishes in time
30
- Given an executable named "bin/aruba-test-cli" with:
31
- """
32
- #!/bin/bash
33
- exit 0
34
- """
35
- And a file named "spec/timeout_spec.rb" with:
36
- """
37
- require 'spec_helper'
38
-
39
- RSpec.describe 'Short running command', :type => :aruba do
40
- before(:each) { aruba.config.exit_timeout = 5 }
41
-
42
- before(:each) { run_command('aruba-test-cli') }
43
-
44
- it { expect(last_command_started).to have_finished_in_time }
45
- end
46
- """
47
- When I run `rspec`
48
- Then the specs should all pass
@@ -1,110 +0,0 @@
1
- Feature: Check if directory has given sub directories
2
-
3
- If you need to check if a given directory has given sub dirctories, you can
4
- use the `have_sub_directory`-matcher.
5
-
6
- ```ruby
7
- require 'spec_helper'
8
-
9
- RSpec.describe 'Check if directory has sub-directory', :type => :aruba do
10
- let(:file) { 'file.txt' }
11
- before(:each) { touch(file) }
12
-
13
- it { expect(file).to be_an_existing_file }
14
- end
15
- ```
16
-
17
- Background:
18
- Given I use a fixture named "cli-app"
19
-
20
- Scenario: Expect existing sub directory
21
- Given a file named "spec/existing_file_spec.rb" with:
22
- """
23
- require 'spec_helper'
24
-
25
- RSpec.describe 'Check if directory has sub-directory', :type => :aruba do
26
- let(:directory) { 'dir.d' }
27
- let(:sub_directory) { 'sub-dir.d' }
28
-
29
- before(:each) { create_directory(File.join(directory, sub_directory)) }
30
-
31
- it { expect(directory).to have_sub_directory sub_directory }
32
- end
33
- """
34
- When I run `rspec`
35
- Then the specs should all pass
36
-
37
- Scenario: Expect multiple existing sub directories
38
- Given a file named "spec/existing_file_spec.rb" with:
39
- """
40
- require 'spec_helper'
41
-
42
- RSpec.describe 'Check if directory has sub-directory', :type => :aruba do
43
- let(:directory) { 'dir.d' }
44
- let(:sub_directories) { %w(sub-dir1.d sub-dir2.d) }
45
-
46
- before(:each) do
47
- sub_directories.each { |d| create_directory(File.join(directory, d)) }
48
- end
49
-
50
- it { expect(directory).to have_sub_directory sub_directories }
51
- end
52
- """
53
- When I run `rspec`
54
- Then the specs should all pass
55
-
56
- Scenario: Expect non-existing sub directory
57
- Given a file named "spec/existing_file_spec.rb" with:
58
- """
59
- require 'spec_helper'
60
-
61
- RSpec.describe 'Check if directory has sub-directory', :type => :aruba do
62
- let(:directory) { 'dir.d' }
63
- let(:sub_directory) { 'sub-dir.d' }
64
-
65
- before(:each) { create_directory(directory) }
66
-
67
- it { expect(directory).not_to have_sub_directory sub_directory }
68
- end
69
- """
70
- When I run `rspec`
71
- Then the specs should all pass
72
-
73
- Scenario: Expect multiple directories have sub directory
74
- Given a file named "spec/existing_file_spec.rb" with:
75
- """
76
- require 'spec_helper'
77
-
78
- RSpec.describe 'Check if directory has sub-directory', :type => :aruba do
79
- let(:directories) { %w(dir1.d dir2.d) }
80
- let(:sub_directory) { 'sub-dir.d' }
81
-
82
- before(:each) do
83
- directories.each { |d| create_directory(File.join(d, sub_directory)) }
84
- end
85
-
86
- it { expect(directories).to all have_sub_directory sub_directory }
87
- end
88
- """
89
- When I run `rspec`
90
- Then the specs should all pass
91
-
92
- Scenario: Expect a least one directory has sub directory
93
- Given a file named "spec/existing_file_spec.rb" with:
94
- """
95
- require 'spec_helper'
96
-
97
- RSpec.describe 'Check if directory has sub-directory', :type => :aruba do
98
- let(:directories) { %w(dir1.d dir2.d) }
99
- let(:sub_directory) { 'sub-dir.d' }
100
-
101
- before(:each) do
102
- create_directory(File.join(directories.first, sub_directory))
103
- end
104
-
105
- it { expect(directories).to include a_directory_having_sub_directory sub_directory }
106
- end
107
- """
108
- When I run `rspec`
109
- Then the specs should all pass
110
-
@@ -1,115 +0,0 @@
1
- Feature: Check if command can be found in PATH
2
-
3
- If you need to check if a given command can be found in path, you can use the
4
- `be_an_existing_executable`-matcher.
5
-
6
- ```ruby
7
- require 'spec_helper'
8
-
9
- RSpec.describe 'Check if command can be found in PATH', :type => :aruba do
10
- let(:file) { 'file.sh' }
11
- before(:each) { touch(file) }
12
- before(:each) { chmod(0755, file) }
13
- before(:each) { prepend_environment_variable('PATH', format('%s:', expand_path('.')) }
14
-
15
- it { expect(file).to be_an_existing_executable }
16
- end
17
- ```
18
-
19
- Background:
20
- Given I use a fixture named "cli-app"
21
-
22
- Scenario: Expect single existing executable file
23
- Given a file named "spec/existing_executable_spec.rb" with:
24
- """
25
- require 'spec_helper'
26
-
27
- RSpec.describe 'Check if command can be found in PATH', :type => :aruba do
28
- let(:file) { 'file.sh' }
29
-
30
- before(:each) { touch(file) }
31
- before(:each) { chmod(0755, file) }
32
- before(:each) { prepend_environment_variable('PATH', format('%s:', expand_path('.'))) }
33
-
34
- it { expect(file).to be_a_command_found_in_path }
35
- end
36
- """
37
- When I run `rspec`
38
- Then the specs should all pass
39
-
40
- Scenario: Expect single non-existing executable file
41
- Given a file named "spec/existing_executable_spec.rb" with:
42
- """
43
- require 'spec_helper'
44
-
45
- RSpec.describe 'Check if command can be found in PATH', :type => :aruba do
46
- let(:file) { 'file.sh' }
47
-
48
- before(:each) { prepend_environment_variable('PATH', format('%s:', expand_path('.'))) }
49
-
50
- it { expect(file).not_to be_a_command_found_in_path }
51
- end
52
- """
53
- When I run `rspec`
54
- Then the specs should all pass
55
-
56
- Scenario: Expect single non-executable file
57
- Given a file named "spec/existing_executable_spec.rb" with:
58
- """
59
- require 'spec_helper'
60
-
61
- RSpec.describe 'Check if command can be found in PATH', :type => :aruba do
62
- let(:file) { 'file.sh' }
63
-
64
- before(:each) { touch(file) }
65
- before(:each) { prepend_environment_variable('PATH', format('%s:', expand_path('.'))) }
66
-
67
- it { expect(file).not_to be_a_command_found_in_path }
68
- end
69
- """
70
- When I run `rspec`
71
- Then the specs should all pass
72
-
73
- Scenario: Expect multiple existing executable files
74
- Given a file named "spec/existing_executable_spec.rb" with:
75
- """
76
- require 'spec_helper'
77
-
78
- RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
79
- let(:files) { %w(file1.sh file2.sh) }
80
-
81
- before :each do
82
- files.each do |f|
83
- touch(f)
84
- chmod(0755, f)
85
- end
86
- end
87
-
88
- before(:each) { prepend_environment_variable('PATH', format('%s:', expand_path('.'))) }
89
-
90
- it { expect(files).to all be_a_command_found_in_path }
91
- end
92
- """
93
- When I run `rspec`
94
- Then the specs should all pass
95
-
96
- Scenario: Expect a least one existing executable file
97
- Given a file named "spec/existing_executable_spec.rb" with:
98
- """
99
- require 'spec_helper'
100
-
101
- RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
102
- let(:files) { %w(file1.sh file2.sh) }
103
-
104
- before :each do
105
- touch(files.first)
106
- chmod(0755, files.first)
107
- end
108
-
109
- before(:each) { prepend_environment_variable('PATH', format('%s:', expand_path('.'))) }
110
-
111
- it { expect(files).to include a_command_found_in_path }
112
- end
113
- """
114
- When I run `rspec`
115
- Then the specs should all pass
@@ -1,88 +0,0 @@
1
- Feature: Check if path exists and is an executable file
2
-
3
- If you need to check if a given path exists and is a file, you can use the
4
- `be_an_existing_executable`-matcher.
5
-
6
- ```ruby
7
- require 'spec_helper'
8
-
9
- RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
10
- let(:file) { 'file.txt' }
11
- before(:each) { touch(file) }
12
- before(:each) { chmod(0755, file) }
13
-
14
- it { expect(file).to be_an_existing_executable }
15
- end
16
- ```
17
-
18
- Background:
19
- Given I use a fixture named "cli-app"
20
-
21
- Scenario: Expect single existing executable file
22
- Given a file named "spec/existing_executable_spec.rb" with:
23
- """
24
- require 'spec_helper'
25
-
26
- RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
27
- let(:file) { 'file.txt' }
28
- before(:each) { touch(file) }
29
- before(:each) { chmod(0755, file) }
30
-
31
- it { expect(file).to be_an_existing_executable }
32
- end
33
- """
34
- When I run `rspec`
35
- Then the specs should all pass
36
-
37
- Scenario: Expect single non-existing executable file
38
- Given a file named "spec/existing_executable_spec.rb" with:
39
- """
40
- require 'spec_helper'
41
-
42
- RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
43
- let(:file) { 'file.txt' }
44
- it { expect(file).not_to be_an_existing_executable }
45
- end
46
- """
47
- When I run `rspec`
48
- Then the specs should all pass
49
-
50
- Scenario: Expect multiple existing executable files
51
- Given a file named "spec/existing_executable_spec.rb" with:
52
- """
53
- require 'spec_helper'
54
-
55
- RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
56
- let(:files) { %w(file1.txt file2.txt) }
57
-
58
- before :each do
59
- files.each do |f|
60
- touch(f)
61
- chmod(0755, f)
62
- end
63
- end
64
-
65
- it { expect(files).to all be_an_existing_executable }
66
- end
67
- """
68
- When I run `rspec`
69
- Then the specs should all pass
70
-
71
- Scenario: Expect a least one existing executable file
72
- Given a file named "spec/existing_executable_spec.rb" with:
73
- """
74
- require 'spec_helper'
75
-
76
- RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
77
- let(:files) { %w(file1.txt file2.txt) }
78
-
79
- before :each do
80
- touch(files.first)
81
- chmod(0755, files.first)
82
- end
83
-
84
- it { expect(files).to include an_existing_executable }
85
- end
86
- """
87
- When I run `rspec`
88
- Then the specs should all pass
@@ -1,82 +0,0 @@
1
- Feature: Check if path exists and is file
2
-
3
- If you need to check if a given path exists and is a file, you can use the
4
- `be_an_existing_file`-matcher.
5
-
6
- ```ruby
7
- require 'spec_helper'
8
-
9
- RSpec.describe 'Check if file exists and is file', :type => :aruba do
10
- let(:file) { 'file.txt' }
11
- before(:each) { touch(file) }
12
-
13
- it { expect(file).to be_an_existing_file }
14
- end
15
- ```
16
-
17
- Background:
18
- Given I use a fixture named "cli-app"
19
-
20
- Scenario: Expect single existing file
21
- Given a file named "spec/existing_file_spec.rb" with:
22
- """
23
- require 'spec_helper'
24
-
25
- RSpec.describe 'Check if file exists and is file', :type => :aruba do
26
- let(:file) { 'file.txt' }
27
- before(:each) { touch(file) }
28
- it { expect(file).to be_an_existing_file }
29
- end
30
- """
31
- When I run `rspec`
32
- Then the specs should all pass
33
-
34
- Scenario: Expect single non-existing file
35
- Given a file named "spec/existing_file_spec.rb" with:
36
- """
37
- require 'spec_helper'
38
-
39
- RSpec.describe 'Check if file exists and is file', :type => :aruba do
40
- let(:file) { 'file.txt' }
41
- it { expect(file).not_to be_an_existing_file }
42
- end
43
- """
44
- When I run `rspec`
45
- Then the specs should all pass
46
-
47
- Scenario: Expect multiple existing files
48
- Given a file named "spec/existing_file_spec.rb" with:
49
- """
50
- require 'spec_helper'
51
-
52
- RSpec.describe 'Check if file exists and is file', :type => :aruba do
53
- let(:files) { %w(file1.txt file2.txt) }
54
-
55
- before :each do
56
- files.each { |f| touch(f) }
57
- end
58
-
59
- it { expect(files).to all be_an_existing_file }
60
- end
61
- """
62
- When I run `rspec`
63
- Then the specs should all pass
64
-
65
- Scenario: Expect a least one existing file
66
- Given a file named "spec/existing_file_spec.rb" with:
67
- """
68
- require 'spec_helper'
69
-
70
- RSpec.describe 'Check if file exists and is file', :type => :aruba do
71
- let(:files) { %w(file1.txt file2.txt) }
72
-
73
- before :each do
74
- touch(files.first)
75
- end
76
-
77
- it { expect(files).to include an_existing_file }
78
- end
79
- """
80
- When I run `rspec`
81
- Then the specs should all pass
82
-
@@ -1,123 +0,0 @@
1
- Feature: Check if file has content
2
-
3
- If you need to check if a given file has content, you can use the
4
- `have_file_content`-matcher. It accepts `Object`, `Regexp` or any other
5
- `RSpec::Matcher`-matchers. It fails if file does not exist.
6
-
7
- ```ruby
8
- require 'spec_helper'
9
-
10
- RSpec.describe 'Check if file has content', :type => :aruba do
11
- let(:file) { 'file.txt' }
12
- let(:content) { 'Hello World' }
13
-
14
- before(:each) { write_file(file, content) }
15
-
16
- it { expect(file).to have_file_content content }
17
- end
18
- ```
19
-
20
- Background:
21
- Given I use a fixture named "cli-app"
22
-
23
- Scenario: Expect existing file with content
24
- Given a file named "spec/file_with_content_spec.rb" with:
25
- """
26
- require 'spec_helper'
27
-
28
- RSpec.describe 'Check file content', :type => :aruba do
29
- let(:file) { 'file.txt' }
30
- let(:content) { 'Hello World' }
31
-
32
- before(:each) { write_file(file, content) }
33
-
34
- it { expect(file).to have_file_content content }
35
- end
36
- """
37
- When I run `rspec`
38
- Then the specs should all pass
39
-
40
- Scenario: Expect existing file with partial content
41
- Given a file named "spec/file_with_content_spec.rb" with:
42
- """
43
- require 'spec_helper'
44
-
45
- RSpec.describe 'Check file content', :type => :aruba do
46
- let(:file) { 'file.txt' }
47
- let(:content) { 'Hello World' }
48
-
49
- before(:each) { write_file(file, content) }
50
-
51
- it { expect(file).to have_file_content /Hello/ }
52
- end
53
- """
54
- When I run `rspec`
55
- Then the specs should all pass
56
-
57
- Scenario: Expect existing file with partial content described by another matcher
58
- Given a file named "spec/file_with_content_spec.rb" with:
59
- """
60
- require 'spec_helper'
61
-
62
- RSpec.describe 'Check file content', :type => :aruba do
63
- let(:file) { 'file.txt' }
64
- let(:content) { 'Hello World' }
65
-
66
- before(:each) { write_file(file, content) }
67
-
68
- it { expect(file).to have_file_content a_string_starting_with('Hello') }
69
- end
70
- """
71
- When I run `rspec`
72
- Then the specs should all pass
73
-
74
- Scenario: Expect multiple existing files with content
75
- Given a file named "spec/file_with_content_spec.rb" with:
76
- """
77
- require 'spec_helper'
78
-
79
- RSpec.describe 'Check file content', :type => :aruba do
80
- let(:files) { %w(file1.txt file2.txt) }
81
- let(:content) { 'Hello World' }
82
-
83
- before :each do
84
- files.each { |f| write_file(f, content) }
85
- end
86
-
87
- it { expect(files).to all have_file_content content }
88
- end
89
- """
90
- When I run `rspec`
91
- Then the specs should all pass
92
-
93
- Scenario: Expect at least one file with content
94
- Given a file named "spec/file_with_content_spec.rb" with:
95
- """
96
- require 'spec_helper'
97
-
98
- RSpec.describe 'Check file content', :type => :aruba do
99
- let(:files) { %w(file1.txt file2.txt) }
100
- let(:content) { 'Hello World' }
101
-
102
- before(:each) { write_file(files.first, content) }
103
-
104
- it { expect(files).to include a_file_having_content content }
105
- end
106
- """
107
- When I run `rspec`
108
- Then the specs should all pass
109
-
110
- Scenario: Fails if file does not exist
111
- Given a file named "spec/file_with_content_spec.rb" with:
112
- """
113
- require 'spec_helper'
114
-
115
- RSpec.describe 'Check file content', :type => :aruba do
116
- let(:file) { 'file.txt' }
117
- let(:content) { 'Hello World' }
118
-
119
- it { expect(file).to have_file_content content }
120
- end
121
- """
122
- When I run `rspec`
123
- Then the specs should not all pass