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 @@
|
|
|
1
|
+
Aruba.platform.require_matching_files('../matchers/environment/*.rb', __FILE__)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Aruba.platform.require_matching_files('../file/**/*.rb', __FILE__)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method be_a_command_found_in_path
|
|
4
|
+
# This matchers checks if <command> can be found in path
|
|
5
|
+
#
|
|
6
|
+
# @return [TrueClass, FalseClass] The result
|
|
7
|
+
#
|
|
8
|
+
# false:
|
|
9
|
+
# * if command was not found in PATH
|
|
10
|
+
# true:
|
|
11
|
+
# * if command can be found in PATH
|
|
12
|
+
#
|
|
13
|
+
# @example Use matcher
|
|
14
|
+
#
|
|
15
|
+
# RSpec.describe do
|
|
16
|
+
# it { expect(cmd).to be_a_command_found_in_path }
|
|
17
|
+
# end
|
|
18
|
+
RSpec::Matchers.define :be_a_command_found_in_path do
|
|
19
|
+
match do |actual|
|
|
20
|
+
@actual = Shellwords.split(actual.commandline).first if actual.respond_to? :commandline
|
|
21
|
+
|
|
22
|
+
!which(@actual).nil?
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
failure_message do |actual|
|
|
26
|
+
format(%(expected that command "%s" can be found in PATH "#{ENV['PATH']}".), actual)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
failure_message_when_negated do |actual|
|
|
30
|
+
format(%(expected that command "%s" cannot be found in PATH "#{ENV['PATH']}".), actual)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
35
|
+
RSpec::Matchers.alias_matcher :a_command_found_in_path, :be_a_command_found_in_path
|
|
36
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
require 'shellwords'
|
|
3
|
+
|
|
4
|
+
# @!method be_an_existing_executable
|
|
5
|
+
# This matchers checks if <file> exists in filesystem
|
|
6
|
+
#
|
|
7
|
+
# @return [TrueClass, FalseClass] The result
|
|
8
|
+
#
|
|
9
|
+
# false:
|
|
10
|
+
# * if file does not exist
|
|
11
|
+
# true:
|
|
12
|
+
# * if file exists
|
|
13
|
+
#
|
|
14
|
+
# @example Use matcher
|
|
15
|
+
#
|
|
16
|
+
# RSpec.describe do
|
|
17
|
+
# it { expect(file1).to be_an_existing_executable }
|
|
18
|
+
# end
|
|
19
|
+
RSpec::Matchers.define :be_an_existing_executable do |_|
|
|
20
|
+
match do |actual|
|
|
21
|
+
@actual = Shellwords.split(actual.commandline).first if actual.respond_to? :commandline
|
|
22
|
+
|
|
23
|
+
executable?(@actual)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
failure_message do |actual|
|
|
27
|
+
format("expected that executable \"%s\" exists", actual)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
failure_message_when_negated do |actual|
|
|
31
|
+
format("expected that executable \"%s\" does not exist", actual)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
36
|
+
RSpec::Matchers.alias_matcher :an_existing_executable, :be_an_existing_executable
|
|
37
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method be_an_existing_file
|
|
4
|
+
# This matchers checks if <file> exists in filesystem
|
|
5
|
+
#
|
|
6
|
+
# @return [TrueClass, FalseClass] The result
|
|
7
|
+
#
|
|
8
|
+
# false:
|
|
9
|
+
# * if file does not exist
|
|
10
|
+
# true:
|
|
11
|
+
# * if file exists
|
|
12
|
+
#
|
|
13
|
+
# @example Use matcher
|
|
14
|
+
#
|
|
15
|
+
# RSpec.describe do
|
|
16
|
+
# it { expect(file1).to be_an_existing_file }
|
|
17
|
+
# end
|
|
18
|
+
RSpec::Matchers.define :be_an_existing_file do |_|
|
|
19
|
+
match do |actual|
|
|
20
|
+
stop_all_commands
|
|
21
|
+
|
|
22
|
+
next false unless actual.is_a? String
|
|
23
|
+
|
|
24
|
+
file?(actual)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
failure_message do |actual|
|
|
28
|
+
format("expected that file \"%s\" exists", actual)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
failure_message_when_negated do |actual|
|
|
32
|
+
format("expected that file \"%s\" does not exist", actual)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
37
|
+
RSpec::Matchers.alias_matcher :an_existing_file, :be_an_existing_file
|
|
38
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method have_file_content(content)
|
|
4
|
+
# This matchers checks if <file> has content. `content` can be a string,
|
|
5
|
+
# regexp or an RSpec matcher.
|
|
6
|
+
#
|
|
7
|
+
# @param [String, Regexp, Matcher] content
|
|
8
|
+
# Specifies the content of the file
|
|
9
|
+
#
|
|
10
|
+
# @return [TrueClass, FalseClass] The result
|
|
11
|
+
#
|
|
12
|
+
# false:
|
|
13
|
+
# * if file does not exist
|
|
14
|
+
# * if file content is not equal string
|
|
15
|
+
# * if file content does not include regexp
|
|
16
|
+
# * if file content does not match the content specification
|
|
17
|
+
#
|
|
18
|
+
# true:
|
|
19
|
+
# * if file content includes regexp
|
|
20
|
+
# * if file content is equal string
|
|
21
|
+
# * if file content matches the content specification
|
|
22
|
+
#
|
|
23
|
+
# @example Use matcher with string
|
|
24
|
+
#
|
|
25
|
+
# RSpec.describe do
|
|
26
|
+
# it { expect(file1).to have_file_content('a') }
|
|
27
|
+
# end
|
|
28
|
+
#
|
|
29
|
+
# @example Use matcher with regexp
|
|
30
|
+
#
|
|
31
|
+
# RSpec.describe do
|
|
32
|
+
# it { expect(file1).to have_file_content(/a/) }
|
|
33
|
+
# end
|
|
34
|
+
#
|
|
35
|
+
# @example Use matcher with an RSpec matcher
|
|
36
|
+
#
|
|
37
|
+
# RSpec.describe do
|
|
38
|
+
# it { expect(file1).to have_file_content(a_string_starting_with 'a') }
|
|
39
|
+
# it { expect(files1).to include a_file_having_content(a_string_starting_with 'a') }
|
|
40
|
+
# end
|
|
41
|
+
RSpec::Matchers.define :have_file_content do |expected|
|
|
42
|
+
match do |actual|
|
|
43
|
+
stop_all_commands
|
|
44
|
+
|
|
45
|
+
next false unless file? actual
|
|
46
|
+
|
|
47
|
+
@actual = read(actual).join("\n").chomp
|
|
48
|
+
@expected = if expected.is_a? String
|
|
49
|
+
expected.chomp
|
|
50
|
+
else
|
|
51
|
+
expected
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
values_match?(@expected, @actual)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
description { "have file content: #{description_of expected}" }
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
61
|
+
RSpec::Matchers.alias_matcher :a_file_having_content, :have_file_content
|
|
62
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method have_file_size(size)
|
|
4
|
+
# This matchers checks if path has file size
|
|
5
|
+
#
|
|
6
|
+
# @param [Fixnum] size
|
|
7
|
+
# The size to check
|
|
8
|
+
#
|
|
9
|
+
# @return [TrueClass, FalseClass] The result
|
|
10
|
+
#
|
|
11
|
+
# false:
|
|
12
|
+
# * if path does not have size
|
|
13
|
+
# true:
|
|
14
|
+
# * if path has size
|
|
15
|
+
#
|
|
16
|
+
# @example Use matcher
|
|
17
|
+
#
|
|
18
|
+
# RSpec.describe do
|
|
19
|
+
# it { expect('file.txt').to have_file_size(0) }
|
|
20
|
+
# it { expect(%w(file.txt file2.txt)).to all have_file_size(0) }
|
|
21
|
+
# it { expect(%w(file.txt file2.txt)).to include a_file_of_size(0) }
|
|
22
|
+
# end
|
|
23
|
+
RSpec::Matchers.define :have_file_size do |expected|
|
|
24
|
+
match do |actual|
|
|
25
|
+
stop_all_commands
|
|
26
|
+
|
|
27
|
+
next false unless file?(actual)
|
|
28
|
+
|
|
29
|
+
@old_actual = actual
|
|
30
|
+
@actual = file_size(actual)
|
|
31
|
+
@expected = expected.to_i
|
|
32
|
+
|
|
33
|
+
values_match?(@expected, @actual)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
failure_message do |actual|
|
|
37
|
+
format("expected that file \"%s\" has size \"%s\", but has \"%s\"", @old_actual, @actual, @expected)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
failure_message_when_negated do |actual|
|
|
41
|
+
format("expected that file \"%s\" does not have size \"%s\", but has \"%s\"", @old_actual, @actual, @expected)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
46
|
+
RSpec::Matchers.alias_matcher :a_file_of_size, :have_file_size
|
|
47
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
require 'fileutils'
|
|
4
|
+
|
|
5
|
+
# @!method have_same_file_content_like(file_name)
|
|
6
|
+
# This matchers checks if <file1> has the same content like <file2>
|
|
7
|
+
#
|
|
8
|
+
# @param [String] file_name
|
|
9
|
+
# The name of the file which should be compared with the file in the
|
|
10
|
+
# `expect()`-call.
|
|
11
|
+
#
|
|
12
|
+
# @return [TrueClass, FalseClass] The result
|
|
13
|
+
#
|
|
14
|
+
# false:
|
|
15
|
+
# * if file1 is not equal file2
|
|
16
|
+
# true:
|
|
17
|
+
# * if file1 is equal file2
|
|
18
|
+
#
|
|
19
|
+
# @example Use matcher
|
|
20
|
+
#
|
|
21
|
+
# RSpec.describe do
|
|
22
|
+
# it { expect(file1).to have_same_file_content_like(file2) }
|
|
23
|
+
# it { expect(files).to include a_file_with_same_content_like(file2) }
|
|
24
|
+
# end
|
|
25
|
+
RSpec::Matchers.define :have_same_file_content_like do |expected|
|
|
26
|
+
match do |actual|
|
|
27
|
+
stop_all_commands
|
|
28
|
+
|
|
29
|
+
next false unless file?(actual) && file?(expected)
|
|
30
|
+
|
|
31
|
+
@actual = expand_path(actual)
|
|
32
|
+
@expected = expand_path(expected)
|
|
33
|
+
|
|
34
|
+
FileUtils.compare_file(@actual,@expected)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
failure_message do |actual|
|
|
38
|
+
format("expected that file \"%s\" is the same as file \"%s\".", actual, expected)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
failure_message_when_negated do |actual|
|
|
42
|
+
format("expected that file \"%s\" differs from file \"%s\".", actual, expected)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
47
|
+
RSpec::Matchers.alias_matcher :a_file_with_same_content_like, :have_same_file_content_like
|
|
48
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Aruba.platform.require_matching_files('../path/**/*.rb', __FILE__)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method a_path_matching_pattern(/pattern/)
|
|
4
|
+
# This matchers checks if <path> matches pattern. `pattern` can be a string,
|
|
5
|
+
# regexp or an RSpec matcher.
|
|
6
|
+
#
|
|
7
|
+
# @param [String, Regexp, Matcher] pattern
|
|
8
|
+
# Specifies the pattern
|
|
9
|
+
#
|
|
10
|
+
# @return [TrueClass, FalseClass] The result
|
|
11
|
+
#
|
|
12
|
+
# false:
|
|
13
|
+
# * if pattern does not match
|
|
14
|
+
#
|
|
15
|
+
# true:
|
|
16
|
+
# * if pattern matches
|
|
17
|
+
#
|
|
18
|
+
# @example Use matcher with regexp
|
|
19
|
+
#
|
|
20
|
+
# RSpec.describe do
|
|
21
|
+
# it { expect(files).to include a_path_matching_pattern /asdf/ }
|
|
22
|
+
# end
|
|
23
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
24
|
+
RSpec::Matchers.alias_matcher :a_path_matching_pattern, :match
|
|
25
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method be_an_absolute_path
|
|
4
|
+
# This matchers checks if <path> exists in filesystem
|
|
5
|
+
#
|
|
6
|
+
# @return [TrueClass, FalseClass] The result
|
|
7
|
+
#
|
|
8
|
+
# false:
|
|
9
|
+
# * if path is not absolute
|
|
10
|
+
# true:
|
|
11
|
+
# * if path is absolute
|
|
12
|
+
#
|
|
13
|
+
# @example Use matcher
|
|
14
|
+
#
|
|
15
|
+
# RSpec.describe do
|
|
16
|
+
# it { expect(file).to be_an_absolute_path }
|
|
17
|
+
# it { expect(directory).to be_an_absolute_path }
|
|
18
|
+
# it { expect(directories).to include an_absolute_path }
|
|
19
|
+
# end
|
|
20
|
+
RSpec::Matchers.define :be_an_absolute_path do |_|
|
|
21
|
+
match do |actual|
|
|
22
|
+
absolute?(actual)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
failure_message do |actual|
|
|
26
|
+
format("expected that path \"%s\" is absolute, but it's not", actual)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
failure_message_when_negated do |actual|
|
|
30
|
+
format("expected that path \"%s\" is not absolute, but it is", actual)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
35
|
+
RSpec::Matchers.alias_matcher :an_absolute_path, :be_an_absolute_path
|
|
36
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method be_an_existing_path
|
|
4
|
+
# This matchers checks if <path> exists in filesystem
|
|
5
|
+
#
|
|
6
|
+
# @return [TrueClass, FalseClass] The result
|
|
7
|
+
#
|
|
8
|
+
# false:
|
|
9
|
+
# * if path does not exist
|
|
10
|
+
# true:
|
|
11
|
+
# * if path exists
|
|
12
|
+
#
|
|
13
|
+
# @example Use matcher
|
|
14
|
+
#
|
|
15
|
+
# RSpec.describe do
|
|
16
|
+
# it { expect(file).to be_an_existing_path }
|
|
17
|
+
# it { expect(directory).to be_an_existing_path }
|
|
18
|
+
# it { expect(all_directories).to all be_an_existing_path }
|
|
19
|
+
# it { expect(all_directories).to include an_existing_path }
|
|
20
|
+
# end
|
|
21
|
+
RSpec::Matchers.define :be_an_existing_path do |_|
|
|
22
|
+
match do |actual|
|
|
23
|
+
exist?(actual)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
failure_message do |actual|
|
|
27
|
+
format("expected that path \"%s\" exists", actual)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
failure_message_when_negated do |actual|
|
|
31
|
+
format("expected that path \"%s\" does not exist", actual)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
36
|
+
RSpec::Matchers.alias_matcher :an_existing_path, :be_an_existing_path
|
|
37
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method have_permissions(permissions)
|
|
4
|
+
# This matchers checks if <file> or <directory> has <perm> permissions
|
|
5
|
+
#
|
|
6
|
+
# @param [Fixnum, String] permissions
|
|
7
|
+
# The permissions as octal number, e.g. `0700`, or String, e.g. `'0700'`
|
|
8
|
+
#
|
|
9
|
+
# @return [TrueClass, FalseClass] The result
|
|
10
|
+
#
|
|
11
|
+
# false:
|
|
12
|
+
# * if file has permissions
|
|
13
|
+
# true:
|
|
14
|
+
# * if file does not have permissions
|
|
15
|
+
#
|
|
16
|
+
# @example Use matcher with octal number
|
|
17
|
+
#
|
|
18
|
+
# RSpec.describe do
|
|
19
|
+
# it { expect(file).to have_permissions(0700) }
|
|
20
|
+
# it { expect(directory).to have_permissions(0700) }
|
|
21
|
+
# end
|
|
22
|
+
#
|
|
23
|
+
# @example Use matcher with string
|
|
24
|
+
#
|
|
25
|
+
# RSpec.describe do
|
|
26
|
+
# it { expect(file).to have_permissions('0700') }
|
|
27
|
+
# it { expect(files).to include a_path_with_permissions('0700') }
|
|
28
|
+
# it { expect(directory).to have_permissions('0700') }
|
|
29
|
+
# it { expect(directories).to include a_path_with_permissions('0700') }
|
|
30
|
+
# end
|
|
31
|
+
RSpec::Matchers.define :have_permissions do |expected|
|
|
32
|
+
def permissions(file)
|
|
33
|
+
@actual = Aruba.platform.filesystem_status.new(file).mode
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
match do |actual|
|
|
37
|
+
stop_all_commands
|
|
38
|
+
|
|
39
|
+
@old_actual = actual
|
|
40
|
+
@actual = permissions(expand_path(@old_actual))
|
|
41
|
+
|
|
42
|
+
@expected = if expected.is_a? Integer
|
|
43
|
+
expected.to_s(8)
|
|
44
|
+
elsif expected.is_a? String
|
|
45
|
+
expected.gsub(/^0*/, '')
|
|
46
|
+
else
|
|
47
|
+
expected
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
values_match? @expected, @actual
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
failure_message do |actual|
|
|
54
|
+
format("expected that path \"%s\" has permissions \"%s\", but has \"%s\".", @old_actual, @expected, @actual)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
failure_message_when_negated do |actual|
|
|
58
|
+
format("expected that path \"%s\" does not have permissions \"%s\", but has \"%s\".", @old_actual, @expected, @actual)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
63
|
+
RSpec::Matchers.alias_matcher :a_path_having_permissions, :have_permissions
|
|
64
|
+
end
|