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,88 @@
|
|
|
1
|
+
Feature: Check if path exists and is an executable file
|
|
2
|
+
|
|
3
|
+
If you need to check if a given path exists and is a file, you can use the
|
|
4
|
+
`be_an_existing_executable`-matcher.
|
|
5
|
+
|
|
6
|
+
```ruby
|
|
7
|
+
require 'spec_helper'
|
|
8
|
+
|
|
9
|
+
RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
|
|
10
|
+
let(:file) { 'file.txt' }
|
|
11
|
+
before(:each) { touch(file) }
|
|
12
|
+
before(:each) { chmod(0755, file) }
|
|
13
|
+
|
|
14
|
+
it { expect(file).to be_an_existing_executable }
|
|
15
|
+
end
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Background:
|
|
19
|
+
Given I use a fixture named "cli-app"
|
|
20
|
+
|
|
21
|
+
Scenario: Expect single existing executable file
|
|
22
|
+
Given a file named "spec/existing_executable_spec.rb" with:
|
|
23
|
+
"""
|
|
24
|
+
require 'spec_helper'
|
|
25
|
+
|
|
26
|
+
RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
|
|
27
|
+
let(:file) { 'file.txt' }
|
|
28
|
+
before(:each) { touch(file) }
|
|
29
|
+
before(:each) { chmod(0755, file) }
|
|
30
|
+
|
|
31
|
+
it { expect(file).to be_an_existing_executable }
|
|
32
|
+
end
|
|
33
|
+
"""
|
|
34
|
+
When I run `rspec`
|
|
35
|
+
Then the specs should all pass
|
|
36
|
+
|
|
37
|
+
Scenario: Expect single non-existing executable file
|
|
38
|
+
Given a file named "spec/existing_executable_spec.rb" with:
|
|
39
|
+
"""
|
|
40
|
+
require 'spec_helper'
|
|
41
|
+
|
|
42
|
+
RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
|
|
43
|
+
let(:file) { 'file.txt' }
|
|
44
|
+
it { expect(file).not_to be_an_existing_executable }
|
|
45
|
+
end
|
|
46
|
+
"""
|
|
47
|
+
When I run `rspec`
|
|
48
|
+
Then the specs should all pass
|
|
49
|
+
|
|
50
|
+
Scenario: Expect multiple existing executable files
|
|
51
|
+
Given a file named "spec/existing_executable_spec.rb" with:
|
|
52
|
+
"""
|
|
53
|
+
require 'spec_helper'
|
|
54
|
+
|
|
55
|
+
RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
|
|
56
|
+
let(:files) { %w(file1.txt file2.txt) }
|
|
57
|
+
|
|
58
|
+
before :each do
|
|
59
|
+
files.each do |f|
|
|
60
|
+
touch(f)
|
|
61
|
+
chmod(0755, f)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it { expect(files).to all be_an_existing_executable }
|
|
66
|
+
end
|
|
67
|
+
"""
|
|
68
|
+
When I run `rspec`
|
|
69
|
+
Then the specs should all pass
|
|
70
|
+
|
|
71
|
+
Scenario: Expect a least one existing executable file
|
|
72
|
+
Given a file named "spec/existing_executable_spec.rb" with:
|
|
73
|
+
"""
|
|
74
|
+
require 'spec_helper'
|
|
75
|
+
|
|
76
|
+
RSpec.describe 'Check if file exists and is an executable file', :type => :aruba do
|
|
77
|
+
let(:files) { %w(file1.txt file2.txt) }
|
|
78
|
+
|
|
79
|
+
before :each do
|
|
80
|
+
touch(files.first)
|
|
81
|
+
chmod(0755, files.first)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
it { expect(files).to include an_existing_executable }
|
|
85
|
+
end
|
|
86
|
+
"""
|
|
87
|
+
When I run `rspec`
|
|
88
|
+
Then the specs should all pass
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
Feature: Check if path exists and is file
|
|
2
|
+
|
|
3
|
+
If you need to check if a given path exists and is a file, you can use the
|
|
4
|
+
`be_an_existing_file`-matcher.
|
|
5
|
+
|
|
6
|
+
```ruby
|
|
7
|
+
require 'spec_helper'
|
|
8
|
+
|
|
9
|
+
RSpec.describe 'Check if file exists and is file', :type => :aruba do
|
|
10
|
+
let(:file) { 'file.txt' }
|
|
11
|
+
before(:each) { touch(file) }
|
|
12
|
+
|
|
13
|
+
it { expect(file).to be_an_existing_file }
|
|
14
|
+
end
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Background:
|
|
18
|
+
Given I use a fixture named "cli-app"
|
|
19
|
+
|
|
20
|
+
Scenario: Expect single existing file
|
|
21
|
+
Given a file named "spec/existing_file_spec.rb" with:
|
|
22
|
+
"""
|
|
23
|
+
require 'spec_helper'
|
|
24
|
+
|
|
25
|
+
RSpec.describe 'Check if file exists and is file', :type => :aruba do
|
|
26
|
+
let(:file) { 'file.txt' }
|
|
27
|
+
before(:each) { touch(file) }
|
|
28
|
+
it { expect(file).to be_an_existing_file }
|
|
29
|
+
end
|
|
30
|
+
"""
|
|
31
|
+
When I run `rspec`
|
|
32
|
+
Then the specs should all pass
|
|
33
|
+
|
|
34
|
+
Scenario: Expect single non-existing file
|
|
35
|
+
Given a file named "spec/existing_file_spec.rb" with:
|
|
36
|
+
"""
|
|
37
|
+
require 'spec_helper'
|
|
38
|
+
|
|
39
|
+
RSpec.describe 'Check if file exists and is file', :type => :aruba do
|
|
40
|
+
let(:file) { 'file.txt' }
|
|
41
|
+
it { expect(file).not_to be_an_existing_file }
|
|
42
|
+
end
|
|
43
|
+
"""
|
|
44
|
+
When I run `rspec`
|
|
45
|
+
Then the specs should all pass
|
|
46
|
+
|
|
47
|
+
Scenario: Expect multiple existing files
|
|
48
|
+
Given a file named "spec/existing_file_spec.rb" with:
|
|
49
|
+
"""
|
|
50
|
+
require 'spec_helper'
|
|
51
|
+
|
|
52
|
+
RSpec.describe 'Check if file exists and is file', :type => :aruba do
|
|
53
|
+
let(:files) { %w(file1.txt file2.txt) }
|
|
54
|
+
|
|
55
|
+
before :each do
|
|
56
|
+
files.each { |f| touch(f) }
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
it { expect(files).to all be_an_existing_file }
|
|
60
|
+
end
|
|
61
|
+
"""
|
|
62
|
+
When I run `rspec`
|
|
63
|
+
Then the specs should all pass
|
|
64
|
+
|
|
65
|
+
Scenario: Expect a least one existing file
|
|
66
|
+
Given a file named "spec/existing_file_spec.rb" with:
|
|
67
|
+
"""
|
|
68
|
+
require 'spec_helper'
|
|
69
|
+
|
|
70
|
+
RSpec.describe 'Check if file exists and is file', :type => :aruba do
|
|
71
|
+
let(:files) { %w(file1.txt file2.txt) }
|
|
72
|
+
|
|
73
|
+
before :each do
|
|
74
|
+
touch(files.first)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
it { expect(files).to include an_existing_file }
|
|
78
|
+
end
|
|
79
|
+
"""
|
|
80
|
+
When I run `rspec`
|
|
81
|
+
Then the specs should all pass
|
|
82
|
+
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
Feature: Check if file has content
|
|
2
|
+
|
|
3
|
+
If you need to check if a given file has content, you can use the
|
|
4
|
+
`have_file_content`-matcher. It accepts `Object`, `Regexp` or any other
|
|
5
|
+
`RSpec::Matcher`-matchers. It fails if file does not exist.
|
|
6
|
+
|
|
7
|
+
```ruby
|
|
8
|
+
require 'spec_helper'
|
|
9
|
+
|
|
10
|
+
RSpec.describe 'Check if file has content', :type => :aruba do
|
|
11
|
+
let(:file) { 'file.txt' }
|
|
12
|
+
let(:content) { 'Hello World' }
|
|
13
|
+
|
|
14
|
+
before(:each) { write_file(file, content) }
|
|
15
|
+
|
|
16
|
+
it { expect(file).to have_file_content content }
|
|
17
|
+
end
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Background:
|
|
21
|
+
Given I use a fixture named "cli-app"
|
|
22
|
+
|
|
23
|
+
Scenario: Expect existing file with content
|
|
24
|
+
Given a file named "spec/file_with_content_spec.rb" with:
|
|
25
|
+
"""
|
|
26
|
+
require 'spec_helper'
|
|
27
|
+
|
|
28
|
+
RSpec.describe 'Check file content', :type => :aruba do
|
|
29
|
+
let(:file) { 'file.txt' }
|
|
30
|
+
let(:content) { 'Hello World' }
|
|
31
|
+
|
|
32
|
+
before(:each) { write_file(file, content) }
|
|
33
|
+
|
|
34
|
+
it { expect(file).to have_file_content content }
|
|
35
|
+
end
|
|
36
|
+
"""
|
|
37
|
+
When I run `rspec`
|
|
38
|
+
Then the specs should all pass
|
|
39
|
+
|
|
40
|
+
Scenario: Expect existing file with partial content
|
|
41
|
+
Given a file named "spec/file_with_content_spec.rb" with:
|
|
42
|
+
"""
|
|
43
|
+
require 'spec_helper'
|
|
44
|
+
|
|
45
|
+
RSpec.describe 'Check file content', :type => :aruba do
|
|
46
|
+
let(:file) { 'file.txt' }
|
|
47
|
+
let(:content) { 'Hello World' }
|
|
48
|
+
|
|
49
|
+
before(:each) { write_file(file, content) }
|
|
50
|
+
|
|
51
|
+
it { expect(file).to have_file_content /Hello/ }
|
|
52
|
+
end
|
|
53
|
+
"""
|
|
54
|
+
When I run `rspec`
|
|
55
|
+
Then the specs should all pass
|
|
56
|
+
|
|
57
|
+
Scenario: Expect existing file with partial content described by another matcher
|
|
58
|
+
Given a file named "spec/file_with_content_spec.rb" with:
|
|
59
|
+
"""
|
|
60
|
+
require 'spec_helper'
|
|
61
|
+
|
|
62
|
+
RSpec.describe 'Check file content', :type => :aruba do
|
|
63
|
+
let(:file) { 'file.txt' }
|
|
64
|
+
let(:content) { 'Hello World' }
|
|
65
|
+
|
|
66
|
+
before(:each) { write_file(file, content) }
|
|
67
|
+
|
|
68
|
+
it { expect(file).to have_file_content a_string_starting_with('Hello') }
|
|
69
|
+
end
|
|
70
|
+
"""
|
|
71
|
+
When I run `rspec`
|
|
72
|
+
Then the specs should all pass
|
|
73
|
+
|
|
74
|
+
Scenario: Expect multiple existing files with content
|
|
75
|
+
Given a file named "spec/file_with_content_spec.rb" with:
|
|
76
|
+
"""
|
|
77
|
+
require 'spec_helper'
|
|
78
|
+
|
|
79
|
+
RSpec.describe 'Check file content', :type => :aruba do
|
|
80
|
+
let(:files) { %w(file1.txt file2.txt) }
|
|
81
|
+
let(:content) { 'Hello World' }
|
|
82
|
+
|
|
83
|
+
before :each do
|
|
84
|
+
files.each { |f| write_file(f, content) }
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
it { expect(files).to all have_file_content content }
|
|
88
|
+
end
|
|
89
|
+
"""
|
|
90
|
+
When I run `rspec`
|
|
91
|
+
Then the specs should all pass
|
|
92
|
+
|
|
93
|
+
Scenario: Expect at least one file with content
|
|
94
|
+
Given a file named "spec/file_with_content_spec.rb" with:
|
|
95
|
+
"""
|
|
96
|
+
require 'spec_helper'
|
|
97
|
+
|
|
98
|
+
RSpec.describe 'Check file content', :type => :aruba do
|
|
99
|
+
let(:files) { %w(file1.txt file2.txt) }
|
|
100
|
+
let(:content) { 'Hello World' }
|
|
101
|
+
|
|
102
|
+
before(:each) { write_file(files.first, content) }
|
|
103
|
+
|
|
104
|
+
it { expect(files).to include a_file_having_content content }
|
|
105
|
+
end
|
|
106
|
+
"""
|
|
107
|
+
When I run `rspec`
|
|
108
|
+
Then the specs should all pass
|
|
109
|
+
|
|
110
|
+
Scenario: Fails if file does not exist
|
|
111
|
+
Given a file named "spec/file_with_content_spec.rb" with:
|
|
112
|
+
"""
|
|
113
|
+
require 'spec_helper'
|
|
114
|
+
|
|
115
|
+
RSpec.describe 'Check file content', :type => :aruba do
|
|
116
|
+
let(:file) { 'file.txt' }
|
|
117
|
+
let(:content) { 'Hello World' }
|
|
118
|
+
|
|
119
|
+
it { expect(file).to have_file_content content }
|
|
120
|
+
end
|
|
121
|
+
"""
|
|
122
|
+
When I run `rspec`
|
|
123
|
+
Then the specs should not all pass
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
Feature: Check if path has size
|
|
2
|
+
|
|
3
|
+
If you need to check if a given path has file size, you can use the
|
|
4
|
+
`have_file_size`-matcher. It fails if the file does not exist.
|
|
5
|
+
|
|
6
|
+
```ruby
|
|
7
|
+
require 'spec_helper'
|
|
8
|
+
|
|
9
|
+
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
10
|
+
let(:file) { 'file.txt' }
|
|
11
|
+
let(:size) { 1 }
|
|
12
|
+
|
|
13
|
+
before(:each) { write_fixed_size_file(file, size) }
|
|
14
|
+
|
|
15
|
+
it { expect(file).to have_file_size size }
|
|
16
|
+
end
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Background:
|
|
20
|
+
Given I use a fixture named "cli-app"
|
|
21
|
+
|
|
22
|
+
Scenario: Expect file of given size
|
|
23
|
+
Given a file named "spec/file_of_size_spec.rb" with:
|
|
24
|
+
"""
|
|
25
|
+
require 'spec_helper'
|
|
26
|
+
|
|
27
|
+
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
28
|
+
let(:file) { 'file.txt' }
|
|
29
|
+
let(:size) { 1 }
|
|
30
|
+
|
|
31
|
+
before(:each) { write_fixed_size_file(file, size) }
|
|
32
|
+
|
|
33
|
+
it { expect(file).to have_file_size size }
|
|
34
|
+
end
|
|
35
|
+
"""
|
|
36
|
+
When I run `rspec`
|
|
37
|
+
Then the specs should all pass
|
|
38
|
+
|
|
39
|
+
Scenario: Expect multiple files of given size
|
|
40
|
+
Given a file named "spec/file_of_size_spec.rb" with:
|
|
41
|
+
"""
|
|
42
|
+
require 'spec_helper'
|
|
43
|
+
|
|
44
|
+
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
45
|
+
let(:files) { %w(file1.txt file2.txt) }
|
|
46
|
+
let(:size) { 1 }
|
|
47
|
+
|
|
48
|
+
before :each do
|
|
49
|
+
files.each { |f| write_fixed_size_file(f, size) }
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it { expect(files).to all have_file_size size }
|
|
53
|
+
end
|
|
54
|
+
"""
|
|
55
|
+
When I run `rspec`
|
|
56
|
+
Then the specs should all pass
|
|
57
|
+
|
|
58
|
+
Scenario: Expect a least one file of size
|
|
59
|
+
Given a file named "spec/file_of_size_spec.rb" with:
|
|
60
|
+
"""
|
|
61
|
+
require 'spec_helper'
|
|
62
|
+
|
|
63
|
+
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
64
|
+
let(:files) { %w(file1.txt file2.txt) }
|
|
65
|
+
let(:size) { 1 }
|
|
66
|
+
|
|
67
|
+
before :each do
|
|
68
|
+
write_fixed_size_file(files.first, size)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
it { expect(files).to include a_file_of_size size }
|
|
72
|
+
end
|
|
73
|
+
"""
|
|
74
|
+
When I run `rspec`
|
|
75
|
+
Then the specs should all pass
|
|
76
|
+
|
|
77
|
+
Scenario: Fails because file has different size than expected
|
|
78
|
+
Given a file named "spec/file_of_size_spec.rb" with:
|
|
79
|
+
"""
|
|
80
|
+
require 'spec_helper'
|
|
81
|
+
|
|
82
|
+
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
83
|
+
let(:file) { 'file.txt' }
|
|
84
|
+
let(:size) { 1 }
|
|
85
|
+
|
|
86
|
+
before(:each) { write_fixed_size_file(file, size) }
|
|
87
|
+
|
|
88
|
+
it { expect(file).to have_file_size 2 }
|
|
89
|
+
end
|
|
90
|
+
"""
|
|
91
|
+
When I run `rspec`
|
|
92
|
+
Then the specs should not all pass
|
|
93
|
+
|
|
94
|
+
Scenario: Fails if file does not exist
|
|
95
|
+
Given a file named "spec/file_of_size_spec.rb" with:
|
|
96
|
+
"""
|
|
97
|
+
require 'spec_helper'
|
|
98
|
+
|
|
99
|
+
RSpec.describe 'Check if file has size', :type => :aruba do
|
|
100
|
+
let(:file) { 'file.txt' }
|
|
101
|
+
let(:size) { 1 }
|
|
102
|
+
|
|
103
|
+
it { expect(file).to have_file_size size }
|
|
104
|
+
end
|
|
105
|
+
"""
|
|
106
|
+
When I run `rspec`
|
|
107
|
+
Then the specs should not all pass
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
Feature: Check if path is absolute
|
|
2
|
+
|
|
3
|
+
If you need to check if a given path is absolute , you can use the
|
|
4
|
+
`be_an_absolute_path`-matcher. It doesn't care if the path is a directory or
|
|
5
|
+
a path.
|
|
6
|
+
|
|
7
|
+
```ruby
|
|
8
|
+
require 'spec_helper'
|
|
9
|
+
|
|
10
|
+
RSpec.describe 'Check if path is absolute', :type => :aruba do
|
|
11
|
+
let(:path) { 'file.txt' }
|
|
12
|
+
before(:each) { touch(path) }
|
|
13
|
+
|
|
14
|
+
it { expect(path).to be_an_absolute_path }
|
|
15
|
+
end
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Background:
|
|
19
|
+
Given I use a fixture named "cli-app"
|
|
20
|
+
|
|
21
|
+
Scenario: Expect single existing path
|
|
22
|
+
Given a file named "spec/absolute_path_spec.rb" with:
|
|
23
|
+
"""
|
|
24
|
+
require 'spec_helper'
|
|
25
|
+
|
|
26
|
+
RSpec.describe 'Check if path is absolute', :type => :aruba do
|
|
27
|
+
let(:path) { '/path/to/file.txt' }
|
|
28
|
+
it { expect(path).to be_an_absolute_path }
|
|
29
|
+
end
|
|
30
|
+
"""
|
|
31
|
+
When I run `rspec`
|
|
32
|
+
Then the specs should all pass
|
|
33
|
+
|
|
34
|
+
Scenario: Expect multiple absolute paths
|
|
35
|
+
Given a file named "spec/absolute_path_spec.rb" with:
|
|
36
|
+
"""
|
|
37
|
+
require 'spec_helper'
|
|
38
|
+
|
|
39
|
+
RSpec.describe 'Check if path is absolute', :type => :aruba do
|
|
40
|
+
let(:paths) { %w(/path/to/path1.txt /path/to/path2.txt) }
|
|
41
|
+
|
|
42
|
+
it { expect(paths).to all be_an_absolute_path }
|
|
43
|
+
end
|
|
44
|
+
"""
|
|
45
|
+
When I run `rspec`
|
|
46
|
+
Then the specs should all pass
|
|
47
|
+
|
|
48
|
+
Scenario: Expect a least one existing path
|
|
49
|
+
Given a file named "spec/absolute_path_spec.rb" with:
|
|
50
|
+
"""
|
|
51
|
+
require 'spec_helper'
|
|
52
|
+
|
|
53
|
+
RSpec.describe 'Check if path is absolute', :type => :aruba do
|
|
54
|
+
let(:paths) { %w(/path/to/path1.txt path2.txt) }
|
|
55
|
+
|
|
56
|
+
it { expect(paths).to include an_absolute_path }
|
|
57
|
+
end
|
|
58
|
+
"""
|
|
59
|
+
When I run `rspec`
|
|
60
|
+
Then the specs should all pass
|
|
61
|
+
|
|
62
|
+
Scenario: Expect failure on relative path
|
|
63
|
+
Given a file named "spec/absolute_path_spec.rb" with:
|
|
64
|
+
"""
|
|
65
|
+
require 'spec_helper'
|
|
66
|
+
|
|
67
|
+
RSpec.describe 'Check if path is absolute', :type => :aruba do
|
|
68
|
+
let(:paths) { %w(path2.txt) }
|
|
69
|
+
|
|
70
|
+
it { expect(paths).to be_an_absolute_path }
|
|
71
|
+
end
|
|
72
|
+
"""
|
|
73
|
+
When I run `rspec`
|
|
74
|
+
Then the specs should not all pass
|