aruba 0.14.10 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. checksums.yaml +4 -4
  2. data/.cucumberproignore +3 -0
  3. data/.github/ISSUE_TEMPLATE.md +48 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +41 -0
  5. data/.gitignore +1 -0
  6. data/.rspec +1 -1
  7. data/.rubocop.yml +20 -181
  8. data/.rubocop_todo.yml +262 -0
  9. data/.simplecov +7 -5
  10. data/.travis.yml +53 -25
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +585 -248
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -106
  16. data/LICENSE +1 -1
  17. data/README.md +57 -180
  18. data/Rakefile +63 -32
  19. data/appveyor.yml +8 -11
  20. data/aruba.gemspec +47 -41
  21. data/bin/console +7 -0
  22. data/bin/test +9 -0
  23. data/cucumber.yml +4 -24
  24. data/doc/dependency_decisions.yml +42 -2
  25. data/docker-compose.yml +26 -0
  26. data/{bin → exe}/aruba +1 -1
  27. data/fixtures/cli-app/Rakefile +1 -1
  28. data/fixtures/cli-app/bin/aruba-test-cli +1 -1
  29. data/fixtures/cli-app/cli-app.gemspec +1 -2
  30. data/fixtures/cli-app/features/support/aruba.rb +1 -0
  31. data/fixtures/cli-app/features/support/env.rb +1 -1
  32. data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +3 -3
  33. data/fixtures/cli-app/lib/cli/app/version.rb +1 -1
  34. data/fixtures/cli-app/lib/cli/app.rb +1 -5
  35. data/fixtures/cli-app/spec/spec_helper.rb +4 -7
  36. data/fixtures/empty-app/Rakefile +1 -1
  37. data/fixtures/empty-app/cli-app.gemspec +1 -2
  38. data/fixtures/empty-app/lib/cli/app/version.rb +1 -1
  39. data/fixtures/getting-started-app/Gemfile +1 -1
  40. data/lib/aruba/api/commands.rb +85 -143
  41. data/lib/aruba/api/core.rb +48 -41
  42. data/lib/aruba/api/environment.rb +16 -7
  43. data/lib/aruba/api/filesystem.rb +43 -30
  44. data/lib/aruba/api/text.rb +3 -9
  45. data/lib/aruba/api.rb +6 -11
  46. data/lib/aruba/aruba_path.rb +27 -89
  47. data/lib/aruba/basic_configuration.rb +4 -24
  48. data/lib/aruba/cli.rb +1 -1
  49. data/lib/aruba/command.rb +2 -0
  50. data/lib/aruba/config/jruby.rb +1 -1
  51. data/lib/aruba/config_wrapper.rb +1 -1
  52. data/lib/aruba/configuration.rb +92 -0
  53. data/lib/aruba/console/help.rb +1 -7
  54. data/lib/aruba/console.rb +5 -5
  55. data/lib/aruba/contracts/absolute_path.rb +2 -2
  56. data/lib/aruba/contracts/relative_path.rb +2 -2
  57. data/lib/aruba/cucumber/command.rb +136 -95
  58. data/lib/aruba/cucumber/environment.rb +1 -1
  59. data/lib/aruba/cucumber/file.rb +21 -23
  60. data/lib/aruba/cucumber/hooks.rb +18 -13
  61. data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
  62. data/lib/aruba/cucumber.rb +0 -6
  63. data/lib/aruba/event_bus/name_resolver.rb +5 -16
  64. data/lib/aruba/hooks.rb +1 -1
  65. data/lib/aruba/in_config_wrapper.rb +5 -1
  66. data/lib/aruba/initializer.rb +36 -42
  67. data/lib/aruba/matchers/base/base_matcher.rb +2 -2
  68. data/lib/aruba/matchers/base/message_indenter.rb +19 -0
  69. data/lib/aruba/matchers/base/object_formatter.rb +2 -9
  70. data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
  71. data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
  72. data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
  73. data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
  74. data/lib/aruba/matchers/command/have_output.rb +10 -5
  75. data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
  76. data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
  77. data/lib/aruba/matchers/command/have_output_size.rb +2 -2
  78. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
  79. data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
  80. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
  81. data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
  82. data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
  83. data/lib/aruba/matchers/file/have_file_content.rb +4 -4
  84. data/lib/aruba/matchers/file/have_file_size.rb +6 -8
  85. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
  86. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
  87. data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
  88. data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
  89. data/lib/aruba/matchers/path/have_permissions.rb +6 -8
  90. data/lib/aruba/matchers/string/include_output_string.rb +8 -10
  91. data/lib/aruba/matchers/string/match_output_string.rb +9 -11
  92. data/lib/aruba/matchers/string/output_string_eq.rb +8 -10
  93. data/lib/aruba/platform.rb +0 -8
  94. data/lib/aruba/platforms/announcer.rb +42 -79
  95. data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
  96. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
  97. data/lib/aruba/platforms/aruba_logger.rb +23 -7
  98. data/lib/aruba/platforms/command_monitor.rb +12 -104
  99. data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
  100. data/lib/aruba/platforms/filesystem_status.rb +10 -14
  101. data/lib/aruba/platforms/local_environment.rb +2 -2
  102. data/lib/aruba/platforms/simple_table.rb +3 -11
  103. data/lib/aruba/platforms/unix_command_string.rb +7 -11
  104. data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
  105. data/lib/aruba/platforms/unix_platform.rb +20 -51
  106. data/lib/aruba/platforms/unix_which.rb +2 -1
  107. data/lib/aruba/platforms/windows_command_string.rb +15 -10
  108. data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
  109. data/lib/aruba/platforms/windows_platform.rb +4 -0
  110. data/lib/aruba/platforms/windows_which.rb +4 -3
  111. data/lib/aruba/processes/basic_process.rb +28 -30
  112. data/lib/aruba/processes/debug_process.rb +12 -3
  113. data/lib/aruba/processes/in_process.rb +17 -8
  114. data/lib/aruba/processes/spawn_process.rb +40 -41
  115. data/lib/aruba/rspec.rb +14 -36
  116. data/lib/aruba/runtime.rb +3 -6
  117. data/lib/aruba/setup.rb +6 -6
  118. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  119. data/lib/aruba/version.rb +1 -1
  120. metadata +190 -236
  121. data/features/.nav +0 -72
  122. data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
  123. data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
  124. data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
  125. data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
  126. data/features/02_configure_aruba/basics.feature +0 -151
  127. data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
  128. data/features/02_configure_aruba/console_history_file.feature +0 -38
  129. data/features/02_configure_aruba/exit_timeout.feature +0 -60
  130. data/features/02_configure_aruba/fixtures_directories.feature +0 -38
  131. data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
  132. data/features/02_configure_aruba/home_directory.feature +0 -80
  133. data/features/02_configure_aruba/io_timeout.feature +0 -30
  134. data/features/02_configure_aruba/keep_ansi.feature +0 -30
  135. data/features/02_configure_aruba/log_level.feature +0 -38
  136. data/features/02_configure_aruba/physical_block_size.feature +0 -53
  137. data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
  138. data/features/02_configure_aruba/root_directory.feature +0 -30
  139. data/features/02_configure_aruba/startup_wait_time.feature +0 -48
  140. data/features/02_configure_aruba/working_directory.feature +0 -38
  141. data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -263
  142. data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
  143. data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
  144. data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
  145. data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
  146. data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
  147. data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -92
  148. data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
  149. data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
  150. data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
  151. data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
  152. data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
  153. data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
  154. data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
  155. data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
  156. data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
  157. data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
  158. data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
  159. data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
  160. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
  161. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
  162. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
  163. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
  164. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
  165. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
  166. data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
  167. data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
  168. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
  169. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
  170. data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
  171. data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
  172. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
  173. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
  174. data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
  175. data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
  176. data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
  177. data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
  178. data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
  179. data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
  180. data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
  181. data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
  182. data/features/04_aruba_api/command/run_command.feature +0 -423
  183. data/features/04_aruba_api/command/run_simple.feature +0 -254
  184. data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
  185. data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
  186. data/features/04_aruba_api/command/stop_single_command.feature +0 -132
  187. data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
  188. data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
  189. data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
  190. data/features/04_aruba_api/core/expand_path.feature +0 -88
  191. data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
  192. data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
  193. data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
  194. data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
  195. data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
  196. data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
  197. data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
  198. data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
  199. data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
  200. data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
  201. data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
  202. data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
  203. data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
  204. data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
  205. data/features/04_aruba_api/text/extract_text.feature +0 -87
  206. data/features/04_aruba_api/text/replace_variables.feature +0 -45
  207. data/features/04_aruba_api/text/sanitize_text.feature +0 -228
  208. data/features/04_aruba_api/text/unescape_text.feature +0 -127
  209. data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
  210. data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
  211. data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
  212. data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
  213. data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
  214. data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
  215. data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
  216. data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
  217. data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
  218. data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
  219. data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
  220. data/features/06_use_aruba_cli/open_console.feature +0 -52
  221. data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
  222. data/features/step_definitions/hooks.rb +0 -146
  223. data/features/support/aruba.rb +0 -7
  224. data/features/support/env.rb +0 -33
  225. data/features/support/jruby.rb +0 -5
  226. data/features/support/simplecov_setup.rb +0 -11
  227. data/fixtures/spawn_process/stderr.sh +0 -3
  228. data/lib/aruba/api/deprecated.rb +0 -1163
  229. data/lib/aruba/config.rb +0 -107
  230. data/lib/aruba/cucumber/core.rb +0 -5
  231. data/lib/aruba/cucumber/deprecated.rb +0 -93
  232. data/lib/aruba/cucumber/rvm.rb +0 -3
  233. data/lib/aruba/in_process.rb +0 -16
  234. data/lib/aruba/jruby.rb +0 -4
  235. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  236. data/lib/aruba/matchers/deprecated.rb +0 -1
  237. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  238. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  239. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  240. data/lib/aruba/reporting.rb +0 -126
  241. data/lib/aruba/spawn_process.rb +0 -14
  242. data/script/bootstrap +0 -24
  243. data/script/console +0 -16
  244. data/script/test +0 -3
  245. data/spec/aruba/api/bundler_spec.rb +0 -15
  246. data/spec/aruba/api/core_spec.rb +0 -142
  247. data/spec/aruba/api/deprecated_spec.rb +0 -421
  248. data/spec/aruba/api/filesystem_spec.rb +0 -746
  249. data/spec/aruba/api/runtime_spec.rb +0 -28
  250. data/spec/aruba/api_spec.rb +0 -97
  251. data/spec/aruba/aruba_path_spec.rb +0 -103
  252. data/spec/aruba/basic_configuration_spec.rb +0 -5
  253. data/spec/aruba/configuration_spec.rb +0 -5
  254. data/spec/aruba/hooks_spec.rb +0 -17
  255. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  256. data/spec/aruba/jruby_spec.rb +0 -73
  257. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  258. data/spec/aruba/matchers/command_spec.rb +0 -174
  259. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  260. data/spec/aruba/matchers/directory_spec.rb +0 -57
  261. data/spec/aruba/matchers/file_spec.rb +0 -208
  262. data/spec/aruba/matchers/path_spec.rb +0 -58
  263. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  264. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  265. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  266. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  267. data/spec/aruba/processes/spawn_process_spec.rb +0 -112
  268. data/spec/aruba/rspec_spec.rb +0 -15
  269. data/spec/aruba/runtime_spec.rb +0 -29
  270. data/spec/event_bus/name_resolver_spec.rb +0 -68
  271. data/spec/event_bus_spec.rb +0 -158
  272. data/spec/spec_helper.rb +0 -22
  273. data/spec/support/configs/.keep +0 -0
  274. data/spec/support/configs/aruba.rb +0 -5
  275. data/spec/support/configs/pry.rb +0 -3
  276. data/spec/support/configs/rspec.rb +0 -15
  277. data/spec/support/helpers/.keep +0 -0
  278. data/spec/support/helpers/reporting.rb +0 -44
  279. data/spec/support/matchers/.keep +0 -0
  280. data/spec/support/matchers/option.rb +0 -35
  281. data/spec/support/shared_contexts/.keep +0 -0
  282. data/spec/support/shared_contexts/aruba.rb +0 -49
  283. data/spec/support/shared_examples/.keep +0 -0
  284. data/spec/support/shared_examples/configuration.rb +0 -116
  285. data/spec/support/shared_examples/directory.rb +0 -7
  286. data/spec/support/shared_examples/file.rb +0 -7
  287. data/templates/css/console.css +0 -24
  288. data/templates/css/filesystem.css +0 -42
  289. data/templates/css/pygments-autumn.css +0 -59
  290. data/templates/files.erb +0 -14
  291. data/templates/images/LICENSE +0 -22
  292. data/templates/images/folder.png +0 -0
  293. data/templates/images/page_white.png +0 -0
  294. data/templates/images/page_white_gherkin.png +0 -0
  295. data/templates/images/page_white_ruby.png +0 -0
  296. data/templates/index.erb +0 -20
  297. data/templates/js/filesystem.js +0 -5
  298. data/templates/js/jquery-1.11.3.min.js +0 -5
  299. data/templates/main.erb +0 -34
@@ -1,57 +0,0 @@
1
- require 'spec_helper'
2
- require 'aruba/matchers/directory'
3
- require 'fileutils'
4
-
5
- RSpec.describe 'Directory Matchers' do
6
- include_context 'uses aruba API'
7
- include_context 'needs to expand paths'
8
-
9
- describe 'to_be_an_existing_directory' do
10
- let(:name) { 'test.d' }
11
- let(:path) { @aruba.expand_path(name) }
12
-
13
- context 'when directory exists' do
14
- before :each do
15
- FileUtils.mkdir_p path
16
- end
17
-
18
- it { expect(name).to be_an_existing_directory }
19
- end
20
-
21
- context 'when directory does not exist' do
22
- it { expect(name).not_to be_an_existing_directory }
23
- end
24
- end
25
-
26
- describe 'to_have_sub_directory' do
27
- let(:name) { 'test.d' }
28
- let(:path) { @aruba.expand_path(name) }
29
- let(:content) { %w(subdir.1.d subdir.2.d) }
30
-
31
- context 'when directory exists' do
32
- before :each do
33
- FileUtils.mkdir_p path
34
- end
35
-
36
- before :each do
37
- Array(content).each { |p| Dir.mkdir File.join(path, p) }
38
- end
39
-
40
- context 'when single directory' do
41
- it { expect(name).to have_sub_directory('subdir.1.d') }
42
- end
43
-
44
- context 'when multiple directories' do
45
- it { expect(name).to have_sub_directory(['subdir.1.d', 'subdir.2.d']) }
46
- end
47
-
48
- context 'when non existing directory' do
49
- it { expect(name).not_to have_sub_directory('subdir.3.d') }
50
- end
51
- end
52
-
53
- context 'when directory does not exist' do
54
- it { expect(name).not_to have_sub_directory('subdir') }
55
- end
56
- end
57
- end
@@ -1,208 +0,0 @@
1
- require 'spec_helper'
2
- require 'aruba/matchers/file'
3
-
4
- RSpec.describe 'File Matchers' do
5
- include_context 'uses aruba API'
6
- include_context 'needs to expand paths'
7
-
8
- describe 'to_be_an_existing_file' do
9
- let(:name) { @file_name }
10
-
11
- context 'when file exists' do
12
- before(:each) { create_test_files(name) }
13
-
14
- it { expect(name).to be_an_existing_file }
15
- end
16
-
17
- context 'when file does not exist' do
18
- it { expect(name).not_to be_an_existing_file }
19
- end
20
-
21
- context 'when contains ~' do
22
- let(:name) { File.join('~', random_string) }
23
-
24
- before(:each) do
25
- @aruba.with_environment 'HOME' => expand_path('.') do
26
- create_test_files(name)
27
- end
28
- end
29
-
30
- it do
31
- @aruba.with_environment 'HOME' => expand_path('.') do
32
- expect(name).to be_an_existing_file
33
- end
34
- end
35
- end
36
- end
37
-
38
- describe 'to_have_file_content' do
39
- context 'when file exists' do
40
- before :each do
41
- Aruba.platform.write_file(@file_path, 'aba')
42
- end
43
-
44
- context 'and file content is exactly equal string ' do
45
- it { expect(@file_name).to have_file_content('aba') }
46
- end
47
-
48
- context 'and file content contains string' do
49
- it { expect(@file_name).to have_file_content(/b/) }
50
- end
51
-
52
- context 'and file content is not exactly equal string' do
53
- it { expect(@file_name).not_to have_file_content('c') }
54
- end
55
-
56
- context 'and file content not contains string' do
57
- it { expect(@file_name).not_to have_file_content(/c/) }
58
- end
59
-
60
- context 'when other matchers is given which matches a string start with "a"' do
61
- it { expect(@file_name).to have_file_content(a_string_starting_with('a')) }
62
- end
63
- end
64
-
65
- context 'when file does not exist' do
66
- it { expect(@file_name).not_to have_file_content('a') }
67
- end
68
-
69
- describe "description" do
70
- context "when string" do
71
- it { expect(have_file_content("a").description).to eq('have file content: "a"') }
72
- end
73
-
74
- context "when regexp" do
75
- it { expect(have_file_content(/a/).description).to eq('have file content: /a/') }
76
- end
77
-
78
- context "when matcher" do
79
- it { expect(have_file_content(a_string_starting_with("a")).description).to eq('have file content: a string starting with "a"') }
80
- end
81
- end
82
-
83
- describe 'failure messages' do
84
- def fail_with(message)
85
- raise_error(RSpec::Expectations::ExpectationNotMetError, message)
86
- end
87
-
88
- example 'for a string' do
89
- expect do
90
- expect(@file_name).to have_file_content("z")
91
- end.to fail_with('expected "test.txt" to have file content: "z"')
92
- end
93
-
94
- example 'for a string' do
95
- expect do
96
- expect(@file_name).to have_file_content(/z/)
97
- end.to fail_with('expected "test.txt" to have file content: /z/')
98
- end
99
-
100
- example 'for a matcher' do
101
- expect do
102
- expect(@file_name).to have_file_content(a_string_starting_with("z"))
103
- end.to fail_with('expected "test.txt" to have file content: a string starting with "z"')
104
- end
105
- end
106
- end
107
-
108
- describe 'to_have_file_size' do
109
- context 'when file exists' do
110
- before :each do
111
- Aruba.platform.write_file(@file_path, '')
112
- end
113
-
114
- context 'and file size is equal' do
115
- it { expect(@file_name).to have_file_size(0) }
116
- end
117
-
118
- context 'and file size is not equal' do
119
- it { expect(@file_name).not_to have_file_size(1) }
120
- end
121
- end
122
-
123
- context 'when file does not exist' do
124
- it { expect(@file_name).not_to have_file_size(0) }
125
- end
126
- end
127
-
128
- describe "to have_same_file_content_as" do
129
- let(:file_name) { @file_name }
130
- let(:file_path) { @file_path }
131
-
132
- let(:reference_file) { 'fixture' }
133
-
134
- before :each do
135
- @aruba.write_file(@file_name, "foo bar baz")
136
- @aruba.write_file(reference_file, reference_file_content)
137
- end
138
-
139
- context 'when files are the same' do
140
- let(:reference_file_content) { 'foo bar baz' }
141
-
142
- context 'and this is expected' do
143
- it { expect(file_name).to have_same_file_content_as reference_file }
144
- end
145
-
146
- context 'and this is not expected' do
147
- it do
148
- expect { expect(file_name).not_to have_same_file_content_as reference_file }.to raise_error RSpec::Expectations::ExpectationNotMetError
149
- end
150
- end
151
- end
152
-
153
- context 'when files are not the same' do
154
- let(:reference_file_content) { 'bar' }
155
-
156
- context 'and this is expected' do
157
- it { expect(file_name).not_to have_same_file_content_as reference_file }
158
- end
159
-
160
- context 'and this is not expected' do
161
- it do
162
- expect { expect(file_name).to have_same_file_content_as reference_file }.to raise_error RSpec::Expectations::ExpectationNotMetError
163
- end
164
- end
165
- end
166
- end
167
-
168
- describe "include a_file_with_same_content_as" do
169
- let(:reference_file) { 'fixture' }
170
- let(:reference_file_content) { 'foo bar baz' }
171
- let(:file_with_same_content) { 'file_a.txt' }
172
- let(:file_with_different_content) { 'file_b.txt' }
173
-
174
- before :each do
175
- @aruba.write_file(file_with_same_content, reference_file_content)
176
- @aruba.write_file(reference_file, reference_file_content)
177
- @aruba.write_file(file_with_different_content, 'Some different content here...')
178
- end
179
-
180
- context 'when the array of files includes a file with the same content' do
181
- let(:files) { [file_with_different_content, file_with_same_content] }
182
-
183
- context 'and this is expected' do
184
- it { expect(files).to include a_file_with_same_content_as reference_file }
185
- end
186
-
187
- context 'and this is not expected' do
188
- it do
189
- expect { expect(files).not_to include a_file_with_same_content_as reference_file }
190
- end
191
- end
192
- end
193
-
194
- context 'when the array of files does not include a file with the same content' do
195
- let(:files) { [file_with_different_content] }
196
-
197
- context 'and this is expected' do
198
- it { expect(files).not_to include a_file_with_same_content_as reference_file }
199
- end
200
-
201
- context 'and this is not expected' do
202
- it do
203
- expect { expect(files).to include a_file_with_same_content_as reference_file }
204
- end
205
- end
206
- end
207
- end
208
- end
@@ -1,58 +0,0 @@
1
- require 'spec_helper'
2
-
3
- require 'fileutils'
4
- require 'aruba/matchers/path'
5
-
6
- RSpec.describe 'Path Matchers' do
7
- include_context 'uses aruba API'
8
-
9
- def expand_path(*args)
10
- @aruba.expand_path(*args)
11
- end
12
-
13
- describe 'to_be_an_absolute_path' do
14
- let(:name) { @file_name }
15
- let(:path) { @aruba.expand_path(name) }
16
-
17
- context 'when is absolute path' do
18
- it { expect(path).to be_an_absolute_path }
19
- end
20
-
21
- context 'when is relative path' do
22
- it { expect(name).not_to be_an_absolute_path }
23
- end
24
- end
25
-
26
- describe 'to_be_an_existing_path' do
27
- context 'when file' do
28
- context 'exists' do
29
- before :each do
30
- Aruba.platform.write_file(@file_path, '')
31
- end
32
-
33
- it { expect(@file_name).to be_an_existing_path }
34
- end
35
-
36
- context 'does not exist' do
37
- it { expect(@file_name).not_to be_an_existing_path }
38
- end
39
- end
40
-
41
- context 'when directory' do
42
- let(:name) { 'test.d' }
43
- let(:path) { @aruba.expand_path(name) }
44
-
45
- context 'exists' do
46
- before :each do
47
- FileUtils.mkdir_p path
48
- end
49
-
50
- it { expect(name).to be_an_existing_path }
51
- end
52
-
53
- context 'does not exist' do
54
- it { expect(name).not_to be_an_existing_path }
55
- end
56
- end
57
- end
58
- end
@@ -1,23 +0,0 @@
1
- require 'spec_helper'
2
- require 'aruba/platform'
3
-
4
- RSpec.describe '.simple_table' do
5
- context 'when valid hash' do
6
- let(:hash) do
7
- {
8
- :key1 => 'value',
9
- :key2 => 'value'
10
- }
11
- end
12
- let(:rows) { ['# key1 => value', '# key2 => value'] }
13
-
14
- it { expect(Aruba.platform.simple_table(hash).to_s).to eq rows.join("\n") }
15
- end
16
-
17
- context 'when empty hash' do
18
- let(:hash) { {} }
19
- let(:rows) { [] }
20
-
21
- it { expect(Aruba.platform.simple_table(hash).to_s).to eq rows.join("\n") }
22
- end
23
- end