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,107 +0,0 @@
1
- Feature: Check if path has size
2
-
3
- If you need to check if a given path has file size, you can use the
4
- `have_file_size`-matcher. It fails if the file does not exist.
5
-
6
- ```ruby
7
- require 'spec_helper'
8
-
9
- RSpec.describe 'Check if file has size', :type => :aruba do
10
- let(:file) { 'file.txt' }
11
- let(:size) { 1 }
12
-
13
- before(:each) { write_fixed_size_file(file, size) }
14
-
15
- it { expect(file).to have_file_size size }
16
- end
17
- ```
18
-
19
- Background:
20
- Given I use a fixture named "cli-app"
21
-
22
- Scenario: Expect file of given size
23
- Given a file named "spec/file_of_size_spec.rb" with:
24
- """
25
- require 'spec_helper'
26
-
27
- RSpec.describe 'Check if file has size', :type => :aruba do
28
- let(:file) { 'file.txt' }
29
- let(:size) { 1 }
30
-
31
- before(:each) { write_fixed_size_file(file, size) }
32
-
33
- it { expect(file).to have_file_size size }
34
- end
35
- """
36
- When I run `rspec`
37
- Then the specs should all pass
38
-
39
- Scenario: Expect multiple files of given size
40
- Given a file named "spec/file_of_size_spec.rb" with:
41
- """
42
- require 'spec_helper'
43
-
44
- RSpec.describe 'Check if file has size', :type => :aruba do
45
- let(:files) { %w(file1.txt file2.txt) }
46
- let(:size) { 1 }
47
-
48
- before :each do
49
- files.each { |f| write_fixed_size_file(f, size) }
50
- end
51
-
52
- it { expect(files).to all have_file_size size }
53
- end
54
- """
55
- When I run `rspec`
56
- Then the specs should all pass
57
-
58
- Scenario: Expect a least one file of size
59
- Given a file named "spec/file_of_size_spec.rb" with:
60
- """
61
- require 'spec_helper'
62
-
63
- RSpec.describe 'Check if file has size', :type => :aruba do
64
- let(:files) { %w(file1.txt file2.txt) }
65
- let(:size) { 1 }
66
-
67
- before :each do
68
- write_fixed_size_file(files.first, size)
69
- end
70
-
71
- it { expect(files).to include a_file_of_size size }
72
- end
73
- """
74
- When I run `rspec`
75
- Then the specs should all pass
76
-
77
- Scenario: Fails because file has different size than expected
78
- Given a file named "spec/file_of_size_spec.rb" with:
79
- """
80
- require 'spec_helper'
81
-
82
- RSpec.describe 'Check if file has size', :type => :aruba do
83
- let(:file) { 'file.txt' }
84
- let(:size) { 1 }
85
-
86
- before(:each) { write_fixed_size_file(file, size) }
87
-
88
- it { expect(file).to have_file_size 2 }
89
- end
90
- """
91
- When I run `rspec`
92
- Then the specs should not all pass
93
-
94
- Scenario: Fails if file does not exist
95
- Given a file named "spec/file_of_size_spec.rb" with:
96
- """
97
- require 'spec_helper'
98
-
99
- RSpec.describe 'Check if file has size', :type => :aruba do
100
- let(:file) { 'file.txt' }
101
- let(:size) { 1 }
102
-
103
- it { expect(file).to have_file_size size }
104
- end
105
- """
106
- When I run `rspec`
107
- Then the specs should not all pass
@@ -1,74 +0,0 @@
1
- Feature: Check if path is absolute
2
-
3
- If you need to check if a given path is absolute , you can use the
4
- `be_an_absolute_path`-matcher. It doesn't care if the path is a directory or
5
- a path.
6
-
7
- ```ruby
8
- require 'spec_helper'
9
-
10
- RSpec.describe 'Check if path is absolute', :type => :aruba do
11
- let(:path) { 'file.txt' }
12
- before(:each) { touch(path) }
13
-
14
- it { expect(path).to be_an_absolute_path }
15
- end
16
- ```
17
-
18
- Background:
19
- Given I use a fixture named "cli-app"
20
-
21
- Scenario: Expect single existing path
22
- Given a file named "spec/absolute_path_spec.rb" with:
23
- """
24
- require 'spec_helper'
25
-
26
- RSpec.describe 'Check if path is absolute', :type => :aruba do
27
- let(:path) { '/path/to/file.txt' }
28
- it { expect(path).to be_an_absolute_path }
29
- end
30
- """
31
- When I run `rspec`
32
- Then the specs should all pass
33
-
34
- Scenario: Expect multiple absolute paths
35
- Given a file named "spec/absolute_path_spec.rb" with:
36
- """
37
- require 'spec_helper'
38
-
39
- RSpec.describe 'Check if path is absolute', :type => :aruba do
40
- let(:paths) { %w(/path/to/path1.txt /path/to/path2.txt) }
41
-
42
- it { expect(paths).to all be_an_absolute_path }
43
- end
44
- """
45
- When I run `rspec`
46
- Then the specs should all pass
47
-
48
- Scenario: Expect a least one existing path
49
- Given a file named "spec/absolute_path_spec.rb" with:
50
- """
51
- require 'spec_helper'
52
-
53
- RSpec.describe 'Check if path is absolute', :type => :aruba do
54
- let(:paths) { %w(/path/to/path1.txt path2.txt) }
55
-
56
- it { expect(paths).to include an_absolute_path }
57
- end
58
- """
59
- When I run `rspec`
60
- Then the specs should all pass
61
-
62
- Scenario: Expect failure on relative path
63
- Given a file named "spec/absolute_path_spec.rb" with:
64
- """
65
- require 'spec_helper'
66
-
67
- RSpec.describe 'Check if path is absolute', :type => :aruba do
68
- let(:paths) { %w(path2.txt) }
69
-
70
- it { expect(paths).to be_an_absolute_path }
71
- end
72
- """
73
- When I run `rspec`
74
- Then the specs should not all pass
@@ -1,97 +0,0 @@
1
- Feature: Check if path exists
2
-
3
- If you need to check if a given path exists, you can use the
4
- `be_an_existing_path`-matcher. It doesn't care if the path is a directory or
5
- a path.
6
-
7
- ```ruby
8
- require 'spec_helper'
9
-
10
- RSpec.describe 'Check if path exists', :type => :aruba do
11
- let(:path) { 'file.txt' }
12
- before(:each) { touch(path) }
13
-
14
- it { expect(path).to be_an_existing_path }
15
- end
16
- ```
17
-
18
- Background:
19
- Given I use a fixture named "cli-app"
20
-
21
- Scenario: Expect single existing path
22
- Given a file named "spec/existing_path_spec.rb" with:
23
- """
24
- require 'spec_helper'
25
-
26
- RSpec.describe 'Check if path exists', :type => :aruba do
27
- let(:path) { 'file.txt' }
28
- before(:each) { touch(path) }
29
- it { expect(path).to be_an_existing_path }
30
- end
31
- """
32
- When I run `rspec`
33
- Then the specs should all pass
34
-
35
- Scenario: Expect single existing directory
36
- Given a file named "spec/existing_path_spec.rb" with:
37
- """
38
- require 'spec_helper'
39
-
40
- RSpec.describe 'Check if path exists', :type => :aruba do
41
- let(:path) { 'dir.d' }
42
- before(:each) { create_directory(path) }
43
- it { expect(path).to be_an_existing_path }
44
- end
45
- """
46
- When I run `rspec`
47
- Then the specs should all pass
48
-
49
- Scenario: Expect single non-existing path
50
- Given a file named "spec/existing_path_spec.rb" with:
51
- """
52
- require 'spec_helper'
53
-
54
- RSpec.describe 'Check if path exists', :type => :aruba do
55
- let(:path) { 'file.txt' }
56
- it { expect(path).not_to be_an_existing_path }
57
- end
58
- """
59
- When I run `rspec`
60
- Then the specs should all pass
61
-
62
- Scenario: Expect multiple existing paths
63
- Given a file named "spec/existing_path_spec.rb" with:
64
- """
65
- require 'spec_helper'
66
-
67
- RSpec.describe 'Check if path exists', :type => :aruba do
68
- let(:paths) { %w(path1.txt path2.txt) }
69
-
70
- before :each do
71
- paths.each { |f| touch(f) }
72
- end
73
-
74
- it { expect(paths).to all be_an_existing_path }
75
- end
76
- """
77
- When I run `rspec`
78
- Then the specs should all pass
79
-
80
- Scenario: Expect a least one existing path
81
- Given a file named "spec/existing_path_spec.rb" with:
82
- """
83
- require 'spec_helper'
84
-
85
- RSpec.describe 'Check if path exists', :type => :aruba do
86
- let(:paths) { %w(path1.txt path2.txt) }
87
-
88
- before :each do
89
- touch(paths.first)
90
- end
91
-
92
- it { expect(paths).to include an_existing_path }
93
- end
94
- """
95
- When I run `rspec`
96
- Then the specs should all pass
97
-
@@ -1,118 +0,0 @@
1
- Feature: Check if path has permissions in filesystem
2
-
3
- If you need to check if a given path has some permissions in filesystem, you
4
- can use the `have_permissions`-matcher. It fails if the file or directory
5
- does not exist. You need to pass it the permissions either as `Octal`
6
- (`0700`) or `String` (`'0700'`).
7
-
8
- ```ruby
9
- require 'spec_helper'
10
-
11
- RSpec.describe 'Check if path has permissions', :type => :aruba do
12
- context 'when is file' do
13
- let(:file) { 'file.txt' }
14
- let(:permissions) { 0700 }
15
-
16
- before(:each) { touch(file) }
17
- before(:each) { chmod(permissions, file }
18
-
19
- it { expect(file).to have_permissions permissions }
20
- end
21
- end
22
- ```
23
-
24
- Background:
25
- Given I use a fixture named "cli-app"
26
-
27
- Scenario: Expect file with permissions
28
- Given a file named "spec/path_with_permissions_spec.rb" with:
29
- """
30
- require 'spec_helper'
31
-
32
- RSpec.describe 'Check if path has permissions', :type => :aruba do
33
- let(:file) { 'file.txt' }
34
- let(:permissions) { 0600 }
35
-
36
- before(:each) { touch(file) }
37
- before(:each) { chmod(permissions, file) }
38
-
39
- it { expect(file).to have_permissions permissions }
40
- end
41
- """
42
- When I run `rspec`
43
- Then the specs should all pass
44
-
45
- Scenario: Expect directory with permissions
46
- Given a file named "spec/path_with_permissions_spec.rb" with:
47
- """
48
- require 'spec_helper'
49
-
50
- RSpec.describe 'Check if path has permissions', :type => :aruba do
51
- let(:directory) { 'directory.d' }
52
- let(:permissions) { 0700 }
53
-
54
- before(:each) { create_directory(directory) }
55
- before(:each) { chmod(permissions, directory) }
56
-
57
- it { expect(directory).to have_permissions permissions }
58
- end
59
- """
60
- When I run `rspec`
61
- Then the specs should all pass
62
-
63
- Scenario: Expect multiple files with given permissions
64
- Given a file named "spec/path_with_permissions_spec.rb" with:
65
- """
66
- require 'spec_helper'
67
-
68
- RSpec.describe 'Check if path has permissions', :type => :aruba do
69
- let(:files) { %w(file1.txt file2.txt) }
70
- let(:permissions) { 0600 }
71
-
72
- before :each do
73
- files.each do |f|
74
- touch(f)
75
- chmod(permissions, f)
76
- end
77
- end
78
-
79
- it { expect(files).to all have_permissions permissions }
80
- end
81
- """
82
- When I run `rspec`
83
- Then the specs should all pass
84
-
85
- Scenario: Expect a least one file with permissions
86
- Given a file named "spec/path_with_permissions_spec.rb" with:
87
- """
88
- require 'spec_helper'
89
-
90
- RSpec.describe 'Check if path has permissions', :type => :aruba do
91
- let(:files) { %w(file1.txt file2.txt) }
92
- let(:permissions) { 0600 }
93
-
94
- before :each do
95
- touch(files.first)
96
- chmod(permissions, files.first)
97
- end
98
-
99
- it { expect(files).to include a_path_having_permissions permissions }
100
- end
101
- """
102
- When I run `rspec`
103
- Then the specs should all pass
104
-
105
- Scenario: Fails if path does not exist
106
- Given a file named "spec/path_with_permissions_spec.rb" with:
107
- """
108
- require 'spec_helper'
109
-
110
- RSpec.describe 'Check if path has permissions', :type => :aruba do
111
- let(:path) { 'file.txt' }
112
- let(:permissions) { 0700 }
113
-
114
- it { expect(path).to have_permissions permissions }
115
- end
116
- """
117
- When I run `rspec`
118
- Then the specs should not all pass
@@ -1,79 +0,0 @@
1
- Feature: Initialize project with aruba
2
-
3
- To add `aruba` to your project you can use the `aruba init`-command.
4
-
5
- Background:
6
- Given I use the fixture "empty-app"
7
-
8
- Scenario: Create files for RSpec
9
- When I successfully run `aruba init --test-framework rspec`
10
- Then the following files should exist:
11
- | spec/spec_helper.rb |
12
- And the file "spec/support/aruba.rb" should contain:
13
- """
14
- require 'aruba/rspec'
15
- """
16
- And the file "Gemfile" should contain:
17
- """
18
- gem 'aruba'
19
- """
20
- When I successfully run `rspec`
21
- Then the output should contain:
22
- """
23
- 0 examples, 0 failures
24
- """
25
-
26
- Scenario: Create files for Cucumber
27
- When I successfully run `aruba init --test-framework cucumber`
28
- Then the file "features/support/aruba.rb" should contain:
29
- """
30
- require 'aruba/cucumber'
31
- """
32
- And the file "Gemfile" should contain:
33
- """
34
- gem 'aruba'
35
- """
36
- When I successfully run `cucumber`
37
- Then the output should contain:
38
- """
39
- 0 scenarios
40
- 0 steps
41
- """
42
-
43
- Scenario: Create files for Cucumber (Default)
44
- When I successfully run `aruba init`
45
- Then the file "features/support/aruba.rb" should contain:
46
- """
47
- require 'aruba/cucumber'
48
- """
49
- And the file "Gemfile" should contain:
50
- """
51
- gem 'aruba'
52
- """
53
- When I successfully run `cucumber`
54
- Then the output should contain:
55
- """
56
- 0 scenarios
57
- 0 steps
58
- """
59
-
60
- Scenario: Create files for Minitest
61
- When I successfully run `aruba init --test-framework minitest`
62
- Then the following files should exist:
63
- | test/test_helper.rb |
64
- And the file "Gemfile" should contain:
65
- """
66
- gem 'aruba'
67
- """
68
- When I successfully run `ruby -Ilib:test test/use_aruba_with_minitest.rb`
69
- Then the output should contain:
70
- """
71
- 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
72
- """
73
-
74
- Scenario: Unknown Test Framework
75
- When I run `aruba init --test-framework unknown`
76
- Then the output should contain:
77
- """
78
- got unknown
79
- """
@@ -1,55 +0,0 @@
1
- Feature: Aruba Console
2
-
3
- Background:
4
- Given a mocked home directory
5
-
6
- Scenario: Start console
7
- Given I run `aruba console` interactively
8
- When I close the stdin stream
9
- Then the output should contain:
10
- """
11
- aruba:001:0>
12
- """
13
-
14
- @unsupported-on-platform-java
15
- Scenario: Show help
16
- Given I run `aruba console` interactively
17
- And I type "aruba_help"
18
- When I close the stdin stream
19
- Then the output should contain:
20
- """
21
- Version:
22
- """
23
- And the output should contain:
24
- """
25
- Issue Tracker:
26
- """
27
- And the output should contain:
28
- """
29
- Documentation:
30
- """
31
-
32
- @unsupported-on-platform-java
33
- Scenario: Show methods
34
- Given I run `aruba console` interactively
35
- And I type "aruba_methods"
36
- When I close the stdin stream
37
- Then the output should contain:
38
- """
39
- Methods:
40
- """
41
- And the output should contain:
42
- """
43
- * setup_aruba
44
- """
45
-
46
- @unsupported-on-platform-java
47
- Scenario: Has its own history file
48
- Given I run `aruba console` interactively
49
- And I type "IRB.conf[:HISTORY_FILE]"
50
- And I type "exit"
51
- When I close the stdin stream
52
- Then the output should contain:
53
- """
54
- ~/.aruba_history
55
- """
@@ -1,37 +0,0 @@
1
- Feature: Support for JRuby
2
-
3
- Improve startup time by disabling JIT and forcing client JVM mode. This can
4
- be accomplished by adding
5
-
6
- ```ruby
7
- require 'aruba/config/jruby'
8
- ```
9
-
10
- *Note* - no conflict resolution on the JAVA/JRuby environment options is
11
- done; only merging. For more complex settings please manually set the
12
- environment variables in the hook or externally.
13
-
14
- Refer to http://blog.headius.com/2010/03/jruby-startup-time-tips.html for other tips on startup time.
15
-
16
- Background:
17
- Given I use a fixture named "cli-app"
18
-
19
- @requires-ruby-platform-java
20
- Scenario:
21
- Given a file named "spec/jruby_env_spec.rb" with:
22
- """
23
- require 'spec_helper'
24
- require 'aruba/config/jruby'
25
-
26
- RSpec.describe 'running commands with before :command hook', :type => :aruba do
27
- it 'sets up for efficient JRuby startup' do
28
- with_environment 'JRUBY_OPTS' => '-d' do
29
- run_command_and_stop('env')
30
-
31
- expect(last_command_started.output).to include 'JRUBY_OPTS=--dev -X-C -d'
32
- end
33
- end
34
- end
35
- """
36
- When I run `rspec`
37
- Then the specs should all pass