aruba-win-fix 0.14.2

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 (324) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitignore +37 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +188 -0
  6. data/.simplecov +34 -0
  7. data/.travis.yml +47 -0
  8. data/.yardopts +8 -0
  9. data/CONTRIBUTING.md +71 -0
  10. data/Gemfile +83 -0
  11. data/History.md +579 -0
  12. data/LICENSE +20 -0
  13. data/README.md +226 -0
  14. data/Rakefile +49 -0
  15. data/TODO.md +13 -0
  16. data/appveyor.yml +32 -0
  17. data/aruba.gemspec +48 -0
  18. data/bin/aruba +7 -0
  19. data/config/.gitignore +1 -0
  20. data/cucumber.yml +26 -0
  21. data/features/.nav +72 -0
  22. data/features/api/command/find_command.feature +83 -0
  23. data/features/api/command/last_command_started.feature +50 -0
  24. data/features/api/command/last_command_stopped.feature +89 -0
  25. data/features/api/command/run.feature +414 -0
  26. data/features/api/command/run_simple.feature +242 -0
  27. data/features/api/command/send_signal.feature +53 -0
  28. data/features/api/command/stderr.feature +46 -0
  29. data/features/api/command/stdout.feature +46 -0
  30. data/features/api/command/stop.feature +131 -0
  31. data/features/api/command/stop_all_commands.feature +53 -0
  32. data/features/api/command/terminate_all_commands.feature +53 -0
  33. data/features/api/command/which.feature +37 -0
  34. data/features/api/core/expand_path.feature +88 -0
  35. data/features/api/environment/append_environment_variable.feature +128 -0
  36. data/features/api/environment/delete_environment_variable.feature +63 -0
  37. data/features/api/environment/prepend_environment_variable.feature +128 -0
  38. data/features/api/environment/set_environment_variable.feature +376 -0
  39. data/features/api/filesystem/cd.feature +184 -0
  40. data/features/api/filesystem/create_directory.feature +57 -0
  41. data/features/api/filesystem/disk_usage.feature +152 -0
  42. data/features/api/filesystem/does_exist.feature +62 -0
  43. data/features/api/filesystem/fixtures.feature +104 -0
  44. data/features/api/filesystem/is_absolute.feature +48 -0
  45. data/features/api/filesystem/is_directory.feature +53 -0
  46. data/features/api/filesystem/is_file.feature +54 -0
  47. data/features/api/filesystem/is_relative.feature +48 -0
  48. data/features/api/filesystem/move.feature +119 -0
  49. data/features/api/text/extract_text.feature +87 -0
  50. data/features/api/text/replace_variables.feature +45 -0
  51. data/features/api/text/sanitize_text.feature +228 -0
  52. data/features/api/text/unescape_text.feature +127 -0
  53. data/features/cli/console.feature +52 -0
  54. data/features/cli/init.feature +79 -0
  55. data/features/configuration/activate_announcer_on_command_failure.feature +38 -0
  56. data/features/configuration/command_runtime_environment.feature +129 -0
  57. data/features/configuration/console_history_file.feature +38 -0
  58. data/features/configuration/exit_timeout.feature +52 -0
  59. data/features/configuration/fixtures_directories.feature +38 -0
  60. data/features/configuration/fixtures_path_prefix.feature +23 -0
  61. data/features/configuration/home_directory.feature +80 -0
  62. data/features/configuration/io_timeout.feature +30 -0
  63. data/features/configuration/keep_ansi.feature +30 -0
  64. data/features/configuration/log_level.feature +38 -0
  65. data/features/configuration/physical_block_size.feature +53 -0
  66. data/features/configuration/remove_ansi_escape_sequences.feature +38 -0
  67. data/features/configuration/root_directory.feature +30 -0
  68. data/features/configuration/startup_wait_time.feature +48 -0
  69. data/features/configuration/usage.feature +159 -0
  70. data/features/configuration/working_directory.feature +33 -0
  71. data/features/development/build.feature +15 -0
  72. data/features/development/test.feature +24 -0
  73. data/features/getting_started/cleanup.feature +67 -0
  74. data/features/getting_started/install.feature +8 -0
  75. data/features/getting_started/run_commands.feature +177 -0
  76. data/features/getting_started/supported_testing_frameworks.feature +104 -0
  77. data/features/getting_started/writing_good_feature_tests.feature +38 -0
  78. data/features/hooks/after/command.feature +44 -0
  79. data/features/hooks/before/command.feature +71 -0
  80. data/features/matchers/collection/include_an_object.feature +72 -0
  81. data/features/matchers/directory/have_sub_directory.feature +110 -0
  82. data/features/matchers/file/be_a_command_found_in_path.feature +115 -0
  83. data/features/matchers/file/be_existing_executable.feature +88 -0
  84. data/features/matchers/file/be_existing_file.feature +82 -0
  85. data/features/matchers/file/have_file_content.feature +123 -0
  86. data/features/matchers/file/have_file_size.feature +107 -0
  87. data/features/matchers/path/be_an_absolute_path.feature +74 -0
  88. data/features/matchers/path/be_an_existing_path.feature +97 -0
  89. data/features/matchers/path/have_permissions.feature +118 -0
  90. data/features/matchers/timeouts.feature +48 -0
  91. data/features/platforms/jruby.feature +14 -0
  92. data/features/rspec/integration.feature +179 -0
  93. data/features/step_definitions/aruba_dev_steps.rb +56 -0
  94. data/features/step_definitions/hooks.rb +96 -0
  95. data/features/steps/command/debug.feature +92 -0
  96. data/features/steps/command/exit_statuses.feature +136 -0
  97. data/features/steps/command/in_process.feature +485 -0
  98. data/features/steps/command/interactive.feature +90 -0
  99. data/features/steps/command/output.feature +588 -0
  100. data/features/steps/command/run.feature +66 -0
  101. data/features/steps/command/send_signal.feature +104 -0
  102. data/features/steps/command/shell.feature +155 -0
  103. data/features/steps/command/stderr.feature +68 -0
  104. data/features/steps/command/stdout.feature +109 -0
  105. data/features/steps/command/stop.feature +313 -0
  106. data/features/steps/core/announce.feature +283 -0
  107. data/features/steps/environment/append_environment_variable.feature +52 -0
  108. data/features/steps/environment/home_variable.feature +62 -0
  109. data/features/steps/environment/prepend_environment_variable.feature +52 -0
  110. data/features/steps/environment/set_environment_variable.feature +49 -0
  111. data/features/steps/filesystem/append_to_file.feature +45 -0
  112. data/features/steps/filesystem/cd_to_directory.feature +33 -0
  113. data/features/steps/filesystem/check_file_content.feature +61 -0
  114. data/features/steps/filesystem/check_permissions_of_file.feature +39 -0
  115. data/features/steps/filesystem/compare_files.feature +42 -0
  116. data/features/steps/filesystem/copy.feature +45 -0
  117. data/features/steps/filesystem/create_directory.feature +57 -0
  118. data/features/steps/filesystem/create_file.feature +76 -0
  119. data/features/steps/filesystem/existence_of_directory.feature +57 -0
  120. data/features/steps/filesystem/existence_of_file.feature +43 -0
  121. data/features/steps/filesystem/file_content.feature +86 -0
  122. data/features/steps/filesystem/fixtures.feature +64 -0
  123. data/features/steps/filesystem/move.feature +45 -0
  124. data/features/steps/filesystem/non_existence_of_directory.feature +69 -0
  125. data/features/steps/filesystem/non_existence_of_file.feature +80 -0
  126. data/features/steps/filesystem/overwrite_file.feature +72 -0
  127. data/features/steps/filesystem/remove_directory.feature +38 -0
  128. data/features/steps/filesystem/remove_file.feature +38 -0
  129. data/features/steps/filesystem/use_fixture.feature +77 -0
  130. data/features/steps/overview.feature +60 -0
  131. data/features/support/aruba.rb +7 -0
  132. data/features/support/env.rb +33 -0
  133. data/features/support/jruby.rb +5 -0
  134. data/features/support/simplecov_setup.rb +8 -0
  135. data/fixtures/cli-app/.gitignore +9 -0
  136. data/fixtures/cli-app/.rspec +2 -0
  137. data/fixtures/cli-app/README.md +39 -0
  138. data/fixtures/cli-app/Rakefile +1 -0
  139. data/fixtures/cli-app/bin/cli +6 -0
  140. data/fixtures/cli-app/cli-app.gemspec +26 -0
  141. data/fixtures/cli-app/features/support/env.rb +1 -0
  142. data/fixtures/cli-app/lib/cli/app.rb +13 -0
  143. data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +15 -0
  144. data/fixtures/cli-app/lib/cli/app/version.rb +5 -0
  145. data/fixtures/cli-app/script/console +14 -0
  146. data/fixtures/cli-app/spec/spec_helper.rb +9 -0
  147. data/fixtures/cli-app/spec/support/aruba.rb +1 -0
  148. data/fixtures/copy/file.txt +1 -0
  149. data/fixtures/empty-app/.gitignore +9 -0
  150. data/fixtures/empty-app/.rspec +2 -0
  151. data/fixtures/empty-app/README.md +24 -0
  152. data/fixtures/empty-app/Rakefile +1 -0
  153. data/fixtures/empty-app/cli-app.gemspec +26 -0
  154. data/fixtures/empty-app/lib/cli/app.rb +13 -0
  155. data/fixtures/empty-app/lib/cli/app/version.rb +5 -0
  156. data/fixtures/getting-started-app/.gitignore +4 -0
  157. data/fixtures/getting-started-app/Gemfile +4 -0
  158. data/fixtures/getting-started-app/README.md +3 -0
  159. data/fixtures/getting-started-app/features/support/env.rb +1 -0
  160. data/fixtures/spawn_process/stderr.sh +3 -0
  161. data/lib/aruba.rb +1 -0
  162. data/lib/aruba/api.rb +34 -0
  163. data/lib/aruba/api/command.rb +307 -0
  164. data/lib/aruba/api/core.rb +191 -0
  165. data/lib/aruba/api/deprecated.rb +897 -0
  166. data/lib/aruba/api/environment.rb +89 -0
  167. data/lib/aruba/api/filesystem.rb +392 -0
  168. data/lib/aruba/api/rvm.rb +44 -0
  169. data/lib/aruba/api/text.rb +56 -0
  170. data/lib/aruba/aruba_path.rb +133 -0
  171. data/lib/aruba/basic_configuration.rb +240 -0
  172. data/lib/aruba/basic_configuration/option.rb +32 -0
  173. data/lib/aruba/cli.rb +26 -0
  174. data/lib/aruba/colorizer.rb +108 -0
  175. data/lib/aruba/command.rb +74 -0
  176. data/lib/aruba/config.rb +108 -0
  177. data/lib/aruba/config/jruby.rb +17 -0
  178. data/lib/aruba/config_wrapper.rb +58 -0
  179. data/lib/aruba/console.rb +70 -0
  180. data/lib/aruba/console/help.rb +35 -0
  181. data/lib/aruba/contracts/absolute_path.rb +20 -0
  182. data/lib/aruba/contracts/enum.rb +26 -0
  183. data/lib/aruba/contracts/is_power_of_two.rb +22 -0
  184. data/lib/aruba/contracts/relative_path.rb +20 -0
  185. data/lib/aruba/cucumber.rb +13 -0
  186. data/lib/aruba/cucumber/command.rb +422 -0
  187. data/lib/aruba/cucumber/core.rb +5 -0
  188. data/lib/aruba/cucumber/environment.rb +42 -0
  189. data/lib/aruba/cucumber/file.rb +201 -0
  190. data/lib/aruba/cucumber/hooks.rb +160 -0
  191. data/lib/aruba/cucumber/rvm.rb +3 -0
  192. data/lib/aruba/cucumber/testing_frameworks.rb +95 -0
  193. data/lib/aruba/errors.rb +37 -0
  194. data/lib/aruba/event_bus.rb +59 -0
  195. data/lib/aruba/event_bus/name_resolver.rb +168 -0
  196. data/lib/aruba/events.rb +39 -0
  197. data/lib/aruba/extensions/string/strip.rb +25 -0
  198. data/lib/aruba/file_size.rb +63 -0
  199. data/lib/aruba/generators/script_file.rb +46 -0
  200. data/lib/aruba/hooks.rb +56 -0
  201. data/lib/aruba/in_config_wrapper.rb +24 -0
  202. data/lib/aruba/in_process.rb +14 -0
  203. data/lib/aruba/initializer.rb +222 -0
  204. data/lib/aruba/jruby.rb +4 -0
  205. data/lib/aruba/matchers/base/base_matcher.rb +96 -0
  206. data/lib/aruba/matchers/base/object_formatter.rb +114 -0
  207. data/lib/aruba/matchers/collection.rb +1 -0
  208. data/lib/aruba/matchers/collection/all.rb +11 -0
  209. data/lib/aruba/matchers/collection/include_an_object.rb +122 -0
  210. data/lib/aruba/matchers/command.rb +1 -0
  211. data/lib/aruba/matchers/command/be_successfully_executed.rb +34 -0
  212. data/lib/aruba/matchers/command/have_exit_status.rb +38 -0
  213. data/lib/aruba/matchers/command/have_finished_in_time.rb +37 -0
  214. data/lib/aruba/matchers/command/have_output.rb +36 -0
  215. data/lib/aruba/matchers/command/have_output_on_stderr.rb +32 -0
  216. data/lib/aruba/matchers/command/have_output_on_stdout.rb +32 -0
  217. data/lib/aruba/matchers/command/have_output_size.rb +28 -0
  218. data/lib/aruba/matchers/directory.rb +1 -0
  219. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +38 -0
  220. data/lib/aruba/matchers/directory/have_sub_directory.rb +53 -0
  221. data/lib/aruba/matchers/environment.rb +1 -0
  222. data/lib/aruba/matchers/file.rb +1 -0
  223. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +36 -0
  224. data/lib/aruba/matchers/file/be_an_existing_executable.rb +37 -0
  225. data/lib/aruba/matchers/file/be_an_existing_file.rb +38 -0
  226. data/lib/aruba/matchers/file/have_file_content.rb +62 -0
  227. data/lib/aruba/matchers/file/have_file_size.rb +47 -0
  228. data/lib/aruba/matchers/file/have_same_file_content.rb +48 -0
  229. data/lib/aruba/matchers/path.rb +1 -0
  230. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +25 -0
  231. data/lib/aruba/matchers/path/be_an_absolute_path.rb +36 -0
  232. data/lib/aruba/matchers/path/be_an_existing_path.rb +37 -0
  233. data/lib/aruba/matchers/path/have_permissions.rb +64 -0
  234. data/lib/aruba/matchers/path/match_path_pattern.rb +41 -0
  235. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +25 -0
  236. data/lib/aruba/matchers/string.rb +1 -0
  237. data/lib/aruba/matchers/string/include_output_string.rb +36 -0
  238. data/lib/aruba/matchers/string/match_output_string.rb +37 -0
  239. data/lib/aruba/matchers/string/output_string_eq.rb +35 -0
  240. data/lib/aruba/platform.rb +25 -0
  241. data/lib/aruba/platforms/announcer.rb +232 -0
  242. data/lib/aruba/platforms/aruba_file_creator.rb +35 -0
  243. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +35 -0
  244. data/lib/aruba/platforms/aruba_logger.rb +81 -0
  245. data/lib/aruba/platforms/command_monitor.rb +229 -0
  246. data/lib/aruba/platforms/determine_disk_usage.rb +28 -0
  247. data/lib/aruba/platforms/determine_file_size.rb +22 -0
  248. data/lib/aruba/platforms/disk_usage_calculator.rb +20 -0
  249. data/lib/aruba/platforms/filesystem_status.rb +68 -0
  250. data/lib/aruba/platforms/local_environment.rb +29 -0
  251. data/lib/aruba/platforms/simple_table.rb +54 -0
  252. data/lib/aruba/platforms/unix_command_string.rb +27 -0
  253. data/lib/aruba/platforms/unix_environment_variables.rb +220 -0
  254. data/lib/aruba/platforms/unix_platform.rb +276 -0
  255. data/lib/aruba/platforms/unix_which.rb +85 -0
  256. data/lib/aruba/platforms/windows_command_string.rb +31 -0
  257. data/lib/aruba/platforms/windows_environment_variables.rb +89 -0
  258. data/lib/aruba/platforms/windows_platform.rb +42 -0
  259. data/lib/aruba/platforms/windows_which.rb +106 -0
  260. data/lib/aruba/processes/basic_process.rb +143 -0
  261. data/lib/aruba/processes/debug_process.rb +69 -0
  262. data/lib/aruba/processes/in_process.rb +125 -0
  263. data/lib/aruba/processes/spawn_process.rb +278 -0
  264. data/lib/aruba/reporting.rb +126 -0
  265. data/lib/aruba/rspec.rb +107 -0
  266. data/lib/aruba/runtime.rb +96 -0
  267. data/lib/aruba/setup.rb +90 -0
  268. data/lib/aruba/spawn_process.rb +11 -0
  269. data/lib/aruba/version.rb +3 -0
  270. data/script/bootstrap +28 -0
  271. data/script/console +16 -0
  272. data/script/test +3 -0
  273. data/spec/aruba/api/environment/restore_env_spec.rb +65 -0
  274. data/spec/aruba/api/environment/set_env_spec.rb +42 -0
  275. data/spec/aruba/api/filesystem/file_size_spec.rb +28 -0
  276. data/spec/aruba/api/runtime_spec.rb +28 -0
  277. data/spec/aruba/api_spec.rb +1209 -0
  278. data/spec/aruba/aruba_path_spec.rb +103 -0
  279. data/spec/aruba/basic_configuration_spec.rb +5 -0
  280. data/spec/aruba/configuration_spec.rb +5 -0
  281. data/spec/aruba/hooks_spec.rb +17 -0
  282. data/spec/aruba/in_config_wrapper_spec.rb +25 -0
  283. data/spec/aruba/jruby_spec.rb +55 -0
  284. data/spec/aruba/matchers/command/have_output_size_spec.rb +25 -0
  285. data/spec/aruba/matchers/command_spec.rb +174 -0
  286. data/spec/aruba/matchers/directory_spec.rb +57 -0
  287. data/spec/aruba/matchers/file_spec.rb +127 -0
  288. data/spec/aruba/matchers/path_spec.rb +88 -0
  289. data/spec/aruba/platform/simple_table_spec.rb +23 -0
  290. data/spec/aruba/platform/windows_environment_variables_spec.rb +500 -0
  291. data/spec/aruba/rspec_spec.rb +15 -0
  292. data/spec/aruba/runtime_spec.rb +29 -0
  293. data/spec/aruba/spawn_process_spec.rb +60 -0
  294. data/spec/event_bus/name_resolver_spec.rb +68 -0
  295. data/spec/event_bus_spec.rb +160 -0
  296. data/spec/spec_helper.rb +23 -0
  297. data/spec/support/configs/.keep +0 -0
  298. data/spec/support/configs/aruba.rb +5 -0
  299. data/spec/support/configs/pry.rb +3 -0
  300. data/spec/support/configs/rspec.rb +15 -0
  301. data/spec/support/helpers/.keep +0 -0
  302. data/spec/support/helpers/reporting.rb +44 -0
  303. data/spec/support/matchers/.keep +0 -0
  304. data/spec/support/matchers/option.rb +35 -0
  305. data/spec/support/shared_contexts/.keep +0 -0
  306. data/spec/support/shared_contexts/aruba.rb +48 -0
  307. data/spec/support/shared_examples/.keep +0 -0
  308. data/spec/support/shared_examples/configuration.rb +116 -0
  309. data/spec/support/shared_examples/directory.rb +7 -0
  310. data/spec/support/shared_examples/file.rb +7 -0
  311. data/templates/css/console.css +24 -0
  312. data/templates/css/filesystem.css +42 -0
  313. data/templates/css/pygments-autumn.css +59 -0
  314. data/templates/files.erb +14 -0
  315. data/templates/images/LICENSE +22 -0
  316. data/templates/images/folder.png +0 -0
  317. data/templates/images/page_white.png +0 -0
  318. data/templates/images/page_white_gherkin.png +0 -0
  319. data/templates/images/page_white_ruby.png +0 -0
  320. data/templates/index.erb +20 -0
  321. data/templates/js/filesystem.js +5 -0
  322. data/templates/js/jquery-1.11.3.min.js +5 -0
  323. data/templates/main.erb +34 -0
  324. metadata +629 -0
@@ -0,0 +1,127 @@
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('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('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('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('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('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('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
@@ -0,0 +1,52 @@
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
@@ -0,0 +1,79 @@
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
+ """
@@ -0,0 +1,38 @@
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
+ """
@@ -0,0 +1,129 @@
1
+ Feature: Define default process environment
2
+ Say you want to have a default set of environment variables, then use this
3
+ code.
4
+
5
+ ~~~ruby
6
+ Aruba.configure do |config|
7
+ config.command_runtime_environment = { 'MY_VARIABLE' => 'x' }
8
+ end
9
+ ~~~
10
+
11
+ This can be changed via `#set_environment_variable`,
12
+ `#append_environment_variable`, `#delete_environment_variable` or
13
+ `#prepend_environment_variable`.
14
+
15
+ Background:
16
+ Given I use the fixture "cli-app"
17
+
18
+ Scenario: Overwrite existing variable with new default value
19
+ Given a file named "spec/environment_spec.rb" with:
20
+ """ruby
21
+ require 'spec_helper'
22
+
23
+ ENV['LONG_LONG_VARIABLE'] = 'y'
24
+
25
+ Aruba.configure do |config|
26
+ config.command_runtime_environment = { 'LONG_LONG_VARIABLE' => 'x' }
27
+ end
28
+
29
+ RSpec.describe 'Environment command', :type => :aruba do
30
+ before(:each) { run('env') }
31
+ before(:each) { stop_all_commands }
32
+
33
+ it { expect(last_command_started.output).to include 'LONG_LONG_VARIABLE=x' }
34
+ end
35
+ """
36
+ When I run `rspec`
37
+ Then the specs should all pass
38
+
39
+ Scenario: Overwrite default value for variable
40
+ Given a file named "spec/environment_spec.rb" with:
41
+ """ruby
42
+ require 'spec_helper'
43
+
44
+ ENV['LONG_LONG_VARIABLE'] = 'y'
45
+
46
+ Aruba.configure do |config|
47
+ config.command_runtime_environment = { 'LONG_LONG_VARIABLE' => 'x' }
48
+ end
49
+
50
+ RSpec.describe 'Environment command', :type => :aruba do
51
+ before(:each) { set_environment_variable 'LONG_LONG_VARIABLE', 'z' }
52
+
53
+ before(:each) { run('env') }
54
+ before(:each) { stop_all_commands }
55
+
56
+ it { expect(last_command_started.output).to include 'LONG_LONG_VARIABLE=z' }
57
+ end
58
+ """
59
+ When I run `rspec`
60
+ Then the specs should all pass
61
+
62
+ Scenario: Append value to default value
63
+ Given a file named "spec/environment_spec.rb" with:
64
+ """ruby
65
+ require 'spec_helper'
66
+
67
+ ENV['LONG_LONG_VARIABLE'] = 'y'
68
+
69
+ Aruba.configure do |config|
70
+ config.command_runtime_environment = { 'LONG_LONG_VARIABLE' => 'x' }
71
+ end
72
+
73
+ RSpec.describe 'Environment command', :type => :aruba do
74
+ before(:each) { append_environment_variable 'LONG_LONG_VARIABLE', 'z' }
75
+
76
+ before(:each) { run('env') }
77
+ before(:each) { stop_all_commands }
78
+
79
+ it { expect(last_command_started.output).to include 'LONG_LONG_VARIABLE=xz' }
80
+ end
81
+ """
82
+ When I run `rspec`
83
+ Then the specs should all pass
84
+
85
+ Scenario: Prepend value
86
+ Given a file named "spec/environment_spec.rb" with:
87
+ """ruby
88
+ require 'spec_helper'
89
+
90
+ ENV['LONG_LONG_VARIABLE'] = 'y'
91
+
92
+ Aruba.configure do |config|
93
+ config.command_runtime_environment = { 'LONG_LONG_VARIABLE' => 'x' }
94
+ end
95
+
96
+ RSpec.describe 'Environment command', :type => :aruba do
97
+ before(:each) { prepend_environment_variable 'LONG_LONG_VARIABLE', 'z' }
98
+
99
+ before(:each) { run('env') }
100
+ before(:each) { stop_all_commands }
101
+
102
+ it { expect(last_command_started.output).to include 'LONG_LONG_VARIABLE=zx' }
103
+ end
104
+ """
105
+ When I run `rspec`
106
+ Then the specs should all pass
107
+
108
+ Scenario: Remove variable from default set of variables
109
+ Given a file named "spec/environment_spec.rb" with:
110
+ """ruby
111
+ require 'spec_helper'
112
+
113
+ ENV['LONG_LONG_VARIABLE'] = 'y'
114
+
115
+ Aruba.configure do |config|
116
+ config.command_runtime_environment = { 'LONG_LONG_VARIABLE' => 'x' }
117
+ end
118
+
119
+ RSpec.describe 'Environment command', :type => :aruba do
120
+ before(:each) { delete_environment_variable 'LONG_LONG_VARIABLE' }
121
+
122
+ before(:each) { run('env') }
123
+ before(:each) { stop_all_commands }
124
+
125
+ it { expect(last_command_started.output).not_to include 'LONG_LONG_VARIABLE' }
126
+ end
127
+ """
128
+ When I run `rspec`
129
+ Then the specs should all pass
@@ -0,0 +1,38 @@
1
+ Feature: Configure the aruba console history file
2
+
3
+ As a developer
4
+ I want to configure the history file of aruba console
5
+ In order to have a better isolation of tests
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
+ """
13
+ Aruba.configure do |config|
14
+ puts %(The default value is "#{config.console_history_file}")
15
+ end
16
+ """
17
+ When I successfully run `cucumber`
18
+ Then the output should contain:
19
+ """
20
+ The default value is "~/.aruba_history"
21
+ """
22
+
23
+ Scenario: Set some value
24
+ Given a file named "features/support/aruba.rb" with:
25
+ """
26
+ Aruba.configure do |config|
27
+ config.console_history_file = '~/.config/aruba/history.txt'
28
+ end
29
+
30
+ Aruba.configure do |config|
31
+ puts %(The value is "#{config.console_history_file}")
32
+ end
33
+ """
34
+ Then I successfully run `cucumber`
35
+ Then the output should contain:
36
+ """
37
+ The value is "~/.config/aruba/history.txt"
38
+ """