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,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/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('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/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('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/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('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/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('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/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('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/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('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/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('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/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('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/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('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/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('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/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('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/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('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/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('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/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('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/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('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/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('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
@@ -1,127 +0,0 @@
1
- Feature: Unescape special characters in text
2
-
3
- If have got some text include \n, \t and the like and need them to become
4
- special characters again, you can use the `#unescape_text`-method for this.
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Output contains \n
10
- Given an executable named "bin/cli" with:
11
- """
12
- #!/bin/bash
13
- echo -n 'text\ntext'
14
- """
15
- And a file named "spec/unescape_text_spec.rb" with:
16
- """
17
- require 'spec_helper'
18
-
19
- RSpec.describe 'Run command', :type => :aruba do
20
- before(:each) { run_command('cli') }
21
- before(:each) { stop_all_commands }
22
-
23
- it { expect(unescape_text(last_command.output)).to eq "text\ntext" }
24
- end
25
- """
26
- When I run `rspec`
27
- Then the specs should all pass
28
-
29
- Scenario: Output contains \e
30
- Given an executable named "bin/cli" with:
31
- """
32
- #!/bin/bash
33
- echo -n 'text\etext'
34
- """
35
- And a file named "spec/unescape_text_spec.rb" with:
36
- """
37
- require 'spec_helper'
38
-
39
- RSpec.describe 'Run command', :type => :aruba do
40
- before(:each) { run_command('cli') }
41
- before(:each) { stop_all_commands }
42
-
43
- it { expect(unescape_text(last_command.output)).to eq "texttext" }
44
- end
45
- """
46
- When I run `rspec`
47
- Then the specs should all pass
48
-
49
- Scenario: Output contains \"
50
- Given an executable named "bin/cli" with:
51
- """
52
- #!/bin/bash
53
- echo -n 'text\"text'
54
- """
55
- And a file named "spec/unescape_text_spec.rb" with:
56
- """
57
- require 'spec_helper'
58
-
59
- RSpec.describe 'Run command', :type => :aruba do
60
- before(:each) { run_command('cli') }
61
- before(:each) { stop_all_commands }
62
-
63
- it { expect(unescape_text(last_command.output)).to eq "text\"text" }
64
- end
65
- """
66
- When I run `rspec`
67
- Then the specs should all pass
68
-
69
- Scenario: Output contains \033
70
- Given an executable named "bin/cli" with:
71
- """
72
- #!/bin/bash
73
- echo -n 'text\033text'
74
- """
75
- And a file named "spec/unescape_text_spec.rb" with:
76
- """
77
- require 'spec_helper'
78
-
79
- RSpec.describe 'Run command', :type => :aruba do
80
- before(:each) { run_command('cli') }
81
- before(:each) { stop_all_commands }
82
-
83
- it { expect(unescape_text(last_command.output)).to eq "texttext" }
84
- end
85
- """
86
- When I run `rspec`
87
- Then the specs should all pass
88
-
89
- Scenario: Output contains \017
90
- Given an executable named "bin/cli" with:
91
- """
92
- #!/bin/bash
93
- echo -n 'text\017text'
94
- """
95
- And a file named "spec/unescape_text_spec.rb" with:
96
- """
97
- require 'spec_helper'
98
-
99
- RSpec.describe 'Run command', :type => :aruba do
100
- before(:each) { run_command('cli') }
101
- before(:each) { stop_all_commands }
102
-
103
- it { expect(unescape_text(last_command.output)).to eq "texttext" }
104
- end
105
- """
106
- When I run `rspec`
107
- Then the specs should all pass
108
-
109
- Scenario: Output contains \016
110
- Given an executable named "bin/cli" with:
111
- """
112
- #!/bin/bash
113
- echo -n 'text\016text'
114
- """
115
- And a file named "spec/unescape_text_spec.rb" with:
116
- """
117
- require 'spec_helper'
118
-
119
- RSpec.describe 'Run command', :type => :aruba do
120
- before(:each) { run_command('cli') }
121
- before(:each) { stop_all_commands }
122
-
123
- it { expect(unescape_text(last_command.output)).to eq "texttext" }
124
- end
125
- """
126
- When I run `rspec`
127
- Then the specs should all pass
@@ -1,52 +0,0 @@
1
- Feature: Aruba Console
2
-
3
- Background:
4
- Given a mocked home directory
5
-
6
- Scenario: Start console
7
- Given I run `aruba console` interactively
8
- When I close the stdin stream
9
- Then the output should contain:
10
- """
11
- aruba:001:0>
12
- """
13
-
14
- @unsupported-on-platform-java
15
- Scenario: Show help
16
- Given I run `aruba console` interactively
17
- And I type "aruba_help"
18
- When I close the stdin stream
19
- Then the output should contain:
20
- """
21
- Version:
22
- """
23
- And the output should contain:
24
- """
25
- Issue Tracker:
26
- """
27
- And the output should contain:
28
- """
29
- Documentation:
30
- """
31
-
32
- @unsupported-on-platform-java
33
- Scenario: Show methods
34
- Given I run `aruba console` interactively
35
- And I type "aruba_methods"
36
- When I close the stdin stream
37
- Then the output should contain:
38
- """
39
- Methods:
40
- """
41
- And the output should contain:
42
- """
43
- * setup_aruba
44
- """
45
-
46
- @unsupported-on-platform-java
47
- Scenario: Has history
48
- Given I run `aruba console` interactively
49
- And I type "aruba_methods"
50
- And I type "exit"
51
- When I close the stdin stream
52
- Then the file "~/.aruba_history" should exist
@@ -1,79 +0,0 @@
1
- Feature: Initialize project with aruba
2
-
3
- To add `aruba` to your project you can use the `aruba init`-command.
4
-
5
- Background:
6
- Given I use the fixture "empty-app"
7
-
8
- Scenario: Create files for RSpec
9
- When I successfully run `aruba init --test-framework rspec`
10
- Then the following files should exist:
11
- | spec/spec_helper.rb |
12
- And the file "spec/support/aruba.rb" should contain:
13
- """
14
- require 'aruba/rspec'
15
- """
16
- And the file "Gemfile" should contain:
17
- """
18
- gem 'aruba'
19
- """
20
- When I successfully run `rspec`
21
- Then the output should contain:
22
- """
23
- 0 examples, 0 failures
24
- """
25
-
26
- Scenario: Create files for Cucumber
27
- When I successfully run `aruba init --test-framework cucumber`
28
- Then the file "features/support/aruba.rb" should contain:
29
- """
30
- require 'aruba/cucumber'
31
- """
32
- And the file "Gemfile" should contain:
33
- """
34
- gem 'aruba'
35
- """
36
- When I successfully run `cucumber`
37
- Then the output should contain:
38
- """
39
- 0 scenarios
40
- 0 steps
41
- """
42
-
43
- Scenario: Create files for Cucumber (Default)
44
- When I successfully run `aruba init`
45
- Then the file "features/support/aruba.rb" should contain:
46
- """
47
- require 'aruba/cucumber'
48
- """
49
- And the file "Gemfile" should contain:
50
- """
51
- gem 'aruba'
52
- """
53
- When I successfully run `cucumber`
54
- Then the output should contain:
55
- """
56
- 0 scenarios
57
- 0 steps
58
- """
59
-
60
- Scenario: Create files for Minitest
61
- When I successfully run `aruba init --test-framework minitest`
62
- Then the following files should exist:
63
- | test/test_helper.rb |
64
- And the file "Gemfile" should contain:
65
- """
66
- gem 'aruba'
67
- """
68
- When I successfully run `ruby -Ilib:test test/use_aruba_with_minitest.rb`
69
- Then the output should contain:
70
- """
71
- 0 runs, 0 assertions, 0 failures, 0 errors, 0 skips
72
- """
73
-
74
- Scenario: Unknown Test Framework
75
- When I run `aruba init --test-framework unknown`
76
- Then the output should contain:
77
- """
78
- got unknown
79
- """
@@ -1,38 +0,0 @@
1
- Feature: Configure announcer activation on command failure
2
-
3
- As a developer
4
- I want to configure which announcers should get activated on command failure
5
- In order to understand what caused a command to fail
6
-
7
- Background:
8
- Given I use the fixture "cli-app"
9
-
10
- Scenario: Default value
11
- Given a file named "features/support/aruba.rb" with:
12
- """ruby
13
- Aruba.configure do |config|
14
- puts %(The default value is "#{config.activate_announcer_on_command_failure.inspect}")
15
- end
16
- """
17
- When I successfully run `cucumber`
18
- Then the output should contain:
19
- """ruby
20
- The default value is "[]"
21
- """
22
-
23
- Scenario: Modify value
24
- Given a file named "features/support/aruba.rb" with:
25
- """ruby
26
- Aruba.configure do |config|
27
- config.activate_announcer_on_command_failure = [:foo, :bar]
28
- end
29
-
30
- Aruba.configure do |config|
31
- puts %(The value is "#{config.activate_announcer_on_command_failure.inspect}")
32
- end
33
- """
34
- Then I successfully run `cucumber`
35
- Then the output should contain:
36
- """
37
- The value is "[:foo, :bar]"
38
- """