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.
- checksums.yaml +7 -0
- data/.document +5 -0
- data/.gitignore +37 -0
- data/.rspec +3 -0
- data/.rubocop.yml +188 -0
- data/.simplecov +34 -0
- data/.travis.yml +47 -0
- data/.yardopts +8 -0
- data/CONTRIBUTING.md +71 -0
- data/Gemfile +83 -0
- data/History.md +579 -0
- data/LICENSE +20 -0
- data/README.md +226 -0
- data/Rakefile +49 -0
- data/TODO.md +13 -0
- data/appveyor.yml +32 -0
- data/aruba.gemspec +48 -0
- data/bin/aruba +7 -0
- data/config/.gitignore +1 -0
- data/cucumber.yml +26 -0
- data/features/.nav +72 -0
- data/features/api/command/find_command.feature +83 -0
- data/features/api/command/last_command_started.feature +50 -0
- data/features/api/command/last_command_stopped.feature +89 -0
- data/features/api/command/run.feature +414 -0
- data/features/api/command/run_simple.feature +242 -0
- data/features/api/command/send_signal.feature +53 -0
- data/features/api/command/stderr.feature +46 -0
- data/features/api/command/stdout.feature +46 -0
- data/features/api/command/stop.feature +131 -0
- data/features/api/command/stop_all_commands.feature +53 -0
- data/features/api/command/terminate_all_commands.feature +53 -0
- data/features/api/command/which.feature +37 -0
- data/features/api/core/expand_path.feature +88 -0
- data/features/api/environment/append_environment_variable.feature +128 -0
- data/features/api/environment/delete_environment_variable.feature +63 -0
- data/features/api/environment/prepend_environment_variable.feature +128 -0
- data/features/api/environment/set_environment_variable.feature +376 -0
- data/features/api/filesystem/cd.feature +184 -0
- data/features/api/filesystem/create_directory.feature +57 -0
- data/features/api/filesystem/disk_usage.feature +152 -0
- data/features/api/filesystem/does_exist.feature +62 -0
- data/features/api/filesystem/fixtures.feature +104 -0
- data/features/api/filesystem/is_absolute.feature +48 -0
- data/features/api/filesystem/is_directory.feature +53 -0
- data/features/api/filesystem/is_file.feature +54 -0
- data/features/api/filesystem/is_relative.feature +48 -0
- data/features/api/filesystem/move.feature +119 -0
- data/features/api/text/extract_text.feature +87 -0
- data/features/api/text/replace_variables.feature +45 -0
- data/features/api/text/sanitize_text.feature +228 -0
- data/features/api/text/unescape_text.feature +127 -0
- data/features/cli/console.feature +52 -0
- data/features/cli/init.feature +79 -0
- data/features/configuration/activate_announcer_on_command_failure.feature +38 -0
- data/features/configuration/command_runtime_environment.feature +129 -0
- data/features/configuration/console_history_file.feature +38 -0
- data/features/configuration/exit_timeout.feature +52 -0
- data/features/configuration/fixtures_directories.feature +38 -0
- data/features/configuration/fixtures_path_prefix.feature +23 -0
- data/features/configuration/home_directory.feature +80 -0
- data/features/configuration/io_timeout.feature +30 -0
- data/features/configuration/keep_ansi.feature +30 -0
- data/features/configuration/log_level.feature +38 -0
- data/features/configuration/physical_block_size.feature +53 -0
- data/features/configuration/remove_ansi_escape_sequences.feature +38 -0
- data/features/configuration/root_directory.feature +30 -0
- data/features/configuration/startup_wait_time.feature +48 -0
- data/features/configuration/usage.feature +159 -0
- data/features/configuration/working_directory.feature +33 -0
- data/features/development/build.feature +15 -0
- data/features/development/test.feature +24 -0
- data/features/getting_started/cleanup.feature +67 -0
- data/features/getting_started/install.feature +8 -0
- data/features/getting_started/run_commands.feature +177 -0
- data/features/getting_started/supported_testing_frameworks.feature +104 -0
- data/features/getting_started/writing_good_feature_tests.feature +38 -0
- data/features/hooks/after/command.feature +44 -0
- data/features/hooks/before/command.feature +71 -0
- data/features/matchers/collection/include_an_object.feature +72 -0
- data/features/matchers/directory/have_sub_directory.feature +110 -0
- data/features/matchers/file/be_a_command_found_in_path.feature +115 -0
- data/features/matchers/file/be_existing_executable.feature +88 -0
- data/features/matchers/file/be_existing_file.feature +82 -0
- data/features/matchers/file/have_file_content.feature +123 -0
- data/features/matchers/file/have_file_size.feature +107 -0
- data/features/matchers/path/be_an_absolute_path.feature +74 -0
- data/features/matchers/path/be_an_existing_path.feature +97 -0
- data/features/matchers/path/have_permissions.feature +118 -0
- data/features/matchers/timeouts.feature +48 -0
- data/features/platforms/jruby.feature +14 -0
- data/features/rspec/integration.feature +179 -0
- data/features/step_definitions/aruba_dev_steps.rb +56 -0
- data/features/step_definitions/hooks.rb +96 -0
- data/features/steps/command/debug.feature +92 -0
- data/features/steps/command/exit_statuses.feature +136 -0
- data/features/steps/command/in_process.feature +485 -0
- data/features/steps/command/interactive.feature +90 -0
- data/features/steps/command/output.feature +588 -0
- data/features/steps/command/run.feature +66 -0
- data/features/steps/command/send_signal.feature +104 -0
- data/features/steps/command/shell.feature +155 -0
- data/features/steps/command/stderr.feature +68 -0
- data/features/steps/command/stdout.feature +109 -0
- data/features/steps/command/stop.feature +313 -0
- data/features/steps/core/announce.feature +283 -0
- data/features/steps/environment/append_environment_variable.feature +52 -0
- data/features/steps/environment/home_variable.feature +62 -0
- data/features/steps/environment/prepend_environment_variable.feature +52 -0
- data/features/steps/environment/set_environment_variable.feature +49 -0
- data/features/steps/filesystem/append_to_file.feature +45 -0
- data/features/steps/filesystem/cd_to_directory.feature +33 -0
- data/features/steps/filesystem/check_file_content.feature +61 -0
- data/features/steps/filesystem/check_permissions_of_file.feature +39 -0
- data/features/steps/filesystem/compare_files.feature +42 -0
- data/features/steps/filesystem/copy.feature +45 -0
- data/features/steps/filesystem/create_directory.feature +57 -0
- data/features/steps/filesystem/create_file.feature +76 -0
- data/features/steps/filesystem/existence_of_directory.feature +57 -0
- data/features/steps/filesystem/existence_of_file.feature +43 -0
- data/features/steps/filesystem/file_content.feature +86 -0
- data/features/steps/filesystem/fixtures.feature +64 -0
- data/features/steps/filesystem/move.feature +45 -0
- data/features/steps/filesystem/non_existence_of_directory.feature +69 -0
- data/features/steps/filesystem/non_existence_of_file.feature +80 -0
- data/features/steps/filesystem/overwrite_file.feature +72 -0
- data/features/steps/filesystem/remove_directory.feature +38 -0
- data/features/steps/filesystem/remove_file.feature +38 -0
- data/features/steps/filesystem/use_fixture.feature +77 -0
- data/features/steps/overview.feature +60 -0
- data/features/support/aruba.rb +7 -0
- data/features/support/env.rb +33 -0
- data/features/support/jruby.rb +5 -0
- data/features/support/simplecov_setup.rb +8 -0
- data/fixtures/cli-app/.gitignore +9 -0
- data/fixtures/cli-app/.rspec +2 -0
- data/fixtures/cli-app/README.md +39 -0
- data/fixtures/cli-app/Rakefile +1 -0
- data/fixtures/cli-app/bin/cli +6 -0
- data/fixtures/cli-app/cli-app.gemspec +26 -0
- data/fixtures/cli-app/features/support/env.rb +1 -0
- data/fixtures/cli-app/lib/cli/app.rb +13 -0
- data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +15 -0
- data/fixtures/cli-app/lib/cli/app/version.rb +5 -0
- data/fixtures/cli-app/script/console +14 -0
- data/fixtures/cli-app/spec/spec_helper.rb +9 -0
- data/fixtures/cli-app/spec/support/aruba.rb +1 -0
- data/fixtures/copy/file.txt +1 -0
- data/fixtures/empty-app/.gitignore +9 -0
- data/fixtures/empty-app/.rspec +2 -0
- data/fixtures/empty-app/README.md +24 -0
- data/fixtures/empty-app/Rakefile +1 -0
- data/fixtures/empty-app/cli-app.gemspec +26 -0
- data/fixtures/empty-app/lib/cli/app.rb +13 -0
- data/fixtures/empty-app/lib/cli/app/version.rb +5 -0
- data/fixtures/getting-started-app/.gitignore +4 -0
- data/fixtures/getting-started-app/Gemfile +4 -0
- data/fixtures/getting-started-app/README.md +3 -0
- data/fixtures/getting-started-app/features/support/env.rb +1 -0
- data/fixtures/spawn_process/stderr.sh +3 -0
- data/lib/aruba.rb +1 -0
- data/lib/aruba/api.rb +34 -0
- data/lib/aruba/api/command.rb +307 -0
- data/lib/aruba/api/core.rb +191 -0
- data/lib/aruba/api/deprecated.rb +897 -0
- data/lib/aruba/api/environment.rb +89 -0
- data/lib/aruba/api/filesystem.rb +392 -0
- data/lib/aruba/api/rvm.rb +44 -0
- data/lib/aruba/api/text.rb +56 -0
- data/lib/aruba/aruba_path.rb +133 -0
- data/lib/aruba/basic_configuration.rb +240 -0
- data/lib/aruba/basic_configuration/option.rb +32 -0
- data/lib/aruba/cli.rb +26 -0
- data/lib/aruba/colorizer.rb +108 -0
- data/lib/aruba/command.rb +74 -0
- data/lib/aruba/config.rb +108 -0
- data/lib/aruba/config/jruby.rb +17 -0
- data/lib/aruba/config_wrapper.rb +58 -0
- data/lib/aruba/console.rb +70 -0
- data/lib/aruba/console/help.rb +35 -0
- data/lib/aruba/contracts/absolute_path.rb +20 -0
- data/lib/aruba/contracts/enum.rb +26 -0
- data/lib/aruba/contracts/is_power_of_two.rb +22 -0
- data/lib/aruba/contracts/relative_path.rb +20 -0
- data/lib/aruba/cucumber.rb +13 -0
- data/lib/aruba/cucumber/command.rb +422 -0
- data/lib/aruba/cucumber/core.rb +5 -0
- data/lib/aruba/cucumber/environment.rb +42 -0
- data/lib/aruba/cucumber/file.rb +201 -0
- data/lib/aruba/cucumber/hooks.rb +160 -0
- data/lib/aruba/cucumber/rvm.rb +3 -0
- data/lib/aruba/cucumber/testing_frameworks.rb +95 -0
- data/lib/aruba/errors.rb +37 -0
- data/lib/aruba/event_bus.rb +59 -0
- data/lib/aruba/event_bus/name_resolver.rb +168 -0
- data/lib/aruba/events.rb +39 -0
- data/lib/aruba/extensions/string/strip.rb +25 -0
- data/lib/aruba/file_size.rb +63 -0
- data/lib/aruba/generators/script_file.rb +46 -0
- data/lib/aruba/hooks.rb +56 -0
- data/lib/aruba/in_config_wrapper.rb +24 -0
- data/lib/aruba/in_process.rb +14 -0
- data/lib/aruba/initializer.rb +222 -0
- data/lib/aruba/jruby.rb +4 -0
- data/lib/aruba/matchers/base/base_matcher.rb +96 -0
- data/lib/aruba/matchers/base/object_formatter.rb +114 -0
- data/lib/aruba/matchers/collection.rb +1 -0
- data/lib/aruba/matchers/collection/all.rb +11 -0
- data/lib/aruba/matchers/collection/include_an_object.rb +122 -0
- data/lib/aruba/matchers/command.rb +1 -0
- data/lib/aruba/matchers/command/be_successfully_executed.rb +34 -0
- data/lib/aruba/matchers/command/have_exit_status.rb +38 -0
- data/lib/aruba/matchers/command/have_finished_in_time.rb +37 -0
- data/lib/aruba/matchers/command/have_output.rb +36 -0
- data/lib/aruba/matchers/command/have_output_on_stderr.rb +32 -0
- data/lib/aruba/matchers/command/have_output_on_stdout.rb +32 -0
- data/lib/aruba/matchers/command/have_output_size.rb +28 -0
- data/lib/aruba/matchers/directory.rb +1 -0
- data/lib/aruba/matchers/directory/be_an_existing_directory.rb +38 -0
- data/lib/aruba/matchers/directory/have_sub_directory.rb +53 -0
- data/lib/aruba/matchers/environment.rb +1 -0
- data/lib/aruba/matchers/file.rb +1 -0
- data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +36 -0
- data/lib/aruba/matchers/file/be_an_existing_executable.rb +37 -0
- data/lib/aruba/matchers/file/be_an_existing_file.rb +38 -0
- data/lib/aruba/matchers/file/have_file_content.rb +62 -0
- data/lib/aruba/matchers/file/have_file_size.rb +47 -0
- data/lib/aruba/matchers/file/have_same_file_content.rb +48 -0
- data/lib/aruba/matchers/path.rb +1 -0
- data/lib/aruba/matchers/path/a_path_matching_pattern.rb +25 -0
- data/lib/aruba/matchers/path/be_an_absolute_path.rb +36 -0
- data/lib/aruba/matchers/path/be_an_existing_path.rb +37 -0
- data/lib/aruba/matchers/path/have_permissions.rb +64 -0
- data/lib/aruba/matchers/path/match_path_pattern.rb +41 -0
- data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +25 -0
- data/lib/aruba/matchers/string.rb +1 -0
- data/lib/aruba/matchers/string/include_output_string.rb +36 -0
- data/lib/aruba/matchers/string/match_output_string.rb +37 -0
- data/lib/aruba/matchers/string/output_string_eq.rb +35 -0
- data/lib/aruba/platform.rb +25 -0
- data/lib/aruba/platforms/announcer.rb +232 -0
- data/lib/aruba/platforms/aruba_file_creator.rb +35 -0
- data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +35 -0
- data/lib/aruba/platforms/aruba_logger.rb +81 -0
- data/lib/aruba/platforms/command_monitor.rb +229 -0
- data/lib/aruba/platforms/determine_disk_usage.rb +28 -0
- data/lib/aruba/platforms/determine_file_size.rb +22 -0
- data/lib/aruba/platforms/disk_usage_calculator.rb +20 -0
- data/lib/aruba/platforms/filesystem_status.rb +68 -0
- data/lib/aruba/platforms/local_environment.rb +29 -0
- data/lib/aruba/platforms/simple_table.rb +54 -0
- data/lib/aruba/platforms/unix_command_string.rb +27 -0
- data/lib/aruba/platforms/unix_environment_variables.rb +220 -0
- data/lib/aruba/platforms/unix_platform.rb +276 -0
- data/lib/aruba/platforms/unix_which.rb +85 -0
- data/lib/aruba/platforms/windows_command_string.rb +31 -0
- data/lib/aruba/platforms/windows_environment_variables.rb +89 -0
- data/lib/aruba/platforms/windows_platform.rb +42 -0
- data/lib/aruba/platforms/windows_which.rb +106 -0
- data/lib/aruba/processes/basic_process.rb +143 -0
- data/lib/aruba/processes/debug_process.rb +69 -0
- data/lib/aruba/processes/in_process.rb +125 -0
- data/lib/aruba/processes/spawn_process.rb +278 -0
- data/lib/aruba/reporting.rb +126 -0
- data/lib/aruba/rspec.rb +107 -0
- data/lib/aruba/runtime.rb +96 -0
- data/lib/aruba/setup.rb +90 -0
- data/lib/aruba/spawn_process.rb +11 -0
- data/lib/aruba/version.rb +3 -0
- data/script/bootstrap +28 -0
- data/script/console +16 -0
- data/script/test +3 -0
- data/spec/aruba/api/environment/restore_env_spec.rb +65 -0
- data/spec/aruba/api/environment/set_env_spec.rb +42 -0
- data/spec/aruba/api/filesystem/file_size_spec.rb +28 -0
- data/spec/aruba/api/runtime_spec.rb +28 -0
- data/spec/aruba/api_spec.rb +1209 -0
- data/spec/aruba/aruba_path_spec.rb +103 -0
- data/spec/aruba/basic_configuration_spec.rb +5 -0
- data/spec/aruba/configuration_spec.rb +5 -0
- data/spec/aruba/hooks_spec.rb +17 -0
- data/spec/aruba/in_config_wrapper_spec.rb +25 -0
- data/spec/aruba/jruby_spec.rb +55 -0
- data/spec/aruba/matchers/command/have_output_size_spec.rb +25 -0
- data/spec/aruba/matchers/command_spec.rb +174 -0
- data/spec/aruba/matchers/directory_spec.rb +57 -0
- data/spec/aruba/matchers/file_spec.rb +127 -0
- data/spec/aruba/matchers/path_spec.rb +88 -0
- data/spec/aruba/platform/simple_table_spec.rb +23 -0
- data/spec/aruba/platform/windows_environment_variables_spec.rb +500 -0
- data/spec/aruba/rspec_spec.rb +15 -0
- data/spec/aruba/runtime_spec.rb +29 -0
- data/spec/aruba/spawn_process_spec.rb +60 -0
- data/spec/event_bus/name_resolver_spec.rb +68 -0
- data/spec/event_bus_spec.rb +160 -0
- data/spec/spec_helper.rb +23 -0
- data/spec/support/configs/.keep +0 -0
- data/spec/support/configs/aruba.rb +5 -0
- data/spec/support/configs/pry.rb +3 -0
- data/spec/support/configs/rspec.rb +15 -0
- data/spec/support/helpers/.keep +0 -0
- data/spec/support/helpers/reporting.rb +44 -0
- data/spec/support/matchers/.keep +0 -0
- data/spec/support/matchers/option.rb +35 -0
- data/spec/support/shared_contexts/.keep +0 -0
- data/spec/support/shared_contexts/aruba.rb +48 -0
- data/spec/support/shared_examples/.keep +0 -0
- data/spec/support/shared_examples/configuration.rb +116 -0
- data/spec/support/shared_examples/directory.rb +7 -0
- data/spec/support/shared_examples/file.rb +7 -0
- data/templates/css/console.css +24 -0
- data/templates/css/filesystem.css +42 -0
- data/templates/css/pygments-autumn.css +59 -0
- data/templates/files.erb +14 -0
- data/templates/images/LICENSE +22 -0
- data/templates/images/folder.png +0 -0
- data/templates/images/page_white.png +0 -0
- data/templates/images/page_white_gherkin.png +0 -0
- data/templates/images/page_white_ruby.png +0 -0
- data/templates/index.erb +20 -0
- data/templates/js/filesystem.js +5 -0
- data/templates/js/jquery-1.11.3.min.js +5 -0
- data/templates/main.erb +34 -0
- metadata +629 -0
|
@@ -0,0 +1,80 @@
|
|
|
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
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
"""
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
|
@@ -0,0 +1,77 @@
|
|
|
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
|
+
"""
|
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
Background:
|
|
8
|
+
Given I use a fixture named "cli-app"
|
|
9
|
+
|
|
10
|
+
Scenario: Use information found in repository
|
|
11
|
+
Given an executable named "bin/cli" with:
|
|
12
|
+
"""
|
|
13
|
+
#!/bin/bash
|
|
14
|
+
git clone https://github.com/cucumber/aruba.git
|
|
15
|
+
cd aruba
|
|
16
|
+
grep -E "When|Given|Then" lib/aruba/cucumber/*.rb | awk -F ":" '{ $1 = ""; print $0}' |sort
|
|
17
|
+
"""
|
|
18
|
+
And a file named "features/run.feature" with:
|
|
19
|
+
"""
|
|
20
|
+
Feature: Run it
|
|
21
|
+
Scenario: Run command
|
|
22
|
+
When I run `cli`
|
|
23
|
+
Then the output should contain:
|
|
24
|
+
\"\"\"
|
|
25
|
+
Cloning into 'aruba'...
|
|
26
|
+
\"\"\"
|
|
27
|
+
And the output should contain:
|
|
28
|
+
\"\"\"
|
|
29
|
+
Given(/^
|
|
30
|
+
\"\"\"
|
|
31
|
+
And the output should contain:
|
|
32
|
+
\"\"\"
|
|
33
|
+
When(/^
|
|
34
|
+
\"\"\"
|
|
35
|
+
And the output should contain:
|
|
36
|
+
\"\"\"
|
|
37
|
+
Then(/^
|
|
38
|
+
\"\"\"
|
|
39
|
+
"""
|
|
40
|
+
When I run `cucumber`
|
|
41
|
+
Then the features should all pass
|
|
42
|
+
|
|
43
|
+
Scenario: Use cucumber output formatter
|
|
44
|
+
Given a file named "features/run.feature" with:
|
|
45
|
+
"""
|
|
46
|
+
Feature: Run it
|
|
47
|
+
Scenario: Run command
|
|
48
|
+
Given a directory named "features"
|
|
49
|
+
And a file named "features/support/env.rb" with:
|
|
50
|
+
\"\"\"
|
|
51
|
+
require 'aruba/cucumber'
|
|
52
|
+
\"\"\"
|
|
53
|
+
When I run `cucumber --format stepdefs`
|
|
54
|
+
Then the output should contain:
|
|
55
|
+
\"\"\"
|
|
56
|
+
NOT MATCHED BY ANY STEPS
|
|
57
|
+
\"\"\"
|
|
58
|
+
"""
|
|
59
|
+
When I run `cucumber`
|
|
60
|
+
Then the features should all pass
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
|
@@ -0,0 +1,8 @@
|
|
|
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')
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Simple Cli App
|
|
2
|
+
|
|
3
|
+
This is a simple test cli app
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Add this line to your application's Gemfile:
|
|
8
|
+
|
|
9
|
+
```ruby
|
|
10
|
+
gem 'cli-app'
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
And then execute:
|
|
14
|
+
|
|
15
|
+
$ bundle
|
|
16
|
+
|
|
17
|
+
Or install it yourself as:
|
|
18
|
+
|
|
19
|
+
$ gem install cli-app
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
Place files in `lib/cli/app/`. They are loaded automatically. If you need a
|
|
24
|
+
specific load order, use `require` in your files.
|
|
25
|
+
|
|
26
|
+
### CLI
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
cli
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Library
|
|
33
|
+
|
|
34
|
+
You can use `script/console` to load your library.
|
|
35
|
+
|
|
36
|
+
### Fixture
|
|
37
|
+
|
|
38
|
+
This fixture includes files for `cucumber`- and `rspec`-integration.
|
|
39
|
+
|