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('../collection/**/*.rb', __FILE__)
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
require 'aruba/matchers/base/base_matcher'
|
|
2
|
+
|
|
3
|
+
# Aruba
|
|
4
|
+
module Aruba
|
|
5
|
+
# Matchers
|
|
6
|
+
module Matchers
|
|
7
|
+
# @api private
|
|
8
|
+
# Provides the implementation for `include_an_object`.
|
|
9
|
+
# Not intended to be instantiated directly.
|
|
10
|
+
class IncludeAnObject < BaseMatcher
|
|
11
|
+
protected
|
|
12
|
+
|
|
13
|
+
# @private
|
|
14
|
+
attr_reader :matcher, :failed_objects
|
|
15
|
+
# @private
|
|
16
|
+
attr_accessor :any_succeeded_object
|
|
17
|
+
|
|
18
|
+
public
|
|
19
|
+
|
|
20
|
+
def initialize(matcher)
|
|
21
|
+
@matcher = matcher
|
|
22
|
+
@failed_objects = {}
|
|
23
|
+
@any_succeeded_object = false
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @api private
|
|
27
|
+
# @return [String]
|
|
28
|
+
def failure_message
|
|
29
|
+
unless iterable?
|
|
30
|
+
return "#{improve_hash_formatting(super)}, but was not iterable"
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
all_messages = [improve_hash_formatting(super)]
|
|
34
|
+
failed_objects.each do |index, matcher_failure_message|
|
|
35
|
+
all_messages << failure_message_for_item(index, matcher_failure_message)
|
|
36
|
+
end
|
|
37
|
+
all_messages.join("\n\n")
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# @api private
|
|
41
|
+
# @return [String]
|
|
42
|
+
def description
|
|
43
|
+
improve_hash_formatting "include an object #{description_of matcher}"
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def does_not_match?(actual)
|
|
47
|
+
@actual = actual
|
|
48
|
+
|
|
49
|
+
return false unless iterable?
|
|
50
|
+
|
|
51
|
+
index_objects
|
|
52
|
+
|
|
53
|
+
any_succeeded_object == false
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
private
|
|
57
|
+
|
|
58
|
+
def match(expected, actual)
|
|
59
|
+
@actual = actual
|
|
60
|
+
@expected = expected
|
|
61
|
+
|
|
62
|
+
return false unless iterable?
|
|
63
|
+
|
|
64
|
+
index_objects
|
|
65
|
+
|
|
66
|
+
any_succeeded_object == true
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def index_objects
|
|
70
|
+
actual.each_with_index do |actual_item, index|
|
|
71
|
+
cloned_matcher = matcher.clone
|
|
72
|
+
begin
|
|
73
|
+
matches = cloned_matcher.matches?(actual_item)
|
|
74
|
+
rescue StandardError
|
|
75
|
+
matches = nil
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
if matches
|
|
79
|
+
self.any_succeeded_object = true
|
|
80
|
+
break
|
|
81
|
+
else
|
|
82
|
+
failed_objects[index] = cloned_matcher.failure_message
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def failure_message_for_item(index, failure_message)
|
|
88
|
+
failure_message = indent_multiline_message(add_new_line_if_needed(failure_message))
|
|
89
|
+
indent_multiline_message("object at index #{index} failed to match:#{failure_message}")
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def add_new_line_if_needed(message)
|
|
93
|
+
message.start_with?("\n") ? message : "\n#{message}"
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def indent_multiline_message(message)
|
|
97
|
+
message = message.sub(/\n+\z/, '')
|
|
98
|
+
message.lines.map do |line|
|
|
99
|
+
line =~ /\S/ ? ' ' + line : line
|
|
100
|
+
end.join
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
module RSpec
|
|
107
|
+
module Matchers
|
|
108
|
+
# Passes if the provided matcher passes when checked against any
|
|
109
|
+
# element of the collection.
|
|
110
|
+
#
|
|
111
|
+
# @example
|
|
112
|
+
# expect([1, 4, 5]).to include_an_object be_odd
|
|
113
|
+
#
|
|
114
|
+
# @note You can also use this with compound matchers as well.
|
|
115
|
+
#
|
|
116
|
+
# @example
|
|
117
|
+
# expect([1, 4, 'a']).to include_an_object( be_odd.and be_an(Integer) )
|
|
118
|
+
def include_an_object(expected)
|
|
119
|
+
::Aruba::Matchers::IncludeAnObject.new(expected)
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Aruba.platform.require_matching_files('../command/**/*.rb', __FILE__)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
require 'aruba/matchers/command/have_exit_status'
|
|
4
|
+
require 'aruba/matchers/command/have_finished_in_time'
|
|
5
|
+
|
|
6
|
+
# @!method be_successfuly_executed
|
|
7
|
+
# This matchers checks if execution of <command> was successful
|
|
8
|
+
#
|
|
9
|
+
# @return [TrueClass, FalseClass] The result
|
|
10
|
+
#
|
|
11
|
+
# false:
|
|
12
|
+
# * if command was not successful
|
|
13
|
+
# true:
|
|
14
|
+
# * if command was successful
|
|
15
|
+
#
|
|
16
|
+
# @example Use matcher
|
|
17
|
+
#
|
|
18
|
+
# RSpec.describe do
|
|
19
|
+
# it { expect(last_command_started).to be_successfully_executed }
|
|
20
|
+
# it { expect(last_command_started).not_to be_successfully_executed }
|
|
21
|
+
# it { expect(last_command_started).to have_failed_running }
|
|
22
|
+
# end
|
|
23
|
+
RSpec::Matchers.define :be_successfully_executed do
|
|
24
|
+
match do |actual|
|
|
25
|
+
@old_actual = actual
|
|
26
|
+
@actual = @old_actual.commandline
|
|
27
|
+
|
|
28
|
+
expect(@old_actual).to have_exit_status(0)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
if RSpec::Expectations::Version::STRING >= '3.1'
|
|
33
|
+
RSpec::Matchers.define_negated_matcher :have_failed_running, :be_successfully_executed
|
|
34
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# @!method have_exit_status(status)
|
|
2
|
+
# This matchers checks if <command> has exit status <status>
|
|
3
|
+
#
|
|
4
|
+
# @param [Integer] status
|
|
5
|
+
# The value of the exit status
|
|
6
|
+
#
|
|
7
|
+
# @return [TrueClass, FalseClass] The result
|
|
8
|
+
#
|
|
9
|
+
# false:
|
|
10
|
+
# * if command does not have exit status
|
|
11
|
+
# true:
|
|
12
|
+
# * if command has exit status
|
|
13
|
+
#
|
|
14
|
+
# @example Use matcher
|
|
15
|
+
#
|
|
16
|
+
# RSpec.describe do
|
|
17
|
+
# it { expect(last_command_started).to have_exit_status(0) }
|
|
18
|
+
# end
|
|
19
|
+
RSpec::Matchers.define :have_exit_status do |expected|
|
|
20
|
+
match do |actual|
|
|
21
|
+
@old_actual = actual
|
|
22
|
+
|
|
23
|
+
@old_actual.stop
|
|
24
|
+
@actual = actual.exit_status
|
|
25
|
+
|
|
26
|
+
next false unless @old_actual.respond_to? :exit_status
|
|
27
|
+
|
|
28
|
+
values_match? expected, @actual
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
failure_message do |actual|
|
|
32
|
+
format(%(expected that command "%s" has exit status of "%s", but has "%s".), @old_actual.commandline, expected.to_s, actual.to_s)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
failure_message_when_negated do |actual|
|
|
36
|
+
format(%(expected that command "%s" does not have exit status of "%s", but has "%s".), @old_actual.commandline, expected.to_s, actual.to_s)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method run_too_long
|
|
4
|
+
# This matchers checks if <command> run too long. Say the timeout is 10
|
|
5
|
+
# seconds and it takes <command> to finish in 15. This matchers will succeed.
|
|
6
|
+
#
|
|
7
|
+
# @return [TrueClass, FalseClass] The result
|
|
8
|
+
#
|
|
9
|
+
# false:
|
|
10
|
+
# * if command not to run too long
|
|
11
|
+
# true:
|
|
12
|
+
# * if command run too long
|
|
13
|
+
#
|
|
14
|
+
# @example Use matcher
|
|
15
|
+
#
|
|
16
|
+
# RSpec.describe do
|
|
17
|
+
# it { expect(last_command_started).to run_too_long }
|
|
18
|
+
# it { expect(last_command_started).not_to run_too_long }
|
|
19
|
+
# it { expect(last_command_started).to finish_its_run_in_time }
|
|
20
|
+
# end
|
|
21
|
+
# RSpec::Matchers.define :run_too_long do
|
|
22
|
+
RSpec::Matchers.define :have_finished_in_time do
|
|
23
|
+
match do |actual|
|
|
24
|
+
@old_actual = actual
|
|
25
|
+
@actual = @old_actual.commandline
|
|
26
|
+
|
|
27
|
+
next false unless @old_actual.respond_to? :timed_out?
|
|
28
|
+
|
|
29
|
+
@old_actual.stop
|
|
30
|
+
|
|
31
|
+
@old_actual.timed_out? == false
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
if RSpec::Expectations::Version::STRING >= '3.1'
|
|
36
|
+
RSpec::Matchers.define_negated_matcher :run_too_long, :have_finished_in_time
|
|
37
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# @!method have_output
|
|
2
|
+
# This matchers checks if <command> has created output
|
|
3
|
+
#
|
|
4
|
+
# @return [TrueClass, FalseClass] The result
|
|
5
|
+
#
|
|
6
|
+
# false:
|
|
7
|
+
# * if command has not created output
|
|
8
|
+
# true:
|
|
9
|
+
# * if command created output
|
|
10
|
+
#
|
|
11
|
+
# @example Use matcher
|
|
12
|
+
#
|
|
13
|
+
# RSpec.describe do
|
|
14
|
+
# it { expect(last_command_started).to have_output }
|
|
15
|
+
# end
|
|
16
|
+
RSpec::Matchers.define :have_output do |expected|
|
|
17
|
+
match do |actual|
|
|
18
|
+
@old_actual = actual
|
|
19
|
+
|
|
20
|
+
next false unless @old_actual.respond_to? :output
|
|
21
|
+
|
|
22
|
+
@old_actual.stop
|
|
23
|
+
|
|
24
|
+
@actual = sanitize_text(actual.output)
|
|
25
|
+
|
|
26
|
+
values_match?(expected, @actual)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
diffable
|
|
30
|
+
|
|
31
|
+
description { "have output: #{description_of expected}" }
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
35
|
+
RSpec::Matchers.alias_matcher :a_command_having_output, :have_output
|
|
36
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# @!method have_output_on_stderr
|
|
2
|
+
# This matchers checks if <command> has created output on stderr
|
|
3
|
+
#
|
|
4
|
+
# @return [TrueClass, FalseClass] The result
|
|
5
|
+
#
|
|
6
|
+
# false:
|
|
7
|
+
# * if command has not created output on stderr
|
|
8
|
+
# true:
|
|
9
|
+
# * if command created output on stderr
|
|
10
|
+
#
|
|
11
|
+
# @example Use matcher
|
|
12
|
+
#
|
|
13
|
+
# RSpec.describe do
|
|
14
|
+
# it { expect(last_command_started).to have_output_on_stderr }
|
|
15
|
+
# end
|
|
16
|
+
RSpec::Matchers.define :have_output_on_stderr do |expected|
|
|
17
|
+
match do |actual|
|
|
18
|
+
@old_actual = actual
|
|
19
|
+
|
|
20
|
+
next false unless @old_actual.respond_to? :stderr
|
|
21
|
+
|
|
22
|
+
@old_actual.stop
|
|
23
|
+
|
|
24
|
+
@actual = sanitize_text(actual.stderr)
|
|
25
|
+
|
|
26
|
+
values_match?(expected, @actual)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
diffable
|
|
30
|
+
|
|
31
|
+
description { "have output on stderr: #{description_of expected}" }
|
|
32
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# @!method have_output_on_stdout
|
|
2
|
+
# This matchers checks if <command> has created output on stdout
|
|
3
|
+
#
|
|
4
|
+
# @return [TrueClass, FalseClass] The result
|
|
5
|
+
#
|
|
6
|
+
# false:
|
|
7
|
+
# * if command has not created output on stdout
|
|
8
|
+
# true:
|
|
9
|
+
# * if command created output on stdout
|
|
10
|
+
#
|
|
11
|
+
# @example Use matcher
|
|
12
|
+
#
|
|
13
|
+
# RSpec.describe do
|
|
14
|
+
# it { expect(last_command_started).to have_output_on_stdout }
|
|
15
|
+
# end
|
|
16
|
+
RSpec::Matchers.define :have_output_on_stdout do |expected|
|
|
17
|
+
match do |actual|
|
|
18
|
+
@old_actual = actual
|
|
19
|
+
|
|
20
|
+
next false unless @old_actual.respond_to? :stdout
|
|
21
|
+
|
|
22
|
+
@old_actual.stop
|
|
23
|
+
|
|
24
|
+
@actual = sanitize_text(actual.stdout)
|
|
25
|
+
|
|
26
|
+
values_match?(expected, @actual)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
diffable
|
|
30
|
+
|
|
31
|
+
description { "have output on stdout: #{description_of expected}" }
|
|
32
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# @!method have_output_size(output)
|
|
2
|
+
# This matchers checks if output has size.
|
|
3
|
+
#
|
|
4
|
+
# @param [String] output
|
|
5
|
+
# The content which should be checked
|
|
6
|
+
#
|
|
7
|
+
# @return [TrueClass, FalseClass] The result
|
|
8
|
+
#
|
|
9
|
+
# false:
|
|
10
|
+
# * if output does not have size
|
|
11
|
+
# true:
|
|
12
|
+
# * if output has size
|
|
13
|
+
#
|
|
14
|
+
# @example Use matcher
|
|
15
|
+
#
|
|
16
|
+
# RSpec.describe do
|
|
17
|
+
# it { expect(file1).to have_output_size(256) }
|
|
18
|
+
# end
|
|
19
|
+
RSpec::Matchers.define :have_output_size do |expected|
|
|
20
|
+
match do |actual|
|
|
21
|
+
next false unless actual.respond_to? :size
|
|
22
|
+
|
|
23
|
+
@actual = actual.size
|
|
24
|
+
values_match? expected, @actual
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
description { "output has size #{description_of expected}" }
|
|
28
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Aruba.platform.require_matching_files('../directory/**/*.rb', __FILE__)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method be_an_existing_directory
|
|
4
|
+
# This matchers checks if <directory> exists in filesystem
|
|
5
|
+
#
|
|
6
|
+
# @return [TrueClass, FalseClass] The result
|
|
7
|
+
#
|
|
8
|
+
# false:
|
|
9
|
+
# * if directory does not exist
|
|
10
|
+
# true:
|
|
11
|
+
# * if directory exists
|
|
12
|
+
#
|
|
13
|
+
# @example Use matcher
|
|
14
|
+
#
|
|
15
|
+
# RSpec.describe do
|
|
16
|
+
# it { expect(directory1).to be_an_existing_directory }
|
|
17
|
+
# end
|
|
18
|
+
RSpec::Matchers.define :be_an_existing_directory do |_|
|
|
19
|
+
match do |actual|
|
|
20
|
+
stop_all_commands
|
|
21
|
+
|
|
22
|
+
next false unless actual.is_a? String
|
|
23
|
+
|
|
24
|
+
directory?(actual)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
failure_message do |actual|
|
|
28
|
+
format("expected that directory \"%s\" exists", actual)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
failure_message_when_negated do |actual|
|
|
32
|
+
format("expected that directory \"%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_directory, :be_an_existing_directory
|
|
38
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require 'rspec/expectations/version'
|
|
2
|
+
|
|
3
|
+
# @!method have_sub_directory(sub_directory)
|
|
4
|
+
# This matchers checks if <directory> has given sub-directory
|
|
5
|
+
#
|
|
6
|
+
# @param [Array] sub_directory
|
|
7
|
+
# A list of sub-directory relative to current directory
|
|
8
|
+
#
|
|
9
|
+
# @return [TrueClass, FalseClass] The result
|
|
10
|
+
#
|
|
11
|
+
# false:
|
|
12
|
+
# * if directory does not have sub-directory
|
|
13
|
+
# true:
|
|
14
|
+
# * if directory has sub-directory
|
|
15
|
+
#
|
|
16
|
+
# @example Use matcher with single directory
|
|
17
|
+
#
|
|
18
|
+
# RSpec.describe do
|
|
19
|
+
# it { expect('dir1.d').to have_sub_directory('subdir.1.d') }
|
|
20
|
+
# end
|
|
21
|
+
#
|
|
22
|
+
# @example Use matcher with multiple directories
|
|
23
|
+
#
|
|
24
|
+
# RSpec.describe do
|
|
25
|
+
# it { expect('dir1.d').to have_sub_directory(['subdir.1.d', 'subdir.2.d']) }
|
|
26
|
+
# it { expect(directories).to include a_directory_with_sub_directory(['subdir.1.d', 'subdir.2.d']) }
|
|
27
|
+
# end
|
|
28
|
+
RSpec::Matchers.define :have_sub_directory do |expected|
|
|
29
|
+
match do |actual|
|
|
30
|
+
next false unless directory?(actual)
|
|
31
|
+
|
|
32
|
+
@old_actual = actual
|
|
33
|
+
@actual = list(actual)
|
|
34
|
+
|
|
35
|
+
@expected = Array(expected).map { |p| File.join(@old_actual, p) }
|
|
36
|
+
|
|
37
|
+
(@expected - @actual).empty?
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
diffable
|
|
41
|
+
|
|
42
|
+
failure_message do |actual|
|
|
43
|
+
format("expected that directory \"%s\" has the following sub-directories: %s.", actual.join(', '), expected)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
failure_message_when_negated do |actual|
|
|
47
|
+
format("expected that directory \"%s\" does not have the following sub-directories: %s.", actual.join(', '), expected)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
if RSpec::Expectations::Version::STRING >= '3.0'
|
|
52
|
+
RSpec::Matchers.alias_matcher :a_directory_having_sub_directory, :have_sub_directory
|
|
53
|
+
end
|