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,57 @@
|
|
|
1
|
+
Feature: Create Directory
|
|
2
|
+
|
|
3
|
+
As a user of aruba
|
|
4
|
+
I want to create directories
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given I use a fixture named "cli-app"
|
|
8
|
+
|
|
9
|
+
Scenario: Non-existing directory
|
|
10
|
+
Given a file named "features/create_directory.feature" with:
|
|
11
|
+
"""
|
|
12
|
+
Feature: Create directory
|
|
13
|
+
Background:
|
|
14
|
+
Given a directory named "dir1"
|
|
15
|
+
|
|
16
|
+
Scenario: Create directory #1
|
|
17
|
+
Then a directory named "dir1" should exist
|
|
18
|
+
|
|
19
|
+
Scenario: Create directory #2
|
|
20
|
+
Then a directory named "dir1" should exist
|
|
21
|
+
|
|
22
|
+
Scenario: Create directory #3
|
|
23
|
+
Then a directory named "dir1" should exist
|
|
24
|
+
|
|
25
|
+
Scenario: Create directory #4
|
|
26
|
+
Then a directory named "dir1" should exist
|
|
27
|
+
|
|
28
|
+
Scenario: Create directory #5
|
|
29
|
+
Then a directory named "dir1" should exist
|
|
30
|
+
"""
|
|
31
|
+
When I run `cucumber`
|
|
32
|
+
Then the features should all pass
|
|
33
|
+
|
|
34
|
+
Scenario: Existing directory
|
|
35
|
+
|
|
36
|
+
It doesn't matter if a directory already exist.
|
|
37
|
+
|
|
38
|
+
Given a file named "features/create_directory.feature" with:
|
|
39
|
+
"""
|
|
40
|
+
Feature: Create directory
|
|
41
|
+
Scenario: Create directory
|
|
42
|
+
Given a directory named "dir1"
|
|
43
|
+
And a directory named "dir1"
|
|
44
|
+
"""
|
|
45
|
+
When I run `cucumber`
|
|
46
|
+
Then the features should all pass
|
|
47
|
+
|
|
48
|
+
Scenario: Change mode a long with creation of directory
|
|
49
|
+
Given a file named "features/create_directory.feature" with:
|
|
50
|
+
"""
|
|
51
|
+
Feature: Create directory
|
|
52
|
+
Scenario: Create directory
|
|
53
|
+
Given a directory named "dir1" with mode "0644"
|
|
54
|
+
Then the directory named "dir1" should have permissions "0644"
|
|
55
|
+
"""
|
|
56
|
+
When I run `cucumber`
|
|
57
|
+
Then the features should all pass
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
Feature: Create new File
|
|
2
|
+
|
|
3
|
+
As a user of aruba
|
|
4
|
+
I want to create files
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given I use a fixture named "cli-app"
|
|
8
|
+
|
|
9
|
+
Scenario: Create empty file
|
|
10
|
+
Given a file named "features/create_file.feature" with:
|
|
11
|
+
"""
|
|
12
|
+
Feature: Create file
|
|
13
|
+
Scenario: Create file
|
|
14
|
+
Given an empty file named "file1.txt"
|
|
15
|
+
Then a file named "file1.txt" should exist
|
|
16
|
+
"""
|
|
17
|
+
When I run `cucumber`
|
|
18
|
+
Then the features should all pass
|
|
19
|
+
|
|
20
|
+
Scenario: Create file with content
|
|
21
|
+
Given a file named "features/create_file.feature" with:
|
|
22
|
+
"""
|
|
23
|
+
Feature: Create file
|
|
24
|
+
Scenario: Create file
|
|
25
|
+
Given a file named "file1.txt" with:
|
|
26
|
+
\"\"\"
|
|
27
|
+
Hello World
|
|
28
|
+
\"\"\"
|
|
29
|
+
Then the file named "file1.txt" should contain:
|
|
30
|
+
\"\"\"
|
|
31
|
+
Hello World
|
|
32
|
+
\"\"\"
|
|
33
|
+
"""
|
|
34
|
+
When I run `cucumber`
|
|
35
|
+
Then the features should all pass
|
|
36
|
+
|
|
37
|
+
Scenario: Change mode a long with creation of a file with content
|
|
38
|
+
Given a file named "features/create_file.feature" with:
|
|
39
|
+
"""
|
|
40
|
+
Feature: Create file
|
|
41
|
+
Scenario: Create file
|
|
42
|
+
Given a file named "file1.txt" with mode "0644" and with:
|
|
43
|
+
\"\"\"
|
|
44
|
+
Hello World
|
|
45
|
+
\"\"\"
|
|
46
|
+
Then the file named "file1.txt" should have permissions "0644"
|
|
47
|
+
And the file named "file1.txt" should contain:
|
|
48
|
+
\"\"\"
|
|
49
|
+
Hello World
|
|
50
|
+
\"\"\"
|
|
51
|
+
"""
|
|
52
|
+
When I run `cucumber`
|
|
53
|
+
Then the features should all pass
|
|
54
|
+
|
|
55
|
+
Scenario: Change mode a long with creation of empty file
|
|
56
|
+
Given a file named "features/create_file.feature" with:
|
|
57
|
+
"""
|
|
58
|
+
Feature: Create file
|
|
59
|
+
Scenario: Create file
|
|
60
|
+
Given an empty file named "file1.txt" with mode "0644"
|
|
61
|
+
Then the file named "file1.txt" should have permissions "0644"
|
|
62
|
+
"""
|
|
63
|
+
When I run `cucumber`
|
|
64
|
+
Then the features should all pass
|
|
65
|
+
|
|
66
|
+
Scenario: Create a fixed sized file
|
|
67
|
+
Given a file named "features/non-existence.feature" with:
|
|
68
|
+
"""
|
|
69
|
+
Feature: Create file
|
|
70
|
+
Scenario: Create file
|
|
71
|
+
Given a 1048576 byte file named "test.txt"
|
|
72
|
+
Then a 1048576 byte file named "test.txt" should exist
|
|
73
|
+
"""
|
|
74
|
+
When I run `cucumber`
|
|
75
|
+
Then the features should all pass
|
|
76
|
+
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Feature: Make sure and check a directory exists
|
|
2
|
+
|
|
3
|
+
To setup a working environment, you may want to make sure, that a
|
|
4
|
+
directory exist.
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given I use a fixture named "cli-app"
|
|
8
|
+
|
|
9
|
+
Scenario: Check for presence of a single directory
|
|
10
|
+
Given a file named "features/existence.feature" with:
|
|
11
|
+
"""
|
|
12
|
+
Feature: Existence
|
|
13
|
+
Background:
|
|
14
|
+
Given an empty directory "lorem/ipsum/dolor"
|
|
15
|
+
|
|
16
|
+
Scenario: Existence #1
|
|
17
|
+
Then the directory "lorem/ipsum/dolor" should exist
|
|
18
|
+
|
|
19
|
+
Scenario: Existence #2
|
|
20
|
+
Then the directory named "lorem/ipsum/dolor" should exist
|
|
21
|
+
|
|
22
|
+
Scenario: Existence #3
|
|
23
|
+
Then a directory named "lorem/ipsum/dolor" should exist
|
|
24
|
+
"""
|
|
25
|
+
When I run `cucumber`
|
|
26
|
+
Then the features should all pass
|
|
27
|
+
|
|
28
|
+
Scenario: Check for presence of a multiple directories
|
|
29
|
+
Given a file named "features/existence.feature" with:
|
|
30
|
+
"""
|
|
31
|
+
Feature: Existence
|
|
32
|
+
Scenario: Existence
|
|
33
|
+
Given an empty directory "lorem/ipsum/dolor"
|
|
34
|
+
And an empty directory "lorem/ipsum/amet"
|
|
35
|
+
Then the following directories should exist:
|
|
36
|
+
| lorem/ipsum/dolor |
|
|
37
|
+
| lorem/ipsum/amet |
|
|
38
|
+
"""
|
|
39
|
+
When I run `cucumber`
|
|
40
|
+
Then the features should all pass
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Scenario: Check for presence of a subset of directories
|
|
44
|
+
Given a file named "features/existence.feature" with:
|
|
45
|
+
"""
|
|
46
|
+
Feature: Existence
|
|
47
|
+
Scenario: Existence
|
|
48
|
+
Given an empty directory "lorem/ipsum/dolor"
|
|
49
|
+
And an empty directory "lorem/ipsum/amet"
|
|
50
|
+
And an empty directory "lorem/ipsum/sit"
|
|
51
|
+
Then the following directories should exist:
|
|
52
|
+
| lorem/ipsum/dolor |
|
|
53
|
+
| lorem/ipsum/amet |
|
|
54
|
+
"""
|
|
55
|
+
When I run `cucumber`
|
|
56
|
+
Then the features should all pass
|
|
57
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Feature: Make sure and check a file exists
|
|
2
|
+
|
|
3
|
+
To setup a working environment, you may want to make sure, that a
|
|
4
|
+
file 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: Check for presence of a single file
|
|
11
|
+
Given an empty file named "lorem/ipsum/dolor"
|
|
12
|
+
Then a file named "lorem/ipsum/dolor" should exist
|
|
13
|
+
|
|
14
|
+
Scenario: Check for presence of a subset of files
|
|
15
|
+
Given a file named "features/existence.feature" with:
|
|
16
|
+
"""
|
|
17
|
+
Feature: Existence
|
|
18
|
+
Scenario: Existence
|
|
19
|
+
Given an empty file named "lorem/ipsum/dolor"
|
|
20
|
+
And an empty file named "lorem/ipsum/sit"
|
|
21
|
+
And an empty file named "lorem/ipsum/amet"
|
|
22
|
+
Then the following files should exist:
|
|
23
|
+
| lorem/ipsum/dolor |
|
|
24
|
+
| lorem/ipsum/amet |
|
|
25
|
+
"""
|
|
26
|
+
When I run `cucumber`
|
|
27
|
+
Then the features should all pass
|
|
28
|
+
|
|
29
|
+
Scenario: Check for presence of a single file using a regex
|
|
30
|
+
Given a file named "features/non-existence.feature" with:
|
|
31
|
+
"""
|
|
32
|
+
Feature: Existence
|
|
33
|
+
Background:
|
|
34
|
+
Given an empty file named "lorem/ipsum/dolor"
|
|
35
|
+
|
|
36
|
+
Scenario: Existence #1
|
|
37
|
+
Then a file matching %r<dolor$> should exist
|
|
38
|
+
|
|
39
|
+
Scenario: Existence #2
|
|
40
|
+
Then a file matching %r<ipsum/dolor> should exist
|
|
41
|
+
"""
|
|
42
|
+
When I run `cucumber`
|
|
43
|
+
Then the features should all pass
|
|
@@ -0,0 +1,86 @@
|
|
|
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
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|