aruba 0.14.10 → 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 -25
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +585 -248
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -106
  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 +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 +136 -95
  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 +42 -79
  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 +12 -104
  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 +20 -51
  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 +28 -30
  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 +40 -41
  115. data/lib/aruba/rspec.rb +14 -36
  116. data/lib/aruba/runtime.rb +3 -6
  117. data/lib/aruba/setup.rb +6 -6
  118. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  119. data/lib/aruba/version.rb +1 -1
  120. metadata +190 -236
  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 -263
  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 -92
  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 -52
  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/jruby.rb +0 -5
  226. data/features/support/simplecov_setup.rb +0 -11
  227. data/fixtures/spawn_process/stderr.sh +0 -3
  228. data/lib/aruba/api/deprecated.rb +0 -1163
  229. data/lib/aruba/config.rb +0 -107
  230. data/lib/aruba/cucumber/core.rb +0 -5
  231. data/lib/aruba/cucumber/deprecated.rb +0 -93
  232. data/lib/aruba/cucumber/rvm.rb +0 -3
  233. data/lib/aruba/in_process.rb +0 -16
  234. data/lib/aruba/jruby.rb +0 -4
  235. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  236. data/lib/aruba/matchers/deprecated.rb +0 -1
  237. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  238. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  239. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  240. data/lib/aruba/reporting.rb +0 -126
  241. data/lib/aruba/spawn_process.rb +0 -14
  242. data/script/bootstrap +0 -24
  243. data/script/console +0 -16
  244. data/script/test +0 -3
  245. data/spec/aruba/api/bundler_spec.rb +0 -15
  246. data/spec/aruba/api/core_spec.rb +0 -142
  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 -97
  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,57 +0,0 @@
1
- Feature: Create Directory
2
-
3
- As a user of aruba
4
- I want to create directories
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Non-existing directory
10
- Given a file named "features/create_directory.feature" with:
11
- """
12
- Feature: Create directory
13
- Background:
14
- Given a directory named "dir1"
15
-
16
- Scenario: Create directory #1
17
- Then a directory named "dir1" should exist
18
-
19
- Scenario: Create directory #2
20
- Then a directory named "dir1" should exist
21
-
22
- Scenario: Create directory #3
23
- Then a directory named "dir1" should exist
24
-
25
- Scenario: Create directory #4
26
- Then a directory named "dir1" should exist
27
-
28
- Scenario: Create directory #5
29
- Then a directory named "dir1" should exist
30
- """
31
- When I run `cucumber`
32
- Then the features should all pass
33
-
34
- Scenario: Existing directory
35
-
36
- It doesn't matter if a directory already exist.
37
-
38
- Given a file named "features/create_directory.feature" with:
39
- """
40
- Feature: Create directory
41
- Scenario: Create directory
42
- Given a directory named "dir1"
43
- And a directory named "dir1"
44
- """
45
- When I run `cucumber`
46
- Then the features should all pass
47
-
48
- Scenario: Change mode a long with creation of directory
49
- Given a file named "features/create_directory.feature" with:
50
- """
51
- Feature: Create directory
52
- Scenario: Create directory
53
- Given a directory named "dir1" with mode "0644"
54
- Then the directory named "dir1" should have permissions "0644"
55
- """
56
- When I run `cucumber`
57
- Then the features should all pass
@@ -1,76 +0,0 @@
1
- Feature: Create new File
2
-
3
- As a user of aruba
4
- I want to create files
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Create empty file
10
- Given a file named "features/create_file.feature" with:
11
- """
12
- Feature: Create file
13
- Scenario: Create file
14
- Given an empty file named "file1.txt"
15
- Then a file named "file1.txt" should exist
16
- """
17
- When I run `cucumber`
18
- Then the features should all pass
19
-
20
- Scenario: Create file with content
21
- Given a file named "features/create_file.feature" with:
22
- """
23
- Feature: Create file
24
- Scenario: Create file
25
- Given a file named "file1.txt" with:
26
- \"\"\"
27
- Hello World
28
- \"\"\"
29
- Then the file named "file1.txt" should contain:
30
- \"\"\"
31
- Hello World
32
- \"\"\"
33
- """
34
- When I run `cucumber`
35
- Then the features should all pass
36
-
37
- Scenario: Change mode a long with creation of a file with content
38
- Given a file named "features/create_file.feature" with:
39
- """
40
- Feature: Create file
41
- Scenario: Create file
42
- Given a file named "file1.txt" with mode "0644" and with:
43
- \"\"\"
44
- Hello World
45
- \"\"\"
46
- Then the file named "file1.txt" should have permissions "0644"
47
- And the file named "file1.txt" should contain:
48
- \"\"\"
49
- Hello World
50
- \"\"\"
51
- """
52
- When I run `cucumber`
53
- Then the features should all pass
54
-
55
- Scenario: Change mode a long with creation of empty file
56
- Given a file named "features/create_file.feature" with:
57
- """
58
- Feature: Create file
59
- Scenario: Create file
60
- Given an empty file named "file1.txt" with mode "0644"
61
- Then the file named "file1.txt" should have permissions "0644"
62
- """
63
- When I run `cucumber`
64
- Then the features should all pass
65
-
66
- Scenario: Create a fixed sized file
67
- Given a file named "features/non-existence.feature" with:
68
- """
69
- Feature: Create file
70
- Scenario: Create file
71
- Given a 1048576 byte file named "test.txt"
72
- Then a 1048576 byte file named "test.txt" should exist
73
- """
74
- When I run `cucumber`
75
- Then the features should all pass
76
-
@@ -1,44 +0,0 @@
1
- Feature: Move file or directory
2
-
3
- As a user of aruba
4
- I want ot move a file or a directory
5
- To setup my tests
6
-
7
- Background:
8
- Given I use a fixture named "cli-app"
9
-
10
- Scenario: Move file
11
- Given a file named "features/move.feature" with:
12
- """
13
- Feature: Move
14
- Scenario: Move
15
- Given an empty file named "file1.txt"
16
- And an empty file named "file2.txt"
17
- And an empty file named "file3.txt"
18
- When I move a file named "file1.txt" to "new_file1.txt"
19
- When I move a file from "file2.txt" to "new_file2.txt"
20
- When I move the file "file3.txt" to "new_file3.txt"
21
- Then a file named "new_file1.txt" should exist
22
- Then a file named "new_file2.txt" should exist
23
- Then a file named "new_file3.txt" should exist
24
- """
25
- When I run `cucumber`
26
- Then the features should all pass
27
-
28
- Scenario: Move directory
29
- Given a file named "features/move.feature" with:
30
- """
31
- Feature: Move
32
- Scenario: Move
33
- Given a directory named "dir1.d"
34
- And a directory named "dir2.d"
35
- And a directory named "dir3.d"
36
- When I move a directory named "dir1.d" to "new_dir1.d"
37
- When I move a directory from "dir2.d" to "new_dir2.d"
38
- When I move the directory "dir3.d" to "new_dir3.d"
39
- Then a directory named "new_dir1.d" should exist
40
- Then a directory named "new_dir2.d" should exist
41
- Then a directory named "new_dir3.d" should exist
42
- """
43
- When I run `cucumber`
44
- Then the features should all pass
@@ -1,72 +0,0 @@
1
- Feature: Overwrite a file
2
-
3
- As a user of aruba
4
- I want to overwrite a file
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Overwrite an existing file
10
- Given a file named "features/create_file.feature" with:
11
- """
12
- Feature: Overwrite file
13
- Scenario: Overwrite file
14
- Given a file named "file1.txt" with:
15
- \"\"\"
16
- Hello World
17
- \"\"\"
18
- And a file named "file2.txt" with:
19
- \"\"\"
20
- Hello World
21
- \"\"\"
22
- And a file named "file3.txt" with:
23
- \"\"\"
24
- Hello World
25
- \"\"\"
26
- When I overwrite "file1.txt" with:
27
- \"\"\"
28
- Hello Universe
29
- \"\"\"
30
- When I overwrite the file "file2.txt" with:
31
- \"\"\"
32
- Hello Universe
33
- \"\"\"
34
- When I overwrite a file named "file3.txt" with:
35
- \"\"\"
36
- Hello Universe
37
- \"\"\"
38
- Then the file named "file1.txt" should contain:
39
- \"\"\"
40
- Hello Universe
41
- \"\"\"
42
- And the file named "file2.txt" should contain:
43
- \"\"\"
44
- Hello Universe
45
- \"\"\"
46
- And the file named "file3.txt" should contain:
47
- \"\"\"
48
- Hello Universe
49
- \"\"\"
50
- """
51
- When I run `cucumber`
52
- Then the features should all pass
53
-
54
- Scenario: Overwrite a non-existing file
55
- Given a file named "features/create_file.feature" with:
56
- """
57
- Feature: Overwrite file
58
- Scenario: Overwrite file
59
- When I overwrite "file1.txt" with:
60
- \"\"\"
61
- Hello Universe
62
- \"\"\"
63
- Then the file named "file1.txt" should contain:
64
- \"\"\"
65
- Hello Universe
66
- \"\"\"
67
- """
68
- When I run `cucumber`
69
- Then the features should not all pass with regex:
70
- """
71
- Expected [^ ]+ to be present
72
- """
@@ -1,38 +0,0 @@
1
- Feature: Remove a directory
2
-
3
- Background:
4
- Given I use a fixture named "cli-app"
5
-
6
- Scenario: Remove an existing directory
7
- Given a file named "features/non-existence.feature" with:
8
- """
9
- Feature: Remove
10
- Scenario: Remove
11
- Given an empty directory named "foo"
12
- When I remove the directory "foo"
13
- Then the directory "foo" should not exist
14
- """
15
- When I run `cucumber`
16
- Then the features should all pass
17
-
18
- Scenario: Remove an non-existing directory
19
- Given a file named "features/non-existence.feature" with:
20
- """
21
- Feature: Remove
22
- Scenario: Remove
23
- When I remove the directory "foo"
24
- Then the directory "foo" should not exist
25
- """
26
- When I run `cucumber`
27
- Then the features should not pass
28
-
29
- Scenario: Force remove an non-existing directory
30
- Given a file named "features/non-existence.feature" with:
31
- """
32
- Feature: Remove
33
- Scenario: Remove
34
- When I remove the directory "foo" with full force
35
- Then the directory "foo" should not exist
36
- """
37
- When I run `cucumber`
38
- Then the features should all pass
@@ -1,38 +0,0 @@
1
- Feature: Remove a file
2
-
3
- Background:
4
- Given I use a fixture named "cli-app"
5
-
6
- Scenario: Remove an existing file
7
- Given a file named "features/non-existence.feature" with:
8
- """
9
- Feature: Remove
10
- Scenario: Remove
11
- Given an empty file named "foo"
12
- When I remove the file "foo"
13
- Then the file "foo" should not exist
14
- """
15
- When I run `cucumber`
16
- Then the features should all pass
17
-
18
- Scenario: Remove an non-existing file
19
- Given a file named "features/non-existence.feature" with:
20
- """
21
- Feature: Remove
22
- Scenario: Remove
23
- When I remove the file "foo"
24
- Then the file "foo" should not exist
25
- """
26
- When I run `cucumber`
27
- Then the features should not pass
28
-
29
- Scenario: Force remove an non-existing file
30
- Given a file named "features/non-existence.feature" with:
31
- """
32
- Feature: Remove
33
- Scenario: Remove
34
- When I remove the file "foo" with full force
35
- Then the file "foo" should not exist
36
- """
37
- When I run `cucumber`
38
- Then the features should all pass
@@ -1,77 +0,0 @@
1
- Feature: Use a fixture
2
-
3
- As a user of aruba
4
- I want to use a fixture
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Use the fixture if fixtures directory is in root directory
10
- Given a file named "features/use_fixtures.feature" with:
11
- """
12
- Feature: Use Fixture
13
- Scenario: Use Fixture
14
- Given I use a fixture named "my-app"
15
- Then a file named "MY-APP-README.md" should exist
16
- """
17
- And a directory named "fixtures"
18
- And a directory named "fixtures/my-app"
19
- And an empty file named "fixtures/my-app/MY-APP-README.md"
20
- When I run `cucumber`
21
- Then the features should all pass
22
-
23
- Scenario: Use the fixture if fixtures directory is in features-directory
24
- Given a file named "features/use_fixtures.feature" with:
25
- """
26
- Feature: Use Fixture
27
- Scenario: Use Fixture
28
- Given I use a fixture named "my-app"
29
- Then a file named "MY-APP-README.md" should exist
30
- """
31
- And a directory named "features/fixtures"
32
- And a directory named "features/fixtures/my-app"
33
- And an empty file named "features/fixtures/my-app/MY-APP-README.md"
34
- When I run `cucumber`
35
- Then the features should all pass
36
-
37
- Scenario: Use the fixture if fixtures directory is in spec-directory
38
- Given a file named "features/use_fixtures.feature" with:
39
- """
40
- Feature: Use Fixture
41
- Scenario: Use Fixture
42
- Given I use a fixture named "my-app"
43
- Then a file named "MY-APP-README.md" should exist
44
- """
45
- And a directory named "spec/fixtures"
46
- And a directory named "spec/fixtures/my-app"
47
- And an empty file named "spec/fixtures/my-app/MY-APP-README.md"
48
- When I run `cucumber`
49
- Then the features should all pass
50
-
51
- Scenario: Use the fixture if fixtures directory is in test-directory
52
- Given a file named "features/use_fixtures.feature" with:
53
- """
54
- Feature: Use Fixture
55
- Scenario: Use Fixture
56
- Given I use a fixture named "my-app"
57
- Then a file named "MY-APP-README.md" should exist
58
- """
59
- And a directory named "test/fixtures"
60
- And a directory named "test/fixtures/my-app"
61
- And an empty file named "test/fixtures/my-app/MY-APP-README.md"
62
- When I run `cucumber`
63
- Then the features should all pass
64
-
65
- Scenario: Fails if fixture does not exist
66
- Given a file named "features/use_fixtures.feature" with:
67
- """
68
- Feature: Use Fixture
69
- Scenario: Use Fixture
70
- Given I use a fixture named "my-app"
71
- """
72
- And a directory named "fixtures"
73
- When I run `cucumber`
74
- Then the features should not all pass with regex:
75
- """
76
- Fixture "my-app" does not exist in fixtures directory ".+/fixtures"
77
- """
@@ -1,43 +0,0 @@
1
- Feature: After command hooks
2
-
3
- You can configure Aruba to run blocks of code after it has run
4
- a command. The command will be passed to the block.
5
-
6
- You can hook into Aruba's lifecycle just before it runs a command and after it has run the command:
7
-
8
- ```ruby
9
- Aruba.configure do |config|
10
- config.after :command do |cmd|
11
- puts "After the run of '#{cmd}'"
12
- end
13
- end
14
- ```
15
-
16
- Background:
17
- Given I use a fixture named "cli-app"
18
-
19
- Scenario: Run a simple command with an "after(:command)"-hook
20
- Given a file named "spec/support/aruba_config.rb" with:
21
- """
22
- Aruba.configure do |config|
23
- config.after :command do |cmd|
24
- puts "after the run of `#{cmd.commandline}`"
25
- end
26
- end
27
- """
28
- And a file named "spec/hook_spec.rb" with:
29
- """
30
- require 'spec_helper'
31
-
32
- RSpec.describe 'Hooks', :type => :aruba do
33
- before(:each) { run_command_and_stop 'echo running' }
34
-
35
- it { expect(last_command_started.stdout.chomp).to eq 'running' }
36
- end
37
- """
38
- When I run `rspec`
39
- Then the specs should all pass
40
- And the output should contain:
41
- """
42
- after the run of `echo running`
43
- """
@@ -1,71 +0,0 @@
1
- Feature: before_cmd hooks
2
-
3
- You can configure Aruba to run blocks of code before it runs
4
- each command.
5
-
6
- The command will be passed to the block.
7
-
8
- You can hook into Aruba's lifecycle just before it runs a command and after it has run the command:
9
-
10
- ```ruby
11
- Aruba.configure do |config|
12
- config.before :command do |cmd|
13
- puts "About to run '#{cmd}'"
14
- end
15
- end
16
- ```
17
-
18
- Background:
19
- Given I use a fixture named "cli-app"
20
-
21
- Scenario: Run a simple command with a "before(:command)"-hook
22
- Given a file named "spec/support/aruba_config.rb" with:
23
- """
24
- Aruba.configure do |config|
25
- config.before :command do |cmd|
26
- puts "before the run of `#{cmd.commandline}`"
27
- end
28
- end
29
- """
30
- And a file named "spec/hook_spec.rb" with:
31
- """
32
- require 'spec_helper'
33
-
34
- RSpec.describe 'Hooks', :type => :aruba do
35
- before(:each) { run_command_and_stop 'echo running' }
36
-
37
- it { expect(last_command_started.stdout.chomp).to eq 'running' }
38
- end
39
- """
40
- When I run `rspec`
41
- Then the specs should all pass
42
- And the output should contain:
43
- """
44
- before the run of `echo running`
45
- """
46
-
47
- Scenario: Run a simple command with a "before(:cmd)"-hook (deprecated)
48
- Given a file named "spec/support/hooks.rb" with:
49
- """
50
- Aruba.configure do |config|
51
- config.before :cmd do |cmd|
52
- puts "before the run of `#{cmd}`"
53
- end
54
- end
55
- """
56
- And a file named "spec/hook_spec.rb" with:
57
- """
58
- require 'spec_helper'
59
-
60
- RSpec.describe 'Hooks', :type => :aruba do
61
- before(:each) { run_command_and_stop 'echo running' }
62
-
63
- it { expect(last_command_started.stdout.chomp).to eq 'running' }
64
- end
65
- """
66
- When I run `rspec`
67
- Then the specs should all pass
68
- And the output should contain:
69
- """
70
- before the run of `echo running`
71
- """