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,152 +0,0 @@
1
- @unsupported-on-ruby-older-19
2
- Feature: Report disk usage
3
-
4
- Sometimes you need to check, what amount of disk space a file consumes. We do
5
- NOT support "directories" with `#disk_usage`. This does not work reliably
6
- over different systems. Here can help `'#disk_usage`. But be careful, by
7
- default it uses a block size of "512" (physical block size) to calculate the
8
- usage. You may need to adjust this by using `Aruba.configure { |config|
9
- config.physical_block_size = 4_096 }`. Don't get confused, if you check the
10
- block size by using `File::Stat` (in ruby). It reports the block size of your
11
- filesystem, which can be "4_096" for example.
12
-
13
- We're gonna use the (correct) IEC-notation
14
- (https://en.wikipedia.org/wiki/Binary_prefix) here:
15
-
16
- \* kilo => kibi
17
- \* mega => mebi
18
- \* giga => gibi
19
-
20
- Background:
21
- Given I use a fixture named "cli-app"
22
-
23
- Scenario: Show disk usage for file
24
- Given a file named "spec/disk_usage_spec.rb" with:
25
- """ruby
26
- require 'spec_helper'
27
-
28
- RSpec.describe 'disk usage', :type => :aruba do
29
- let(:file) { 'file.txt' }
30
-
31
- before(:each) do
32
- write_file file, 'a'
33
- end
34
-
35
- let(:size_of_single_block) { File::Stat.new(expand_path(file)).blksize }
36
-
37
- it { expect(disk_usage(file)).to eq size_of_single_block }
38
- end
39
- """
40
- When I run `rspec`
41
- Then the specs should all pass
42
-
43
- Scenario: Show disk usage for multiple files
44
-
45
- `#disk_usage` creates the sum of all given objects' sizes.
46
-
47
- Given a file named "spec/disk_usage_spec.rb" with:
48
- """ruby
49
- require 'spec_helper'
50
-
51
- RSpec.describe 'disk usage', :type => :aruba do
52
- let(:file1) { 'file1.txt' }
53
- let(:file2) { 'file2.txt' }
54
-
55
- before(:each) do
56
- write_file file1, 'a'
57
- write_file file2, 'a'
58
- end
59
-
60
- let(:size_of_single_block) { File::Stat.new(expand_path(file1)).blksize }
61
-
62
- it { expect(disk_usage(file1, file2)).to eq size_of_single_block * 2 }
63
- it { expect(disk_usage([file1, file2])).to eq size_of_single_block * 2 }
64
- end
65
- """
66
- When I run `rspec`
67
- Then the specs should all pass
68
-
69
- Scenario: Convert reported disk usage to KibiByte
70
- Given a file named "spec/disk_usage_spec.rb" with:
71
- """ruby
72
- require 'spec_helper'
73
-
74
- RSpec.describe 'disk usage', :type => :aruba do
75
- let(:file) { 'file.txt' }
76
-
77
- before(:each) do
78
- write_file file, 'a'
79
- end
80
-
81
- let(:converted_size) { File::Stat.new(expand_path(file)).blksize.to_f / 1_024 }
82
-
83
- it { expect(disk_usage(file).to_kibi_byte).to eq converted_size }
84
- end
85
- """
86
- When I run `rspec`
87
- Then the specs should all pass
88
-
89
- Scenario: Convert reported disk usage to MebiByte
90
- Given a file named "spec/disk_usage_spec.rb" with:
91
- """ruby
92
- require 'spec_helper'
93
-
94
- RSpec.describe 'disk usage', :type => :aruba do
95
- let(:file) { 'file.txt' }
96
-
97
- before(:each) do
98
- write_file file, 'a'
99
- end
100
-
101
- let(:converted_size) { File::Stat.new(expand_path(file)).blksize.to_f / 1_024 / 1024 }
102
-
103
- it { expect(disk_usage(file).to_mebi_byte).to eq converted_size }
104
- end
105
- """
106
- When I run `rspec`
107
- Then the specs should all pass
108
-
109
- Scenario: Convert reported disk usage to GibiByte
110
- Given a file named "spec/disk_usage_spec.rb" with:
111
- """ruby
112
- require 'spec_helper'
113
-
114
- RSpec.describe 'disk usage', :type => :aruba do
115
- let(:file) { 'file.txt' }
116
-
117
- before(:each) do
118
- write_file file, 'a'
119
- end
120
-
121
- let(:converted_size) { File::Stat.new(expand_path(file)).blksize.to_f / 1_024 / 1_024 / 1_024 }
122
-
123
- it { expect(disk_usage(file).to_gibi_byte).to eq converted_size }
124
- end
125
- """
126
- When I run `rspec`
127
- Then the specs should all pass
128
-
129
- Scenario: Compare two repored disk usages
130
- Given a file named "spec/disk_usage_spec.rb" with:
131
- """ruby
132
- require 'spec_helper'
133
-
134
- RSpec.describe 'disk usage', :type => :aruba do
135
- let(:file1) { 'file1.txt' }
136
- let(:file2) { 'file2.txt' }
137
-
138
- before(:each) do
139
- write_file file1, 'a' * 10_000
140
- write_file file2, 'a'
141
- end
142
-
143
- before :each do
144
- @size1 = disk_usage(file1)
145
- @size2 = disk_usage(file2)
146
- end
147
-
148
- it { expect(@size1).to be > @size2 }
149
- end
150
- """
151
- When I run `rspec`
152
- Then the specs should all pass
@@ -1,104 +0,0 @@
1
- Feature: Use fixtures in your tests
2
-
3
- Sometimes your tests need existing files to work - e.g binary data files you
4
- cannot create programmatically. Since `aruba` >= 0.6.3 includes some basic
5
- support for fixtures. All you need to do is the following:
6
-
7
- 1. Create a `fixtures`-directory
8
- 2. Create fixture files in this directory
9
-
10
-
11
- Background:
12
- Given I use a fixture named "cli-app"
13
-
14
- Scenario: Use a fixture for your tests
15
- Given a file named "features/fixtures.feature" with:
16
- """
17
- Feature: Fixture
18
- Scenario: Fixture
19
- Given a file named "fixtures_spec.rb" with:
20
- \"\"\"
21
- RSpec.describe 'My Feature' do
22
- describe '#read_music_file' do
23
- context 'when the file exists' do
24
- before :each { copy '%/song.mp3', 'file.mp3' }
25
-
26
- it { expect('file.mp3').to be_an_existing_file }
27
- end
28
- end
29
- end
30
- \"\"\"
31
- """
32
- And a directory named "fixtures"
33
- And an empty file named "fixtures/fixtures-app/test.txt"
34
- When I run `rspec`
35
- Then the specs should all pass
36
-
37
- Scenario: Use a fixture for your tests in test/
38
- Given a file named "features/fixtures.feature" with:
39
- """
40
- Feature: Fixture
41
- Scenario: Fixture
42
- Given a file named "fixtures_spec.rb" with:
43
- \"\"\"
44
- RSpec.describe 'My Feature' do
45
- describe '#read_music_file' do
46
- context 'when the file exists' do
47
- before :each { copy '%/song.mp3', 'file.mp3' }
48
-
49
- it { expect('file.mp3').to be_an_existing_file }
50
- end
51
- end
52
- end
53
- \"\"\"
54
- """
55
- And a directory named "test/fixtures"
56
- And an empty file named "test/fixtures/fixtures-app/test.txt"
57
- When I run `rspec`
58
- Then the specs should all pass
59
-
60
- Scenario: Use a fixture for your tests in spec/
61
- Given a file named "features/fixtures.feature" with:
62
- """
63
- Feature: Fixture
64
- Scenario: Fixture
65
- Given a file named "fixtures_spec.rb" with:
66
- \"\"\"
67
- RSpec.describe 'My Feature' do
68
- describe '#read_music_file' do
69
- context 'when the file exists' do
70
- before :each { copy '%/song.mp3', 'file.mp3' }
71
-
72
- it { expect('file.mp3').to be_an_existing_file }
73
- end
74
- end
75
- end
76
- \"\"\"
77
- """
78
- And a directory named "spec/fixtures"
79
- And an empty file named "spec/fixtures/fixtures-app/test.txt"
80
- When I run `rspec`
81
- Then the specs should all pass
82
-
83
- Scenario: Use a fixture for your tests in features/
84
- Given a file named "features/fixtures.feature" with:
85
- """
86
- Feature: Fixture
87
- Scenario: Fixture
88
- Given a file named "fixtures_spec.rb" with:
89
- \"\"\"
90
- RSpec.describe 'My Feature' do
91
- describe '#read_music_file' do
92
- context 'when the file exists' do
93
- before :each { copy '%/song.mp3', 'file.mp3' }
94
-
95
- it { expect('file.mp3').to be_an_existing_file }
96
- end
97
- end
98
- end
99
- \"\"\"
100
- """
101
- And a directory named "features/fixtures"
102
- And an empty file named "features/fixtures/fixtures-app/test.txt"
103
- When I run `rspec`
104
- Then the specs should all pass
@@ -1,87 +0,0 @@
1
- Feature: Extract text from output
2
-
3
- If you need to strip down some command output to plain text, you can use the
4
- `#extract_text`-method for this.
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Output contains ansi escape codes prefixed by \e
10
- Given an executable named "bin/aruba-test-cli" with:
11
- """
12
- #!/bin/bash
13
- echo -n "\e[31mText"
14
- """
15
- And a file named "spec/extract_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(extract_text(unescape_text(last_command.output))).to eq "Text" }
24
- end
25
- """
26
- When I run `rspec`
27
- Then the specs should all pass
28
-
29
- Scenario: Output contains ansi escape codes prefixed by \033
30
- Given an executable named "bin/aruba-test-cli" with:
31
- """
32
- #!/bin/bash
33
- echo -n "\033[31mText"
34
- """
35
- And a file named "spec/extract_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(extract_text(unescape_text(last_command.output))).to eq "Text" }
44
- end
45
- """
46
- When I run `rspec`
47
- Then the specs should all pass
48
-
49
- # Scenario: Output contains ansi escape code \016
50
- # Given an executable named "bin/aruba-test-cli" with:
51
- # """
52
- # #!/bin/bash
53
- # echo -n "\016Text"
54
- # """
55
- # And a file named "spec/extract_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(extract_text(unescape_text(last_command.output))).to eq "Text" }
64
- # end
65
- # """
66
- # When I run `rspec`
67
- # Then the specs should all pass
68
-
69
- # Scenario: Output contains ansi escape code \017
70
- # Given an executable named "bin/aruba-test-cli" with:
71
- # """
72
- # #!/bin/bash
73
- # echo -n "\017Text"
74
- # """
75
- # And a file named "spec/extract_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(extract_text(unescape_text(last_command.output))).to eq "Text" }
84
- # end
85
- # """
86
- # When I run `rspec`
87
- # Then the specs should all pass
@@ -1,45 +0,0 @@
1
- @experimental
2
- Feature: Replace variables
3
-
4
- There are use cases where you need access to some information from aruba in
5
- your command line. The `#replace_variables`-method makes this information
6
- available.
7
-
8
- Please note, this feature is experimental for now. The implementation of this
9
- feature and the name of variables may change without further notice.
10
-
11
- Background:
12
- Given I use a fixture named "cli-app"
13
-
14
- Scenario: PID of last command started
15
- Given an executable named "bin/aruba-test-cli" with:
16
- """
17
- #!/bin/bash
18
- exit 0
19
- """
20
- And a file named "spec/replace_spec.rb" with:
21
- """
22
- require 'spec_helper'
23
-
24
- RSpec.describe 'Run command', :type => :aruba do
25
- before(:each) { run_command('aruba-test-cli') }
26
- before(:each) { stop_all_commands }
27
-
28
- it { expect(replace_variables('<pid-last-command-started>')).to eq last_command_started.pid.to_s }
29
- end
30
- """
31
- When I run `rspec`
32
- Then the specs should all pass
33
-
34
- Scenario: No last command started
35
- Given a file named "spec/replace_spec.rb" with:
36
- """
37
- require 'spec_helper'
38
-
39
- RSpec.describe 'Run command', :type => :aruba do
40
- it { expect { replace_variables('<pid-last-command-started>') }.to raise_error Aruba::NoCommandHasBeenStartedError }
41
- end
42
- """
43
- When I run `rspec`
44
- Then the specs should all pass
45
-
@@ -1,228 +0,0 @@
1
- Feature: Sanitize text from output
2
-
3
- If have got some text include \n, \t and the like and need them to become
4
- special characters again and also want the text to be stripped down to bare
5
- text, you can use the `#sanitize_text`-method for this.
6
-
7
- Background:
8
- Given I use a fixture named "cli-app"
9
-
10
- Scenario: Output contains \n
11
- Given an executable named "bin/aruba-test-cli" with:
12
- """
13
- #!/bin/bash
14
- echo -n 'text\ntext'
15
- """
16
- And a file named "spec/sanitize_spec.rb" with:
17
- """
18
- require 'spec_helper'
19
-
20
- RSpec.describe 'Run command', :type => :aruba do
21
- before(:each) { run_command('aruba-test-cli') }
22
- before(:each) { stop_all_commands }
23
-
24
- it { expect(sanitize_text(last_command_started.output)).to eq "text\ntext" }
25
- end
26
- """
27
- When I run `rspec`
28
- Then the specs should all pass
29
-
30
- Scenario: Output contains \e
31
- Given an executable named "bin/aruba-test-cli" with:
32
- """
33
- #!/bin/bash
34
- echo -n 'text\etext'
35
- """
36
- And a file named "spec/sanitize_spec.rb" with:
37
- """
38
- require 'spec_helper'
39
-
40
- RSpec.describe 'Run command', :type => :aruba do
41
- before(:each) { run_command('aruba-test-cli') }
42
- before(:each) { stop_all_commands }
43
-
44
- it { expect(sanitize_text(last_command_started.output)).to eq "texttext" }
45
- end
46
- """
47
- When I run `rspec`
48
- Then the specs should all pass
49
-
50
- Scenario: Output contains \"
51
- Given an executable named "bin/aruba-test-cli" with:
52
- """
53
- #!/bin/bash
54
- echo -n 'text\"text'
55
- """
56
- And a file named "spec/sanitize_spec.rb" with:
57
- """
58
- require 'spec_helper'
59
-
60
- RSpec.describe 'Run command', :type => :aruba do
61
- before(:each) { run_command('aruba-test-cli') }
62
- before(:each) { stop_all_commands }
63
-
64
- it { expect(sanitize_text(last_command_started.output)).to eq "text\"text" }
65
- end
66
- """
67
- When I run `rspec`
68
- Then the specs should all pass
69
-
70
- Scenario: Output contains \033
71
- Given an executable named "bin/aruba-test-cli" with:
72
- """
73
- #!/bin/bash
74
- echo -n 'text\033text'
75
- """
76
- And a file named "spec/sanitize_spec.rb" with:
77
- """
78
- require 'spec_helper'
79
-
80
- RSpec.describe 'Run command', :type => :aruba do
81
- before(:each) { run_command('aruba-test-cli') }
82
- before(:each) { stop_all_commands }
83
-
84
- it { expect(sanitize_text(last_command_started.output)).to eq "texttext" }
85
- end
86
- """
87
- When I run `rspec`
88
- Then the specs should all pass
89
-
90
- Scenario: Output contains \017
91
- Given an executable named "bin/aruba-test-cli" with:
92
- """
93
- #!/bin/bash
94
- echo -n 'text\017text'
95
- """
96
- And a file named "spec/sanitize_spec.rb" with:
97
- """
98
- require 'spec_helper'
99
-
100
- RSpec.describe 'Run command', :type => :aruba do
101
- before(:each) { run_command('aruba-test-cli') }
102
- before(:each) { stop_all_commands }
103
-
104
- it { expect(sanitize_text(last_command_started.output)).to eq "texttext" }
105
- end
106
- """
107
- When I run `rspec`
108
- Then the specs should all pass
109
-
110
- Scenario: Output contains \016
111
- Given an executable named "bin/aruba-test-cli" with:
112
- """
113
- #!/bin/bash
114
- echo -n 'text\016text'
115
- """
116
- And a file named "spec/sanitize_spec.rb" with:
117
- """
118
- require 'spec_helper'
119
-
120
- RSpec.describe 'Run command', :type => :aruba do
121
- before(:each) { run_command('aruba-test-cli') }
122
- before(:each) { stop_all_commands }
123
-
124
- it { expect(sanitize_text(last_command_started.output)).to eq "texttext" }
125
- end
126
- """
127
- When I run `rspec`
128
- Then the specs should all pass
129
-
130
- Scenario: Output contains ansi escape codes prefixed by \e
131
- Given an executable named "bin/aruba-test-cli" with:
132
- """
133
- #!/bin/bash
134
- echo -n "\e[31mText"
135
- """
136
- And a file named "spec/sanitize_spec.rb" with:
137
- """
138
- require 'spec_helper'
139
-
140
- RSpec.describe 'Run command', :type => :aruba do
141
- before(:each) { run_command('aruba-test-cli') }
142
- before(:each) { stop_all_commands }
143
-
144
- it { expect(sanitize_text(last_command_started.output)).to eq "Text" }
145
- end
146
- """
147
- When I run `rspec`
148
- Then the specs should all pass
149
-
150
- Scenario: Output contains ansi escape codes prefixed by \033
151
- Given an executable named "bin/aruba-test-cli" with:
152
- """
153
- #!/bin/bash
154
- echo -n "\033[31mText"
155
- """
156
- And a file named "spec/sanitize_spec.rb" with:
157
- """
158
- require 'spec_helper'
159
-
160
- RSpec.describe 'Run command', :type => :aruba do
161
- before(:each) { run_command('aruba-test-cli') }
162
- before(:each) { stop_all_commands }
163
-
164
- it { expect(sanitize_text(last_command_started.output)).to eq "Text" }
165
- end
166
- """
167
- When I run `rspec`
168
- Then the specs should all pass
169
-
170
- Scenario: Output contains ansi escape codes prefixed by \e, but removable is disabled by configuration
171
- Given an executable named "bin/aruba-test-cli" with:
172
- """
173
- #!/bin/bash
174
- echo -n "\e[31mText"
175
- """
176
- And a file named "spec/sanitize_spec.rb" with:
177
- """
178
- require 'spec_helper'
179
-
180
- RSpec.describe 'Run command', :type => :aruba, :remove_ansi_escape_sequences => false, :keep_ansi => true do
181
- before(:each) { run_command('aruba-test-cli') }
182
- before(:each) { stop_all_commands }
183
-
184
- it { expect(sanitize_text(last_command_started.output)).to eq "\e[31mText" }
185
- end
186
- """
187
- When I run `rspec`
188
- Then the specs should all pass
189
-
190
- # Scenario: Output contains ansi escape code \016
191
- # Given an executable named "bin/aruba-test-cli" with:
192
- # """
193
- # #!/bin/bash
194
- # echo -n "\016Text"
195
- # """
196
- # And a file named "spec/sanitize_spec.rb" with:
197
- # """
198
- # require 'spec_helper'
199
- #
200
- # RSpec.describe 'Run command', :type => :aruba do
201
- # before(:each) { run_command('aruba-test-cli') }
202
- # before(:each) { stop_all_commands }
203
- #
204
- # it { expect(sanitize_text(last_command_started.output)).to eq "Text" }
205
- # end
206
- # """
207
- # When I run `rspec`
208
- # Then the specs should all pass
209
-
210
- # Scenario: Output contains ansi escape code \017
211
- # Given an executable named "bin/aruba-test-cli" with:
212
- # """
213
- # #!/bin/bash
214
- # echo -n "\017Text"
215
- # """
216
- # And a file named "spec/sanitize_spec.rb" with:
217
- # """
218
- # require 'spec_helper'
219
- #
220
- # RSpec.describe 'Run command', :type => :aruba do
221
- # before(:each) { run_command('aruba-test-cli') }
222
- # before(:each) { stop_all_commands }
223
- #
224
- # it { expect(sanitize_text(last_command_started.output)).to eq "Text" }
225
- # end
226
- # """
227
- # When I run `rspec`
228
- # Then the specs should all pass