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,86 +0,0 @@
1
- Feature: Check file content
2
-
3
- Background:
4
- Given I use a fixture named "cli-app"
5
-
6
- Scenario: Existing file having content
7
- Given a file named "features/file_content.feature" with:
8
- """
9
- Feature: File content
10
- Scenario: file content
11
- Given a file named "test.txt" with:
12
- \"\"\"
13
- Hello World
14
- \"\"\"
15
- Then the file named "test.txt" should contain:
16
- \"\"\"
17
- Hello World
18
- \"\"\"
19
- """
20
- When I run `cucumber`
21
- Then the features should all pass
22
-
23
- Scenario: Existing file having content with special characters
24
- Given a file named "features/file_content.feature" with:
25
- """
26
- Feature: File content
27
- Scenario: file content
28
- Given a file named "test.txt" with:
29
- \"\"\"
30
- UUUUU
31
-
32
- 1 scenario (1 undefined)
33
- 5 steps (5 undefined)
34
-
35
- \"\"\"
36
- Then the file named "test.txt" should contain:
37
- \"\"\"
38
- UUUUU
39
-
40
- 1 scenario (1 undefined)
41
- 5 steps (5 undefined)
42
-
43
- \"\"\"
44
- """
45
- When I run `cucumber --format progress`
46
- Then the features should all pass
47
-
48
- Scenario: Trailing white space is ignored
49
- Given a file named "features/file_content.feature" with:
50
- """
51
- Feature: File content
52
- Scenario: file content
53
- Given a file named "test.txt" with:
54
- \"\"\"
55
- UUUUU
56
-
57
- \"\"\"
58
- Then the file named "test.txt" should contain:
59
- \"\"\"
60
- UUUUU
61
- \"\"\"
62
- """
63
- When I run `cucumber`
64
- Then the features should all pass
65
-
66
- Scenario: Use non-ASCII UTF-8 characters
67
- Given a file named "features/file_content.feature" with:
68
- """
69
- Feature: File content
70
- Scenario: file content
71
- Given a file named "test.txt" with:
72
- \"\"\"
73
- フィーチャ
74
- \"\"\"
75
- When I run `cat test.txt`
76
- Then the output should contain:
77
- \"\"\"
78
- フィーチャ
79
- \"\"\"
80
- And the file named "test.txt" should contain:
81
- \"\"\"
82
- フィーチャ
83
- \"\"\"
84
- """
85
- When I run `cucumber`
86
- Then the features should all pass
@@ -1,64 +0,0 @@
1
- Feature: Use fixtures in your tests
2
-
3
- Sometimes your tests need existing files to work - e.g binary data files you
4
- cannot create programmatically. Since `aruba` >= 0.6.3 includes some basic
5
- support for fixtures. All you need to do is the following:
6
-
7
- 1. Create a `fixtures`-directory
8
- 2. Create fixture files in this directory
9
-
10
-
11
- Background:
12
- Given I use a fixture named "cli-app"
13
-
14
- Scenario: Use a fixture for your tests
15
- Given a file named "features/fixtures.feature" with:
16
- """
17
- Feature: Fixture
18
- Scenario: Fixture
19
- Given I use a fixture named "fixtures-app"
20
- Then a file named "test.txt" should exist
21
- """
22
- And a directory named "fixtures"
23
- And an empty file named "fixtures/fixtures-app/test.txt"
24
- When I run `cucumber`
25
- Then the features should all pass
26
-
27
- Scenario: Use a fixture for your tests in test/
28
- Given a file named "features/fixtures.feature" with:
29
- """
30
- Feature: Fixture
31
- Scenario: Fixture
32
- Given I use a fixture named "fixtures-app"
33
- Then a file named "test.txt" should exist
34
- """
35
- And a directory named "test/fixtures"
36
- And an empty file named "test/fixtures/fixtures-app/test.txt"
37
- When I run `cucumber`
38
- Then the features should all pass
39
-
40
- Scenario: Use a fixture for your tests in specs/
41
- Given a file named "features/fixtures.feature" with:
42
- """
43
- Feature: Fixture
44
- Scenario: Fixture
45
- Given I use a fixture named "fixtures-app"
46
- Then a file named "test.txt" should exist
47
- """
48
- And a directory named "spec/fixtures"
49
- And an empty file named "spec/fixtures/fixtures-app/test.txt"
50
- When I run `cucumber`
51
- Then the features should all pass
52
-
53
- Scenario: Use a fixture for your tests in features/
54
- Given a file named "features/fixtures.feature" with:
55
- """
56
- Feature: Fixture
57
- Scenario: Fixture
58
- Given I use a fixture named "fixtures-app"
59
- Then a file named "test.txt" should exist
60
- """
61
- And a directory named "features/fixtures"
62
- And an empty file named "features/fixtures/fixtures-app/test.txt"
63
- When I run `cucumber`
64
- Then the features should all pass
@@ -1,45 +0,0 @@
1
- Feature: Move file or directory
2
-
3
- As a user of aruba
4
- I want ot move a file or a directory
5
- To setup my tests
6
-
7
- Background:
8
- Given I use a fixture named "cli-app"
9
-
10
- Scenario: Move file
11
- Given a file named "features/move.feature" with:
12
- """
13
- Feature: Move
14
- Scenario: Move
15
- Given an empty file named "file1.txt"
16
- And an empty file named "file2.txt"
17
- And an empty file named "file3.txt"
18
- When I move a file named "file1.txt" to "new_file1.txt"
19
- When I move a file from "file2.txt" to "new_file2.txt"
20
- When I move the file "file3.txt" to "new_file3.txt"
21
- Then a file named "new_file1.txt" should exist
22
- Then a file named "new_file2.txt" should exist
23
- Then a file named "new_file3.txt" should exist
24
- """
25
- When I run `cucumber`
26
- Then the features should all pass
27
-
28
- Scenario: Move directory
29
- Given a file named "features/move.feature" with:
30
- """
31
- Feature: Move
32
- Scenario: Move
33
- Given a directory named "dir1.d"
34
- And a directory named "dir2.d"
35
- And a directory named "dir3.d"
36
- When I move a directory named "dir1.d" to "new_dir1.d"
37
- When I move a directory from "dir2.d" to "new_dir2.d"
38
- When I move the directory "dir3.d" to "new_dir3.d"
39
- Then a directory named "new_dir1.d" should exist
40
- Then a directory named "new_dir2.d" should exist
41
- Then a directory named "new_dir3.d" should exist
42
- """
43
- When I run `cucumber`
44
- Then the features should all pass
45
-
@@ -1,69 +0,0 @@
1
- Feature: Make sure and check a directory does not exist
2
-
3
- To setup a working environment, you may want to make sure, that a
4
- directory does not exist or if you ran your command of a directory
5
- was deleted.
6
-
7
- Background:
8
- Given I use a fixture named "cli-app"
9
-
10
- Scenario: Delete existing directory
11
- Given a file named "features/non-existence.feature" with:
12
- """
13
- Feature: Non-Existence
14
- Background:
15
- Given a directory named "example.d" does not exist
16
-
17
- Scenario: Non-Existence #1
18
- Then the directory "example.d" should not exist
19
-
20
- Scenario: Non-Existence #2
21
- Then the directory "example.d" should not exist
22
-
23
- Scenario: Non-Existence #3
24
- Then the directory "example.d" should not exist
25
- """
26
- When I run `cucumber`
27
- Then the features should all pass
28
-
29
- Scenario: Check if a directory does not exists
30
- Given a file named "features/non-existence.feature" with:
31
- """
32
- Feature: Non-Existence
33
- Background:
34
- Given a directory named "example.d" does not exist
35
-
36
- Scenario: Non-Existence #1
37
- Then the directory "example.d" should not exist
38
-
39
- Scenario: Non-Existence #2
40
- Then the directory named "example.d" should not exist
41
-
42
- Scenario: Non-Existence #3
43
- Then a directory named "example.d" should not exist
44
-
45
- Scenario: Non-Existence #4
46
- Then a directory named "example.d" should not exist anymore
47
-
48
- Scenario: Non-Existence #5
49
- Then the directory named "example.d" should not exist anymore
50
-
51
- Scenario: Non-Existence #6
52
- Then the directory "example.d" should not exist anymore
53
- """
54
- When I run `cucumber`
55
- Then the features should all pass
56
-
57
- Scenario: Check for absence of a subset of directories
58
- Given a file named "features/non-existence.feature" with:
59
- """
60
- Feature: Non-Existence
61
- Scenario: Non-Existence
62
- Given the directory "lorem/ipsum/dolor" does not exist
63
- And the directory "lorem/ipsum/amet" does not exist
64
- Then the following directories should not exist:
65
- | lorem/ipsum/dolor |
66
- | lorem/ipsum/amet |
67
- """
68
- When I run `cucumber`
69
- Then the features should all pass
@@ -1,80 +0,0 @@
1
- Feature: Make sure and check a file does not exist
2
-
3
- To setup a working environment, you may want to make sure, that a
4
- file does not exist or if you ran your command of a file
5
- was deleted.
6
-
7
- Background:
8
- Given I use a fixture named "cli-app"
9
-
10
- Scenario: Delete existing file
11
- Given a file named "features/non-existence.feature" with:
12
- """
13
- Feature: Non-Existence
14
- Background:
15
- Given a file named "example.txt" does not exist
16
-
17
- Scenario: Non-Existence #1
18
- Then the file "example.txt" should not exist
19
-
20
- Scenario: Non-Existence #2
21
- Then the file "example.txt" should not exist
22
-
23
- Scenario: Non-Existence #3
24
- Then the file "example.txt" should not exist
25
- """
26
- When I run `cucumber`
27
- Then the features should all pass
28
-
29
- Scenario: Check if a file does not exists
30
- Given a file named "features/non-existence.feature" with:
31
- """
32
- Feature: Non-Existence
33
- Background:
34
- Given a file named "example.txt" does not exist
35
-
36
- Scenario: Non-Existence #1
37
- Then the file "example.txt" should not exist
38
-
39
- Scenario: Non-Existence #2
40
- Then the file named "example.txt" should not exist
41
-
42
- Scenario: Non-Existence #3
43
- Then a file named "example.txt" should not exist
44
-
45
- Scenario: Non-Existence #4
46
- Then a file named "example.txt" should not exist anymore
47
-
48
- Scenario: Non-Existence #5
49
- Then the file named "example.txt" should not exist anymore
50
-
51
- Scenario: Non-Existence #6
52
- Then the file "example.txt" should not exist anymore
53
- """
54
- When I run `cucumber`
55
- Then the features should all pass
56
-
57
- Scenario: Check for absence of multiple files
58
- Given a file named "features/non-existence.feature" with:
59
- """
60
- Feature: Non-Existence
61
- Scenario: Non-Existence
62
- Given the file "lorem/ipsum/dolor.txt" does not exist
63
- Given the file "lorem/ipsum/sit.txt" does not exist
64
- Then the following files should not exist:
65
- | lorem/ipsum/dolor.txt |
66
- | lorem/ipsum/sit.txt |
67
- """
68
- When I run `cucumber`
69
- Then the features should all pass
70
-
71
- Scenario: Check for absence of a single file using a regex
72
- Given a file named "features/non-existence.feature" with:
73
- """
74
- Feature: Existence
75
- Scenario: Existence
76
- Given the file "lorem/ipsum/sit.txt" does not exist
77
- Then a file matching %r<^ipsum> should not exist
78
- """
79
- When I run `cucumber`
80
- Then the features should all pass
@@ -1,72 +0,0 @@
1
- Feature: Overwrite a file
2
-
3
- As a user of aruba
4
- I want to overwrite a file
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Overwrite an existing file
10
- Given a file named "features/create_file.feature" with:
11
- """
12
- Feature: Overwrite file
13
- Scenario: Overwrite file
14
- Given a file named "file1.txt" with:
15
- \"\"\"
16
- Hello World
17
- \"\"\"
18
- And a file named "file2.txt" with:
19
- \"\"\"
20
- Hello World
21
- \"\"\"
22
- And a file named "file3.txt" with:
23
- \"\"\"
24
- Hello World
25
- \"\"\"
26
- When I overwrite "file1.txt" with:
27
- \"\"\"
28
- Hello Universe
29
- \"\"\"
30
- When I overwrite the file "file2.txt" with:
31
- \"\"\"
32
- Hello Universe
33
- \"\"\"
34
- When I overwrite a file named "file3.txt" with:
35
- \"\"\"
36
- Hello Universe
37
- \"\"\"
38
- Then the file named "file1.txt" should contain:
39
- \"\"\"
40
- Hello Universe
41
- \"\"\"
42
- And the file named "file2.txt" should contain:
43
- \"\"\"
44
- Hello Universe
45
- \"\"\"
46
- And the file named "file3.txt" should contain:
47
- \"\"\"
48
- Hello Universe
49
- \"\"\"
50
- """
51
- When I run `cucumber`
52
- Then the features should all pass
53
-
54
- Scenario: Overwrite a non-existing file
55
- Given a file named "features/create_file.feature" with:
56
- """
57
- Feature: Overwrite file
58
- Scenario: Overwrite file
59
- When I overwrite "file1.txt" with:
60
- \"\"\"
61
- Hello Universe
62
- \"\"\"
63
- Then the file named "file1.txt" should contain:
64
- \"\"\"
65
- Hello Universe
66
- \"\"\"
67
- """
68
- When I run `cucumber`
69
- Then the features should not all pass with regex:
70
- """
71
- Expected [^ ]+ to be present
72
- """
@@ -1,38 +0,0 @@
1
- Feature: Remove a directory
2
-
3
- Background:
4
- Given I use a fixture named "cli-app"
5
-
6
- Scenario: Remove an existing directory
7
- Given a file named "features/non-existence.feature" with:
8
- """
9
- Feature: Remove
10
- Scenario: Remove
11
- Given an empty directory named "foo"
12
- When I remove the directory "foo"
13
- Then the directory "foo" should not exist
14
- """
15
- When I run `cucumber`
16
- Then the features should all pass
17
-
18
- Scenario: Remove an non-existing directory
19
- Given a file named "features/non-existence.feature" with:
20
- """
21
- Feature: Remove
22
- Scenario: Remove
23
- When I remove the directory "foo"
24
- Then the directory "foo" should not exist
25
- """
26
- When I run `cucumber`
27
- Then the features should not pass
28
-
29
- Scenario: Force remove an non-existing directory
30
- Given a file named "features/non-existence.feature" with:
31
- """
32
- Feature: Remove
33
- Scenario: Remove
34
- When I remove the directory "foo" with full force
35
- Then the directory "foo" should not exist
36
- """
37
- When I run `cucumber`
38
- Then the features should all pass
@@ -1,38 +0,0 @@
1
- Feature: Remove a file
2
-
3
- Background:
4
- Given I use a fixture named "cli-app"
5
-
6
- Scenario: Remove an existing file
7
- Given a file named "features/non-existence.feature" with:
8
- """
9
- Feature: Remove
10
- Scenario: Remove
11
- Given an empty file named "foo"
12
- When I remove the file "foo"
13
- Then the file "foo" should not exist
14
- """
15
- When I run `cucumber`
16
- Then the features should all pass
17
-
18
- Scenario: Remove an non-existing file
19
- Given a file named "features/non-existence.feature" with:
20
- """
21
- Feature: Remove
22
- Scenario: Remove
23
- When I remove the file "foo"
24
- Then the file "foo" should not exist
25
- """
26
- When I run `cucumber`
27
- Then the features should not pass
28
-
29
- Scenario: Force remove an non-existing file
30
- Given a file named "features/non-existence.feature" with:
31
- """
32
- Feature: Remove
33
- Scenario: Remove
34
- When I remove the file "foo" with full force
35
- Then the file "foo" should not exist
36
- """
37
- When I run `cucumber`
38
- Then the features should all pass
@@ -1,77 +0,0 @@
1
- Feature: Use a fixture
2
-
3
- As a user of aruba
4
- I want to use a fixture
5
-
6
- Background:
7
- Given I use a fixture named "cli-app"
8
-
9
- Scenario: Use the fixture if fixtures directory is in root directory
10
- Given a file named "features/use_fixtures.feature" with:
11
- """
12
- Feature: Use Fixture
13
- Scenario: Use Fixture
14
- Given I use a fixture named "my-app"
15
- Then a file named "MY-APP-README.md" should exist
16
- """
17
- And a directory named "fixtures"
18
- And a directory named "fixtures/my-app"
19
- And an empty file named "fixtures/my-app/MY-APP-README.md"
20
- When I run `cucumber`
21
- Then the features should all pass
22
-
23
- Scenario: Use the fixture if fixtures directory is in features-directory
24
- Given a file named "features/use_fixtures.feature" with:
25
- """
26
- Feature: Use Fixture
27
- Scenario: Use Fixture
28
- Given I use a fixture named "my-app"
29
- Then a file named "MY-APP-README.md" should exist
30
- """
31
- And a directory named "features/fixtures"
32
- And a directory named "features/fixtures/my-app"
33
- And an empty file named "features/fixtures/my-app/MY-APP-README.md"
34
- When I run `cucumber`
35
- Then the features should all pass
36
-
37
- Scenario: Use the fixture if fixtures directory is in spec-directory
38
- Given a file named "features/use_fixtures.feature" with:
39
- """
40
- Feature: Use Fixture
41
- Scenario: Use Fixture
42
- Given I use a fixture named "my-app"
43
- Then a file named "MY-APP-README.md" should exist
44
- """
45
- And a directory named "spec/fixtures"
46
- And a directory named "spec/fixtures/my-app"
47
- And an empty file named "spec/fixtures/my-app/MY-APP-README.md"
48
- When I run `cucumber`
49
- Then the features should all pass
50
-
51
- Scenario: Use the fixture if fixtures directory is in test-directory
52
- Given a file named "features/use_fixtures.feature" with:
53
- """
54
- Feature: Use Fixture
55
- Scenario: Use Fixture
56
- Given I use a fixture named "my-app"
57
- Then a file named "MY-APP-README.md" should exist
58
- """
59
- And a directory named "test/fixtures"
60
- And a directory named "test/fixtures/my-app"
61
- And an empty file named "test/fixtures/my-app/MY-APP-README.md"
62
- When I run `cucumber`
63
- Then the features should all pass
64
-
65
- Scenario: Fails if fixture does not exist
66
- Given a file named "features/use_fixtures.feature" with:
67
- """
68
- Feature: Use Fixture
69
- Scenario: Use Fixture
70
- Given I use a fixture named "my-app"
71
- """
72
- And a directory named "fixtures"
73
- When I run `cucumber`
74
- Then the features should not all pass with regex:
75
- """
76
- Fixture "my-app" does not exist in fixtures directory ".+/fixtures"
77
- """
@@ -1,25 +0,0 @@
1
- Feature: Overview of steps
2
-
3
- Given you're a system administrator
4
- Who would like to use `aruba`
5
- But didn't know which steps are available
6
-
7
- Scenario: Use cucumber output formatter
8
- Given I use a fixture named "cli-app"
9
- And a file named "features/run.feature" with:
10
- """
11
- Feature: Run it
12
- Scenario: Run command
13
- Given a directory named "features"
14
- And a file named "features/support/env.rb" with:
15
- \"\"\"
16
- require 'aruba/cucumber'
17
- \"\"\"
18
- When I run `cucumber --format stepdefs`
19
- Then the output should contain:
20
- \"\"\"
21
- NOT MATCHED BY ANY STEPS
22
- \"\"\"
23
- """
24
- When I run `cucumber`
25
- Then the features should all pass
@@ -1,7 +0,0 @@
1
- require 'aruba/cucumber'
2
-
3
- Aruba.configure do |config|
4
- config.exit_timeout = 120
5
- config.io_wait_timeout = 2
6
- config.activate_announcer_on_command_failure = [:stderr, :stdout, :command]
7
- end
@@ -1,33 +0,0 @@
1
- $LOAD_PATH.unshift File.expand_path('../../../lib', __FILE__)
2
-
3
- # Has to be the first file required so that all other files show coverage information
4
- require 'simplecov'
5
-
6
- # Standard Library
7
- require 'fileutils'
8
- require 'pathname'
9
-
10
- # Gems
11
- require 'aruba/cucumber'
12
- require 'rspec/expectations'
13
-
14
- Before do |scenario|
15
- command_name = if scenario.respond_to?(:feature) && scenario.respond_to?(:name)
16
- "#{scenario.feature.name} #{scenario.name}"
17
- else
18
- raise TypeError.new("Don't know how to extract command name from #{scenario.class}")
19
- end
20
-
21
- # Used in simplecov_setup so that each scenario has a different name and their coverage results are merged instead
22
- # of overwriting each other as 'Cucumber Features'
23
- ENV['SIMPLECOV_COMMAND_NAME'] = command_name.to_s
24
-
25
- simplecov_setup_pathname = Pathname.new(__FILE__).expand_path.parent.join('simplecov_setup')
26
-
27
- # set environment variable so child processes will merge their coverage data with parent process's coverage data.
28
- ENV['RUBYOPT'] = if RUBY_VERSION < '1.9'
29
- "-r rubygems -r#{simplecov_setup_pathname} #{ENV['RUBYOPT']}"
30
- else
31
- "-r#{simplecov_setup_pathname} #{ENV['RUBYOPT']}"
32
- end
33
- end
@@ -1,5 +0,0 @@
1
- if RUBY_PLATFORM == 'java'
2
- Before do
3
- @aruba_timeout_seconds = 15
4
- end
5
- end
@@ -1,8 +0,0 @@
1
- # @note this file is loaded in env.rb to setup simplecov using RUBYOPTs for child processes and @in-process
2
- require 'simplecov'
3
-
4
- root = File.expand_path('../../../', __FILE__)
5
-
6
- SimpleCov.command_name(ENV['SIMPLECOV_COMMAND_NAME'])
7
- SimpleCov.root(root)
8
- load File.join(root, '.simplecov')
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $LOAD_PATH << File.expand_path('../../lib', __FILE__)
4
- require 'cli/app'
5
-
6
- exit 0
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- echo $* >&2