aruba 0.14.9 → 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 (309) 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 -179
  8. data/.rubocop_todo.yml +262 -0
  9. data/.simplecov +7 -5
  10. data/.travis.yml +54 -46
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +613 -246
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -96
  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 +6 -0
  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 -6
  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/empty-app/lib/cli/app.rb +0 -6
  40. data/fixtures/getting-started-app/Gemfile +1 -1
  41. data/lib/aruba/api/commands.rb +109 -143
  42. data/lib/aruba/api/core.rb +57 -43
  43. data/lib/aruba/api/environment.rb +16 -7
  44. data/lib/aruba/api/filesystem.rb +42 -29
  45. data/lib/aruba/api/text.rb +3 -9
  46. data/lib/aruba/api.rb +6 -11
  47. data/lib/aruba/aruba_path.rb +27 -89
  48. data/lib/aruba/basic_configuration.rb +4 -24
  49. data/lib/aruba/cli.rb +1 -1
  50. data/lib/aruba/colorizer.rb +10 -99
  51. data/lib/aruba/command.rb +2 -0
  52. data/lib/aruba/config/jruby.rb +15 -5
  53. data/lib/aruba/config_wrapper.rb +1 -1
  54. data/lib/aruba/configuration.rb +92 -0
  55. data/lib/aruba/console/help.rb +1 -7
  56. data/lib/aruba/console.rb +5 -5
  57. data/lib/aruba/contracts/absolute_path.rb +2 -2
  58. data/lib/aruba/contracts/relative_path.rb +2 -2
  59. data/lib/aruba/cucumber/command.rb +171 -160
  60. data/lib/aruba/cucumber/environment.rb +1 -1
  61. data/lib/aruba/cucumber/file.rb +21 -35
  62. data/lib/aruba/cucumber/hooks.rb +17 -56
  63. data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
  64. data/lib/aruba/cucumber.rb +0 -5
  65. data/lib/aruba/event_bus/name_resolver.rb +5 -16
  66. data/lib/aruba/hooks.rb +1 -1
  67. data/lib/aruba/in_config_wrapper.rb +5 -1
  68. data/lib/aruba/initializer.rb +36 -42
  69. data/lib/aruba/matchers/base/base_matcher.rb +2 -2
  70. data/lib/aruba/matchers/base/message_indenter.rb +19 -0
  71. data/lib/aruba/matchers/base/object_formatter.rb +2 -9
  72. data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
  73. data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
  74. data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
  75. data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
  76. data/lib/aruba/matchers/command/have_output.rb +10 -5
  77. data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
  78. data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
  79. data/lib/aruba/matchers/command/have_output_size.rb +2 -2
  80. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
  81. data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
  82. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
  83. data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
  84. data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
  85. data/lib/aruba/matchers/file/have_file_content.rb +4 -4
  86. data/lib/aruba/matchers/file/have_file_size.rb +6 -8
  87. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
  88. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
  89. data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
  90. data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
  91. data/lib/aruba/matchers/path/have_permissions.rb +6 -8
  92. data/lib/aruba/matchers/string/include_output_string.rb +8 -10
  93. data/lib/aruba/matchers/string/match_output_string.rb +9 -11
  94. data/lib/aruba/matchers/string/output_string_eq.rb +7 -9
  95. data/lib/aruba/platform.rb +0 -8
  96. data/lib/aruba/platforms/announcer.rb +42 -79
  97. data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
  98. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
  99. data/lib/aruba/platforms/aruba_logger.rb +23 -7
  100. data/lib/aruba/platforms/command_monitor.rb +12 -107
  101. data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
  102. data/lib/aruba/platforms/filesystem_status.rb +10 -14
  103. data/lib/aruba/platforms/local_environment.rb +2 -2
  104. data/lib/aruba/platforms/simple_table.rb +3 -11
  105. data/lib/aruba/platforms/unix_command_string.rb +7 -11
  106. data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
  107. data/lib/aruba/platforms/unix_platform.rb +20 -51
  108. data/lib/aruba/platforms/unix_which.rb +2 -1
  109. data/lib/aruba/platforms/windows_command_string.rb +15 -10
  110. data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
  111. data/lib/aruba/platforms/windows_platform.rb +4 -0
  112. data/lib/aruba/platforms/windows_which.rb +4 -3
  113. data/lib/aruba/processes/basic_process.rb +28 -30
  114. data/lib/aruba/processes/debug_process.rb +12 -3
  115. data/lib/aruba/processes/in_process.rb +17 -8
  116. data/lib/aruba/processes/spawn_process.rb +57 -46
  117. data/lib/aruba/rspec.rb +14 -36
  118. data/lib/aruba/runtime.rb +3 -6
  119. data/lib/aruba/setup.rb +6 -6
  120. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  121. data/lib/aruba/version.rb +1 -1
  122. metadata +191 -244
  123. data/features/.nav +0 -72
  124. data/features/api/command/find_command.feature +0 -83
  125. data/features/api/command/last_command_started.feature +0 -50
  126. data/features/api/command/last_command_stopped.feature +0 -89
  127. data/features/api/command/run.feature +0 -414
  128. data/features/api/command/run_simple.feature +0 -242
  129. data/features/api/command/send_signal.feature +0 -53
  130. data/features/api/command/stderr.feature +0 -46
  131. data/features/api/command/stdout.feature +0 -46
  132. data/features/api/command/stop.feature +0 -131
  133. data/features/api/command/stop_all_commands.feature +0 -53
  134. data/features/api/command/terminate_all_commands.feature +0 -53
  135. data/features/api/command/which.feature +0 -37
  136. data/features/api/core/expand_path.feature +0 -88
  137. data/features/api/environment/append_environment_variable.feature +0 -128
  138. data/features/api/environment/delete_environment_variable.feature +0 -63
  139. data/features/api/environment/prepend_environment_variable.feature +0 -128
  140. data/features/api/environment/set_environment_variable.feature +0 -376
  141. data/features/api/filesystem/cd.feature +0 -184
  142. data/features/api/filesystem/create_directory.feature +0 -57
  143. data/features/api/filesystem/disk_usage.feature +0 -152
  144. data/features/api/filesystem/does_exist.feature +0 -62
  145. data/features/api/filesystem/fixtures.feature +0 -104
  146. data/features/api/filesystem/is_absolute.feature +0 -48
  147. data/features/api/filesystem/is_directory.feature +0 -53
  148. data/features/api/filesystem/is_file.feature +0 -54
  149. data/features/api/filesystem/is_relative.feature +0 -48
  150. data/features/api/filesystem/move.feature +0 -119
  151. data/features/api/text/extract_text.feature +0 -87
  152. data/features/api/text/replace_variables.feature +0 -45
  153. data/features/api/text/sanitize_text.feature +0 -228
  154. data/features/api/text/unescape_text.feature +0 -127
  155. data/features/cli/console.feature +0 -52
  156. data/features/cli/init.feature +0 -79
  157. data/features/configuration/activate_announcer_on_command_failure.feature +0 -38
  158. data/features/configuration/command_runtime_environment.feature +0 -129
  159. data/features/configuration/console_history_file.feature +0 -38
  160. data/features/configuration/exit_timeout.feature +0 -52
  161. data/features/configuration/fixtures_directories.feature +0 -38
  162. data/features/configuration/fixtures_path_prefix.feature +0 -23
  163. data/features/configuration/home_directory.feature +0 -80
  164. data/features/configuration/io_timeout.feature +0 -30
  165. data/features/configuration/keep_ansi.feature +0 -30
  166. data/features/configuration/log_level.feature +0 -38
  167. data/features/configuration/physical_block_size.feature +0 -53
  168. data/features/configuration/remove_ansi_escape_sequences.feature +0 -38
  169. data/features/configuration/root_directory.feature +0 -30
  170. data/features/configuration/startup_wait_time.feature +0 -48
  171. data/features/configuration/usage.feature +0 -159
  172. data/features/configuration/working_directory.feature +0 -33
  173. data/features/development/build.feature +0 -15
  174. data/features/getting_started/cleanup.feature +0 -58
  175. data/features/getting_started/run_commands.feature +0 -187
  176. data/features/getting_started/supported_testing_frameworks.feature +0 -104
  177. data/features/getting_started/writing_good_feature_tests.feature +0 -38
  178. data/features/hooks/after/command.feature +0 -46
  179. data/features/hooks/before/command.feature +0 -75
  180. data/features/matchers/collection/include_an_object.feature +0 -72
  181. data/features/matchers/directory/have_sub_directory.feature +0 -110
  182. data/features/matchers/file/be_a_command_found_in_path.feature +0 -115
  183. data/features/matchers/file/be_existing_executable.feature +0 -88
  184. data/features/matchers/file/be_existing_file.feature +0 -82
  185. data/features/matchers/file/have_file_content.feature +0 -123
  186. data/features/matchers/file/have_file_size.feature +0 -107
  187. data/features/matchers/path/be_an_absolute_path.feature +0 -74
  188. data/features/matchers/path/be_an_existing_path.feature +0 -97
  189. data/features/matchers/path/have_permissions.feature +0 -118
  190. data/features/matchers/timeouts.feature +0 -48
  191. data/features/platforms/jruby.feature +0 -14
  192. data/features/rspec/integration.feature +0 -179
  193. data/features/step_definitions/aruba_dev_steps.rb +0 -56
  194. data/features/step_definitions/hooks.rb +0 -156
  195. data/features/steps/command/debug.feature +0 -92
  196. data/features/steps/command/exit_statuses.feature +0 -136
  197. data/features/steps/command/in_process.feature +0 -485
  198. data/features/steps/command/interactive.feature +0 -90
  199. data/features/steps/command/output.feature +0 -567
  200. data/features/steps/command/run.feature +0 -66
  201. data/features/steps/command/send_signal.feature +0 -104
  202. data/features/steps/command/shell.feature +0 -155
  203. data/features/steps/command/stderr.feature +0 -68
  204. data/features/steps/command/stdout.feature +0 -109
  205. data/features/steps/command/stop.feature +0 -313
  206. data/features/steps/core/announce.feature +0 -283
  207. data/features/steps/environment/append_environment_variable.feature +0 -52
  208. data/features/steps/environment/disable_bunder.feature +0 -18
  209. data/features/steps/environment/home_variable.feature +0 -62
  210. data/features/steps/environment/prepend_environment_variable.feature +0 -52
  211. data/features/steps/environment/set_environment_variable.feature +0 -49
  212. data/features/steps/filesystem/append_to_file.feature +0 -45
  213. data/features/steps/filesystem/cd_to_directory.feature +0 -33
  214. data/features/steps/filesystem/check_file_content.feature +0 -61
  215. data/features/steps/filesystem/check_permissions_of_file.feature +0 -39
  216. data/features/steps/filesystem/compare_files.feature +0 -42
  217. data/features/steps/filesystem/copy.feature +0 -45
  218. data/features/steps/filesystem/create_directory.feature +0 -57
  219. data/features/steps/filesystem/create_file.feature +0 -76
  220. data/features/steps/filesystem/existence_of_directory.feature +0 -57
  221. data/features/steps/filesystem/existence_of_file.feature +0 -43
  222. data/features/steps/filesystem/file_content.feature +0 -86
  223. data/features/steps/filesystem/fixtures.feature +0 -64
  224. data/features/steps/filesystem/move.feature +0 -45
  225. data/features/steps/filesystem/non_existence_of_directory.feature +0 -69
  226. data/features/steps/filesystem/non_existence_of_file.feature +0 -80
  227. data/features/steps/filesystem/overwrite_file.feature +0 -72
  228. data/features/steps/filesystem/remove_directory.feature +0 -38
  229. data/features/steps/filesystem/remove_file.feature +0 -38
  230. data/features/steps/filesystem/use_fixture.feature +0 -77
  231. data/features/steps/overview.feature +0 -25
  232. data/features/support/aruba.rb +0 -7
  233. data/features/support/env.rb +0 -33
  234. data/features/support/jruby.rb +0 -5
  235. data/features/support/simplecov_setup.rb +0 -8
  236. data/fixtures/cli-app/bin/cli +0 -6
  237. data/fixtures/spawn_process/stderr.sh +0 -3
  238. data/lib/aruba/api/deprecated.rb +0 -1234
  239. data/lib/aruba/config.rb +0 -107
  240. data/lib/aruba/cucumber/core.rb +0 -5
  241. data/lib/aruba/cucumber/rvm.rb +0 -3
  242. data/lib/aruba/in_process.rb +0 -14
  243. data/lib/aruba/jruby.rb +0 -4
  244. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  245. data/lib/aruba/matchers/deprecated.rb +0 -1
  246. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  247. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  248. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  249. data/lib/aruba/reporting.rb +0 -126
  250. data/lib/aruba/spawn_process.rb +0 -11
  251. data/script/bootstrap +0 -28
  252. data/script/console +0 -16
  253. data/script/test +0 -3
  254. data/spec/aruba/api/bundler_spec.rb +0 -15
  255. data/spec/aruba/api/deprecated_spec.rb +0 -308
  256. data/spec/aruba/api/environment/restore_env_spec.rb +0 -86
  257. data/spec/aruba/api/environment/set_env_spec.rb +0 -46
  258. data/spec/aruba/api/filesystem/file_size_spec.rb +0 -28
  259. data/spec/aruba/api/runtime_spec.rb +0 -28
  260. data/spec/aruba/api_spec.rb +0 -981
  261. data/spec/aruba/aruba_path_spec.rb +0 -103
  262. data/spec/aruba/basic_configuration_spec.rb +0 -5
  263. data/spec/aruba/configuration_spec.rb +0 -5
  264. data/spec/aruba/hooks_spec.rb +0 -17
  265. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  266. data/spec/aruba/jruby_spec.rb +0 -55
  267. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  268. data/spec/aruba/matchers/command_spec.rb +0 -174
  269. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  270. data/spec/aruba/matchers/directory_spec.rb +0 -57
  271. data/spec/aruba/matchers/file_spec.rb +0 -208
  272. data/spec/aruba/matchers/path_spec.rb +0 -58
  273. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  274. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  275. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  276. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  277. data/spec/aruba/rspec_spec.rb +0 -15
  278. data/spec/aruba/runtime_spec.rb +0 -29
  279. data/spec/aruba/spawn_process_spec.rb +0 -96
  280. data/spec/event_bus/name_resolver_spec.rb +0 -68
  281. data/spec/event_bus_spec.rb +0 -158
  282. data/spec/spec_helper.rb +0 -20
  283. data/spec/support/configs/.keep +0 -0
  284. data/spec/support/configs/aruba.rb +0 -5
  285. data/spec/support/configs/pry.rb +0 -3
  286. data/spec/support/configs/rspec.rb +0 -15
  287. data/spec/support/helpers/.keep +0 -0
  288. data/spec/support/helpers/reporting.rb +0 -44
  289. data/spec/support/matchers/.keep +0 -0
  290. data/spec/support/matchers/option.rb +0 -35
  291. data/spec/support/shared_contexts/.keep +0 -0
  292. data/spec/support/shared_contexts/aruba.rb +0 -49
  293. data/spec/support/shared_examples/.keep +0 -0
  294. data/spec/support/shared_examples/configuration.rb +0 -116
  295. data/spec/support/shared_examples/directory.rb +0 -7
  296. data/spec/support/shared_examples/file.rb +0 -7
  297. data/templates/css/console.css +0 -24
  298. data/templates/css/filesystem.css +0 -42
  299. data/templates/css/pygments-autumn.css +0 -59
  300. data/templates/files.erb +0 -14
  301. data/templates/images/LICENSE +0 -22
  302. data/templates/images/folder.png +0 -0
  303. data/templates/images/page_white.png +0 -0
  304. data/templates/images/page_white_gherkin.png +0 -0
  305. data/templates/images/page_white_ruby.png +0 -0
  306. data/templates/index.erb +0 -20
  307. data/templates/js/filesystem.js +0 -5
  308. data/templates/js/jquery-1.11.3.min.js +0 -5
  309. 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,62 +0,0 @@
1
- Feature: Check existence of files and directories
2
-
3
- Use the `#exist?` to check if a path exists within
4
- `aruba`'s working directory. , May also want to look for `#file?` or
5
- `#directory?` for some more specific tests.
6
-
7
- ```ruby
8
- require 'spec_helper'
9
-
10
- RSpec.configure do |config|
11
- config.include Aruba::Api
12
- end
13
-
14
- RSpec.describe 'Check if directory and file exist' do
15
- let(:directory) { 'dir.d' }
16
- let(:file) { 'file.txt' }
17
-
18
- before(:each) { create_directory(directory) }
19
- before(:each) { touch(file) }
20
-
21
- it { expect(exist?(directory)).to be true }
22
- it { expect(exist?(file)).to be true }
23
- end
24
- ```
25
-
26
- Background:
27
- Given I use a fixture named "cli-app"
28
-
29
- Scenario: Is file or directory and exists
30
- Given a file named "spec/create_directory_spec.rb" with:
31
- """ruby
32
- require 'spec_helper'
33
-
34
- RSpec.describe 'Check if directory and file exist', :type => :aruba do
35
- let(:directory) { 'dir.d' }
36
- let(:file) { 'file.txt' }
37
-
38
- before(:each) { create_directory(directory) }
39
- before(:each) { touch(file) }
40
-
41
- it { expect(exist?(directory)).to be true }
42
- it { expect(exist?(file)).to be true }
43
- end
44
- """
45
- When I run `rspec`
46
- Then the specs should all pass
47
-
48
- Scenario: Is file or directory and does not exist
49
- Given a file named "spec/create_directory_spec.rb" with:
50
- """ruby
51
- require 'spec_helper'
52
-
53
- RSpec.describe 'Check if directory and file exist', :type => :aruba do
54
- let(:directory) { 'dir.d' }
55
- let(:file) { 'file.txt' }
56
-
57
- it { expect(exist?(directory)).to be false }
58
- it { expect(exist?(file)).to be false }
59
- end
60
- """
61
- When I run `rspec`
62
- 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,48 +0,0 @@
1
- Feature: Check if path is absolute
2
-
3
- Use the `#absolute?`-method to check if a path is an absolute path.
4
-
5
- ```ruby
6
- require 'spec_helper'
7
-
8
- RSpec.configure do |config|
9
- config.include Aruba::Api
10
- end
11
-
12
- RSpec.describe 'Check if directory or file is absolute' do
13
- let(:path) { '/path/to/file.txt' }
14
-
15
- it { expect(absolute?(path)).to be true }
16
- end
17
- ```
18
-
19
- Background:
20
- Given I use a fixture named "cli-app"
21
-
22
- Scenario: Is path absolute
23
- Given a file named "spec/create_directory_spec.rb" with:
24
- """ruby
25
- require 'spec_helper'
26
-
27
- RSpec.describe 'Check if directory or file is absolute', :type => :aruba do
28
- let(:path) { '/path/to/file.txt' }
29
-
30
- it { expect(absolute?(path)).to be true }
31
- end
32
- """
33
- When I run `rspec`
34
- Then the specs should all pass
35
-
36
- Scenario: Path should be absolute, but it's relative
37
- Given a file named "spec/create_directory_spec.rb" with:
38
- """ruby
39
- require 'spec_helper'
40
-
41
- RSpec.describe 'Check if directory or file is absolute', :type => :aruba do
42
- let(:path) { 'file.txt' }
43
-
44
- it { expect(absolute?(path)).to be false }
45
- end
46
- """
47
- When I run `rspec`
48
- Then the specs should all pass
@@ -1,53 +0,0 @@
1
- Feature: Check existence of directories
2
-
3
- Use the `#directory?` to check if a path is a directory and exists within
4
- `aruba`'s working directory.
5
-
6
- ```ruby
7
- require 'spec_helper'
8
-
9
- RSpec.configure do |config|
10
- config.include Aruba::Api
11
- end
12
-
13
- RSpec.describe 'Check if directory and file exist' do
14
- let(:directory) { 'dir.d' }
15
-
16
- before(:each) { create_directory(directory) }
17
-
18
- it { expect(directory?(directory)).to be true }
19
- end
20
- ```
21
-
22
- Background:
23
- Given I use a fixture named "cli-app"
24
-
25
- Scenario: Is directory and exist
26
- Given a file named "spec/create_directory_spec.rb" with:
27
- """ruby
28
- require 'spec_helper'
29
-
30
- RSpec.describe 'Check if directory and file exist', :type => :aruba do
31
- let(:directory) { 'dir.d' }
32
- before(:each) { create_directory(directory) }
33
-
34
- it { expect(directory?(directory)).to be true }
35
- end
36
- """
37
- When I run `rspec`
38
- Then the specs should all pass
39
-
40
- Scenario: Is file, but should be directory and exist
41
- Given a file named "spec/create_directory_spec.rb" with:
42
- """ruby
43
- require 'spec_helper'
44
-
45
- RSpec.describe 'Check if directory and file exist', :type => :aruba do
46
- let(:file) { 'file.txt' }
47
- before(:each) { touch(file) }
48
-
49
- it { expect(directory?(file)).to be false }
50
- end
51
- """
52
- When I run `rspec`
53
- Then the specs should all pass
@@ -1,54 +0,0 @@
1
- Feature: Check existence of files
2
-
3
- Use the `#file?` to check if a path is a file and exists within `aruba`'s
4
- working directory.
5
-
6
- ```ruby
7
- require 'spec_helper'
8
-
9
- RSpec.configure do |config|
10
- config.include Aruba::Api
11
- end
12
-
13
- RSpec.describe 'Check if directory and file exist' do
14
- let(:file) { 'file.txt' }
15
-
16
- before(:each) { touch(file) }
17
-
18
- it { expect(file?(file)).to be true }
19
- end
20
- ```
21
-
22
- Background:
23
- Given I use a fixture named "cli-app"
24
-
25
- Scenario: Is file and exist
26
- Given a file named "spec/create_directory_spec.rb" with:
27
- """ruby
28
- require 'spec_helper'
29
-
30
- RSpec.describe 'Check if directory and file exist', :type => :aruba do
31
- let(:file) { 'file.txt' }
32
-
33
- before(:each) { touch(file) }
34
-
35
- it { expect(file?(file)).to be true }
36
- end
37
- """
38
- When I run `rspec`
39
- Then the specs should all pass
40
-
41
- Scenario: Is directory, but should be file and exist
42
- Given a file named "spec/create_directory_spec.rb" with:
43
- """ruby
44
- require 'spec_helper'
45
-
46
- RSpec.describe 'Check if directory and file exist', :type => :aruba do
47
- let(:directory) { 'dir.d' }
48
- before(:each) { create_directory(directory) }
49
-
50
- it { expect(file?(directory)).to be false }
51
- end
52
- """
53
- When I run `rspec`
54
- Then the specs should all pass
@@ -1,48 +0,0 @@
1
- Feature: Check if path is relative
2
-
3
- Use the `#relative?`-method to check if a path is an relative path.
4
-
5
- ```ruby
6
- require 'spec_helper'
7
-
8
- RSpec.configure do |config|
9
- config.include Aruba::Api
10
- end
11
-
12
- RSpec.describe 'Check if directory or file is relative' do
13
- let(:path) { '/path/to/file.txt' }
14
-
15
- it { expect(relative?(path)).to be true }
16
- end
17
- ```
18
-
19
- Background:
20
- Given I use a fixture named "cli-app"
21
-
22
- Scenario: Is path relative
23
- Given a file named "spec/create_directory_spec.rb" with:
24
- """ruby
25
- require 'spec_helper'
26
-
27
- RSpec.describe 'Check if directory or file is relative', :type => :aruba do
28
- let(:path) { 'file.txt' }
29
-
30
- it { expect(relative?(path)).to be true }
31
- end
32
- """
33
- When I run `rspec`
34
- Then the specs should all pass
35
-
36
- Scenario: Path should be relative, but it's relative
37
- Given a file named "spec/create_directory_spec.rb" with:
38
- """ruby
39
- require 'spec_helper'
40
-
41
- RSpec.describe 'Check if directory or file is relative', :type => :aruba do
42
- let(:path) { '/path/to/file.txt' }
43
-
44
- it { expect(relative?(path)).to be false }
45
- end
46
- """
47
- When I run `rspec`
48
- Then the specs should all pass
@@ -1,119 +0,0 @@
1
- Feature: Move file/directory
2
-
3
- If you need to move some files/directories you can use the `#move`-method
4
- command. If multiple arguments are given, the last one needs to be a directory.
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Non-existing destination
10
- Given a file named "spec/cd_spec.rb" with:
11
- """ruby
12
- require 'spec_helper'
13
-
14
- RSpec.describe 'Move', :type => :aruba do
15
- let(:old_location) { 'old_dir.d' }
16
- let(:new_location) { 'new_dir.d' }
17
-
18
- before(:each) do
19
- create_directory old_location
20
- move old_location, new_location
21
- end
22
-
23
- it { expect(new_location).to be_an_existing_directory }
24
- end
25
- """
26
- When I run `rspec`
27
- Then the specs should all pass
28
-
29
- Scenario: Existing destination
30
- Given a file named "spec/cd_spec.rb" with:
31
- """ruby
32
- require 'spec_helper'
33
-
34
- RSpec.describe 'Move', :type => :aruba do
35
- let(:old_location) { 'old_dir.d' }
36
- let(:new_location) { 'new_dir.d' }
37
-
38
- before(:each) do
39
- create_directory old_location
40
- create_directory new_location
41
-
42
- move old_location, new_location
43
- end
44
-
45
- it { expect(File.join(new_location, old_location)).to be_an_existing_directory }
46
- end
47
- """
48
- When I run `rspec`
49
- Then the specs should all pass
50
-
51
- Scenario: Source is fixture path
52
- Given a file named "spec/cd_spec.rb" with:
53
- """ruby
54
- require 'spec_helper'
55
-
56
- RSpec.describe 'Move', :type => :aruba do
57
- let(:old_location) { '%/old_dir.d' }
58
- let(:new_location) { 'new_dir.d' }
59
-
60
- it { expect { move old_location, new_location }.to raise_error ArgumentError, /fixture/ }
61
- end
62
- """
63
- When I run `rspec`
64
- Then the specs should all pass
65
-
66
- Scenario: Destination is fixture path
67
- Given a file named "spec/cd_spec.rb" with:
68
- """ruby
69
- require 'spec_helper'
70
-
71
- RSpec.describe 'Move', :type => :aruba do
72
- let(:old_location) { 'old_dir.d' }
73
- let(:new_location) { '%/new_dir.d' }
74
-
75
- it { expect { move old_location, new_location }.to raise_error ArgumentError, /fixture/ }
76
- end
77
- """
78
- When I run `rspec`
79
- Then the specs should all pass
80
-
81
- Scenario: Multiple sources and destination is directory
82
- Given a file named "spec/cd_spec.rb" with:
83
- """ruby
84
- require 'spec_helper'
85
-
86
- RSpec.describe 'Move', :type => :aruba do
87
- let(:old_location) { %w(old_dir1.d old_dir2.d) }
88
- let(:new_location) { 'new_dir.d' }
89
-
90
- before :each do
91
- old_location.each { |l| create_directory l }
92
- move old_location, new_location
93
- end
94
-
95
- it { expect(old_location.map { |l| File.join(new_location, l) }).to all be_an_existing_directory }
96
- end
97
- """
98
- When I run `rspec`
99
- Then the specs should all pass
100
-
101
- Scenario: Multiple sources and destination is file
102
- Given a file named "spec/cd_spec.rb" with:
103
- """ruby
104
- require 'spec_helper'
105
-
106
- RSpec.describe 'Move', :type => :aruba do
107
- let(:old_location) { %w(old_dir1.d old_dir2.d) }
108
- let(:new_location) { 'new_file.txt' }
109
-
110
- before :each do
111
- old_location.each { |l| create_directory l }
112
- touch new_location
113
- end
114
-
115
- it { expect { move old_location, new_location }.to raise_error ArgumentError, /Multiple sources/ }
116
- end
117
- """
118
- When I run `rspec`
119
- Then the specs should all pass