aruba 0.14.9 → 1.0.0
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 +4 -4
- data/.cucumberproignore +3 -0
- data/.github/ISSUE_TEMPLATE.md +48 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +41 -0
- data/.gitignore +1 -0
- data/.rspec +1 -1
- data/.rubocop.yml +20 -179
- data/.rubocop_todo.yml +262 -0
- data/.simplecov +7 -5
- data/.travis.yml +54 -46
- data/.yardopts +3 -0
- data/CHANGELOG.md +613 -246
- data/CONTRIBUTING.md +247 -45
- data/Dockerfile +67 -0
- data/Gemfile +5 -96
- data/LICENSE +1 -1
- data/README.md +57 -180
- data/Rakefile +63 -32
- data/appveyor.yml +8 -11
- data/aruba.gemspec +47 -41
- data/bin/console +7 -0
- data/bin/test +9 -0
- data/cucumber.yml +4 -24
- data/doc/dependency_decisions.yml +42 -2
- data/docker-compose.yml +26 -0
- data/{bin → exe}/aruba +1 -1
- data/fixtures/cli-app/Rakefile +1 -1
- data/fixtures/cli-app/bin/aruba-test-cli +6 -0
- data/fixtures/cli-app/cli-app.gemspec +1 -2
- data/fixtures/cli-app/features/support/aruba.rb +1 -0
- data/fixtures/cli-app/features/support/env.rb +1 -1
- data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +3 -3
- data/fixtures/cli-app/lib/cli/app/version.rb +1 -1
- data/fixtures/cli-app/lib/cli/app.rb +1 -5
- data/fixtures/cli-app/spec/spec_helper.rb +4 -6
- data/fixtures/empty-app/Rakefile +1 -1
- data/fixtures/empty-app/cli-app.gemspec +1 -2
- data/fixtures/empty-app/lib/cli/app/version.rb +1 -1
- data/fixtures/empty-app/lib/cli/app.rb +0 -6
- data/fixtures/getting-started-app/Gemfile +1 -1
- data/lib/aruba/api/commands.rb +109 -143
- data/lib/aruba/api/core.rb +57 -43
- data/lib/aruba/api/environment.rb +16 -7
- data/lib/aruba/api/filesystem.rb +42 -29
- data/lib/aruba/api/text.rb +3 -9
- data/lib/aruba/api.rb +6 -11
- data/lib/aruba/aruba_path.rb +27 -89
- data/lib/aruba/basic_configuration.rb +4 -24
- data/lib/aruba/cli.rb +1 -1
- data/lib/aruba/colorizer.rb +10 -99
- data/lib/aruba/command.rb +2 -0
- data/lib/aruba/config/jruby.rb +15 -5
- data/lib/aruba/config_wrapper.rb +1 -1
- data/lib/aruba/configuration.rb +92 -0
- data/lib/aruba/console/help.rb +1 -7
- data/lib/aruba/console.rb +5 -5
- data/lib/aruba/contracts/absolute_path.rb +2 -2
- data/lib/aruba/contracts/relative_path.rb +2 -2
- data/lib/aruba/cucumber/command.rb +171 -160
- data/lib/aruba/cucumber/environment.rb +1 -1
- data/lib/aruba/cucumber/file.rb +21 -35
- data/lib/aruba/cucumber/hooks.rb +17 -56
- data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
- data/lib/aruba/cucumber.rb +0 -5
- data/lib/aruba/event_bus/name_resolver.rb +5 -16
- data/lib/aruba/hooks.rb +1 -1
- data/lib/aruba/in_config_wrapper.rb +5 -1
- data/lib/aruba/initializer.rb +36 -42
- data/lib/aruba/matchers/base/base_matcher.rb +2 -2
- data/lib/aruba/matchers/base/message_indenter.rb +19 -0
- data/lib/aruba/matchers/base/object_formatter.rb +2 -9
- data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
- data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
- data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
- data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
- data/lib/aruba/matchers/command/have_output.rb +10 -5
- data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
- data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
- data/lib/aruba/matchers/command/have_output_size.rb +2 -2
- data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
- data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
- data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
- data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
- data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
- data/lib/aruba/matchers/file/have_file_content.rb +4 -4
- data/lib/aruba/matchers/file/have_file_size.rb +6 -8
- data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
- data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
- data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
- data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
- data/lib/aruba/matchers/path/have_permissions.rb +6 -8
- data/lib/aruba/matchers/string/include_output_string.rb +8 -10
- data/lib/aruba/matchers/string/match_output_string.rb +9 -11
- data/lib/aruba/matchers/string/output_string_eq.rb +7 -9
- data/lib/aruba/platform.rb +0 -8
- data/lib/aruba/platforms/announcer.rb +42 -79
- data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
- data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
- data/lib/aruba/platforms/aruba_logger.rb +23 -7
- data/lib/aruba/platforms/command_monitor.rb +12 -107
- data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
- data/lib/aruba/platforms/filesystem_status.rb +10 -14
- data/lib/aruba/platforms/local_environment.rb +2 -2
- data/lib/aruba/platforms/simple_table.rb +3 -11
- data/lib/aruba/platforms/unix_command_string.rb +7 -11
- data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
- data/lib/aruba/platforms/unix_platform.rb +20 -51
- data/lib/aruba/platforms/unix_which.rb +2 -1
- data/lib/aruba/platforms/windows_command_string.rb +15 -10
- data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
- data/lib/aruba/platforms/windows_platform.rb +4 -0
- data/lib/aruba/platforms/windows_which.rb +4 -3
- data/lib/aruba/processes/basic_process.rb +28 -30
- data/lib/aruba/processes/debug_process.rb +12 -3
- data/lib/aruba/processes/in_process.rb +17 -8
- data/lib/aruba/processes/spawn_process.rb +57 -46
- data/lib/aruba/rspec.rb +14 -36
- data/lib/aruba/runtime.rb +3 -6
- data/lib/aruba/setup.rb +6 -6
- data/lib/aruba/tasks/docker_helpers.rb +154 -0
- data/lib/aruba/version.rb +1 -1
- metadata +191 -244
- data/features/.nav +0 -72
- data/features/api/command/find_command.feature +0 -83
- data/features/api/command/last_command_started.feature +0 -50
- data/features/api/command/last_command_stopped.feature +0 -89
- data/features/api/command/run.feature +0 -414
- data/features/api/command/run_simple.feature +0 -242
- data/features/api/command/send_signal.feature +0 -53
- data/features/api/command/stderr.feature +0 -46
- data/features/api/command/stdout.feature +0 -46
- data/features/api/command/stop.feature +0 -131
- data/features/api/command/stop_all_commands.feature +0 -53
- data/features/api/command/terminate_all_commands.feature +0 -53
- data/features/api/command/which.feature +0 -37
- data/features/api/core/expand_path.feature +0 -88
- data/features/api/environment/append_environment_variable.feature +0 -128
- data/features/api/environment/delete_environment_variable.feature +0 -63
- data/features/api/environment/prepend_environment_variable.feature +0 -128
- data/features/api/environment/set_environment_variable.feature +0 -376
- data/features/api/filesystem/cd.feature +0 -184
- data/features/api/filesystem/create_directory.feature +0 -57
- data/features/api/filesystem/disk_usage.feature +0 -152
- data/features/api/filesystem/does_exist.feature +0 -62
- data/features/api/filesystem/fixtures.feature +0 -104
- data/features/api/filesystem/is_absolute.feature +0 -48
- data/features/api/filesystem/is_directory.feature +0 -53
- data/features/api/filesystem/is_file.feature +0 -54
- data/features/api/filesystem/is_relative.feature +0 -48
- data/features/api/filesystem/move.feature +0 -119
- data/features/api/text/extract_text.feature +0 -87
- data/features/api/text/replace_variables.feature +0 -45
- data/features/api/text/sanitize_text.feature +0 -228
- data/features/api/text/unescape_text.feature +0 -127
- data/features/cli/console.feature +0 -52
- data/features/cli/init.feature +0 -79
- data/features/configuration/activate_announcer_on_command_failure.feature +0 -38
- data/features/configuration/command_runtime_environment.feature +0 -129
- data/features/configuration/console_history_file.feature +0 -38
- data/features/configuration/exit_timeout.feature +0 -52
- data/features/configuration/fixtures_directories.feature +0 -38
- data/features/configuration/fixtures_path_prefix.feature +0 -23
- data/features/configuration/home_directory.feature +0 -80
- data/features/configuration/io_timeout.feature +0 -30
- data/features/configuration/keep_ansi.feature +0 -30
- data/features/configuration/log_level.feature +0 -38
- data/features/configuration/physical_block_size.feature +0 -53
- data/features/configuration/remove_ansi_escape_sequences.feature +0 -38
- data/features/configuration/root_directory.feature +0 -30
- data/features/configuration/startup_wait_time.feature +0 -48
- data/features/configuration/usage.feature +0 -159
- data/features/configuration/working_directory.feature +0 -33
- data/features/development/build.feature +0 -15
- data/features/getting_started/cleanup.feature +0 -58
- data/features/getting_started/run_commands.feature +0 -187
- data/features/getting_started/supported_testing_frameworks.feature +0 -104
- data/features/getting_started/writing_good_feature_tests.feature +0 -38
- data/features/hooks/after/command.feature +0 -46
- data/features/hooks/before/command.feature +0 -75
- data/features/matchers/collection/include_an_object.feature +0 -72
- data/features/matchers/directory/have_sub_directory.feature +0 -110
- data/features/matchers/file/be_a_command_found_in_path.feature +0 -115
- data/features/matchers/file/be_existing_executable.feature +0 -88
- data/features/matchers/file/be_existing_file.feature +0 -82
- data/features/matchers/file/have_file_content.feature +0 -123
- data/features/matchers/file/have_file_size.feature +0 -107
- data/features/matchers/path/be_an_absolute_path.feature +0 -74
- data/features/matchers/path/be_an_existing_path.feature +0 -97
- data/features/matchers/path/have_permissions.feature +0 -118
- data/features/matchers/timeouts.feature +0 -48
- data/features/platforms/jruby.feature +0 -14
- data/features/rspec/integration.feature +0 -179
- data/features/step_definitions/aruba_dev_steps.rb +0 -56
- data/features/step_definitions/hooks.rb +0 -156
- data/features/steps/command/debug.feature +0 -92
- data/features/steps/command/exit_statuses.feature +0 -136
- data/features/steps/command/in_process.feature +0 -485
- data/features/steps/command/interactive.feature +0 -90
- data/features/steps/command/output.feature +0 -567
- data/features/steps/command/run.feature +0 -66
- data/features/steps/command/send_signal.feature +0 -104
- data/features/steps/command/shell.feature +0 -155
- data/features/steps/command/stderr.feature +0 -68
- data/features/steps/command/stdout.feature +0 -109
- data/features/steps/command/stop.feature +0 -313
- data/features/steps/core/announce.feature +0 -283
- data/features/steps/environment/append_environment_variable.feature +0 -52
- data/features/steps/environment/disable_bunder.feature +0 -18
- data/features/steps/environment/home_variable.feature +0 -62
- data/features/steps/environment/prepend_environment_variable.feature +0 -52
- data/features/steps/environment/set_environment_variable.feature +0 -49
- data/features/steps/filesystem/append_to_file.feature +0 -45
- data/features/steps/filesystem/cd_to_directory.feature +0 -33
- data/features/steps/filesystem/check_file_content.feature +0 -61
- data/features/steps/filesystem/check_permissions_of_file.feature +0 -39
- data/features/steps/filesystem/compare_files.feature +0 -42
- data/features/steps/filesystem/copy.feature +0 -45
- data/features/steps/filesystem/create_directory.feature +0 -57
- data/features/steps/filesystem/create_file.feature +0 -76
- data/features/steps/filesystem/existence_of_directory.feature +0 -57
- data/features/steps/filesystem/existence_of_file.feature +0 -43
- data/features/steps/filesystem/file_content.feature +0 -86
- data/features/steps/filesystem/fixtures.feature +0 -64
- data/features/steps/filesystem/move.feature +0 -45
- data/features/steps/filesystem/non_existence_of_directory.feature +0 -69
- data/features/steps/filesystem/non_existence_of_file.feature +0 -80
- data/features/steps/filesystem/overwrite_file.feature +0 -72
- data/features/steps/filesystem/remove_directory.feature +0 -38
- data/features/steps/filesystem/remove_file.feature +0 -38
- data/features/steps/filesystem/use_fixture.feature +0 -77
- data/features/steps/overview.feature +0 -25
- data/features/support/aruba.rb +0 -7
- data/features/support/env.rb +0 -33
- data/features/support/jruby.rb +0 -5
- data/features/support/simplecov_setup.rb +0 -8
- data/fixtures/cli-app/bin/cli +0 -6
- data/fixtures/spawn_process/stderr.sh +0 -3
- data/lib/aruba/api/deprecated.rb +0 -1234
- data/lib/aruba/config.rb +0 -107
- data/lib/aruba/cucumber/core.rb +0 -5
- data/lib/aruba/cucumber/rvm.rb +0 -3
- data/lib/aruba/in_process.rb +0 -14
- data/lib/aruba/jruby.rb +0 -4
- data/lib/aruba/matchers/deprecated/file.rb +0 -17
- data/lib/aruba/matchers/deprecated.rb +0 -1
- data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
- data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
- data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
- data/lib/aruba/reporting.rb +0 -126
- data/lib/aruba/spawn_process.rb +0 -11
- data/script/bootstrap +0 -28
- data/script/console +0 -16
- data/script/test +0 -3
- data/spec/aruba/api/bundler_spec.rb +0 -15
- data/spec/aruba/api/deprecated_spec.rb +0 -308
- data/spec/aruba/api/environment/restore_env_spec.rb +0 -86
- data/spec/aruba/api/environment/set_env_spec.rb +0 -46
- data/spec/aruba/api/filesystem/file_size_spec.rb +0 -28
- data/spec/aruba/api/runtime_spec.rb +0 -28
- data/spec/aruba/api_spec.rb +0 -981
- data/spec/aruba/aruba_path_spec.rb +0 -103
- data/spec/aruba/basic_configuration_spec.rb +0 -5
- data/spec/aruba/configuration_spec.rb +0 -5
- data/spec/aruba/hooks_spec.rb +0 -17
- data/spec/aruba/in_config_wrapper_spec.rb +0 -25
- data/spec/aruba/jruby_spec.rb +0 -55
- data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
- data/spec/aruba/matchers/command_spec.rb +0 -174
- data/spec/aruba/matchers/deprecated_spec.rb +0 -120
- data/spec/aruba/matchers/directory_spec.rb +0 -57
- data/spec/aruba/matchers/file_spec.rb +0 -208
- data/spec/aruba/matchers/path_spec.rb +0 -58
- data/spec/aruba/platform/simple_table_spec.rb +0 -23
- data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
- data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
- data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
- data/spec/aruba/rspec_spec.rb +0 -15
- data/spec/aruba/runtime_spec.rb +0 -29
- data/spec/aruba/spawn_process_spec.rb +0 -96
- data/spec/event_bus/name_resolver_spec.rb +0 -68
- data/spec/event_bus_spec.rb +0 -158
- data/spec/spec_helper.rb +0 -20
- data/spec/support/configs/.keep +0 -0
- data/spec/support/configs/aruba.rb +0 -5
- data/spec/support/configs/pry.rb +0 -3
- data/spec/support/configs/rspec.rb +0 -15
- data/spec/support/helpers/.keep +0 -0
- data/spec/support/helpers/reporting.rb +0 -44
- data/spec/support/matchers/.keep +0 -0
- data/spec/support/matchers/option.rb +0 -35
- data/spec/support/shared_contexts/.keep +0 -0
- data/spec/support/shared_contexts/aruba.rb +0 -49
- data/spec/support/shared_examples/.keep +0 -0
- data/spec/support/shared_examples/configuration.rb +0 -116
- data/spec/support/shared_examples/directory.rb +0 -7
- data/spec/support/shared_examples/file.rb +0 -7
- data/templates/css/console.css +0 -24
- data/templates/css/filesystem.css +0 -42
- data/templates/css/pygments-autumn.css +0 -59
- data/templates/files.erb +0 -14
- data/templates/images/LICENSE +0 -22
- 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 +0 -20
- data/templates/js/filesystem.js +0 -5
- data/templates/js/jquery-1.11.3.min.js +0 -5
- data/templates/main.erb +0 -34
data/lib/aruba/cucumber/hooks.rb
CHANGED
|
@@ -3,10 +3,8 @@ require 'aruba/api'
|
|
|
3
3
|
require 'aruba/platform'
|
|
4
4
|
World(Aruba::Api)
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Aruba.platform.with_environment(&block)
|
|
9
|
-
end
|
|
6
|
+
Around do |_, block|
|
|
7
|
+
with_environment(&block)
|
|
10
8
|
end
|
|
11
9
|
|
|
12
10
|
Before do
|
|
@@ -44,12 +42,6 @@ Before('@announce-command-filesystem-status') do
|
|
|
44
42
|
aruba.announcer.activate :command_filesystem_status
|
|
45
43
|
end
|
|
46
44
|
|
|
47
|
-
Before('@announce-cmd') do
|
|
48
|
-
Aruba.platform.deprecated 'The use of "@announce-cmd"-hook is deprecated. Please use "@announce-command"'
|
|
49
|
-
|
|
50
|
-
aruba.announcer.activate :command
|
|
51
|
-
end
|
|
52
|
-
|
|
53
45
|
Before('@announce-output') do
|
|
54
46
|
aruba.announcer.activate :stdout
|
|
55
47
|
aruba.announcer.activate :stderr
|
|
@@ -63,12 +55,6 @@ Before('@announce-stderr') do
|
|
|
63
55
|
aruba.announcer.activate :stderr
|
|
64
56
|
end
|
|
65
57
|
|
|
66
|
-
Before('@announce-dir') do
|
|
67
|
-
Aruba.platform.deprecated 'The use of "@announce-dir"-hook is deprecated. Please use "@announce-directory"'
|
|
68
|
-
|
|
69
|
-
aruba.announcer.activate :directory
|
|
70
|
-
end
|
|
71
|
-
|
|
72
58
|
Before('@announce-directory') do
|
|
73
59
|
aruba.announcer.activate :directory
|
|
74
60
|
end
|
|
@@ -77,28 +63,10 @@ Before('@announce-stop-signal') do
|
|
|
77
63
|
aruba.announcer.activate :stop_signal
|
|
78
64
|
end
|
|
79
65
|
|
|
80
|
-
Before('@announce-env') do
|
|
81
|
-
Aruba.platform.deprecated 'The use of "@announce-env"-hook is deprecated. Please use "@announce-changed-environment"'
|
|
82
|
-
|
|
83
|
-
aruba.announcer.activate :environment
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
Before('@announce-environment') do
|
|
87
|
-
Aruba.platform.deprecated '@announce-environment is deprecated. Use @announce-changed-environment instead'
|
|
88
|
-
|
|
89
|
-
aruba.announcer.activate :changed_environment
|
|
90
|
-
end
|
|
91
|
-
|
|
92
66
|
Before('@announce-full-environment') do
|
|
93
67
|
aruba.announcer.activate :full_environment
|
|
94
68
|
end
|
|
95
69
|
|
|
96
|
-
Before('@announce-modified-environment') do
|
|
97
|
-
Aruba.platform.deprecated '@announce-modified-environment is deprecated. Use @announce-changed-environment instead'
|
|
98
|
-
|
|
99
|
-
aruba.announcer.activate :changed_environment
|
|
100
|
-
end
|
|
101
|
-
|
|
102
70
|
Before('@announce-changed-environment') do
|
|
103
71
|
aruba.announcer.activate :changed_environment
|
|
104
72
|
end
|
|
@@ -127,37 +95,30 @@ Before('@announce') do
|
|
|
127
95
|
aruba.announcer.activate :command_filesystem_status
|
|
128
96
|
end
|
|
129
97
|
|
|
130
|
-
Before('@
|
|
131
|
-
aruba.config.
|
|
98
|
+
Before('@keep-ansi-escape-sequences') do
|
|
99
|
+
aruba.config.remove_ansi_escape_sequences = false
|
|
132
100
|
end
|
|
133
101
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
# end
|
|
137
|
-
|
|
138
|
-
Before('@ansi') do
|
|
139
|
-
# rubocop:disable Metrics/LineLength
|
|
140
|
-
Aruba::Platform.deprecated('The use of "@ansi" is deprecated. Use "@keep-ansi-escape-sequences" instead. But be aware, that this hook uses the aruba configuration and not an instance variable')
|
|
141
|
-
# rubocop:enable Metrics/LineLength
|
|
142
|
-
|
|
143
|
-
aruba.config.remove_ansi_escape_sequences = false
|
|
102
|
+
Before '@mocked-home-directory' do
|
|
103
|
+
set_environment_variable 'HOME', expand_path('.')
|
|
144
104
|
end
|
|
145
105
|
|
|
146
|
-
Before('@
|
|
147
|
-
|
|
148
|
-
aruba.config.keep_ansi = true
|
|
106
|
+
Before('@disable-bundler') do
|
|
107
|
+
unset_bundler_env_vars
|
|
149
108
|
end
|
|
150
109
|
|
|
151
|
-
Before
|
|
152
|
-
|
|
110
|
+
Before('@debug') do
|
|
111
|
+
aruba.config.command_launcher = :debug
|
|
112
|
+
end
|
|
153
113
|
|
|
154
|
-
|
|
114
|
+
Before('@command-launcher-spawn') do
|
|
115
|
+
aruba.config.command_launcher = :spawn
|
|
155
116
|
end
|
|
156
117
|
|
|
157
|
-
Before
|
|
158
|
-
|
|
118
|
+
Before('@command-launcher-in-process') do
|
|
119
|
+
aruba.config.command_launcher = :in_process
|
|
159
120
|
end
|
|
160
121
|
|
|
161
|
-
Before('@
|
|
162
|
-
|
|
122
|
+
Before('@command-launcher-debug') do
|
|
123
|
+
aruba.config.command_launcher = :debug
|
|
163
124
|
end
|
|
@@ -1,25 +1,33 @@
|
|
|
1
1
|
# Cucumber
|
|
2
|
-
Then /^the feature(?:s)? should
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
Then /^the feature(?:s)? should not(?: all)? pass$/ do
|
|
3
|
+
step 'the output should contain " failed)"'
|
|
4
|
+
step 'the exit status should be 1'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
# Cucumber
|
|
8
|
+
Then /^the feature(?:s)? should(?: all)? pass$/ do
|
|
9
|
+
step 'the output should not contain " failed)"'
|
|
10
|
+
step 'the output should not contain " undefined)"'
|
|
11
|
+
step 'the exit status should be 0'
|
|
11
12
|
end
|
|
12
13
|
|
|
13
14
|
# Cucumber
|
|
14
|
-
Then /^the feature(?:s)? should
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
Then /^the feature(?:s)? should not(?: all)? pass with( regex)?:$/ do |regex, string|
|
|
16
|
+
step 'the output should contain " failed)"'
|
|
17
|
+
step 'the exit status should be 1'
|
|
18
|
+
|
|
19
|
+
if regex
|
|
20
|
+
step "the output should match %r<#{string}>"
|
|
18
21
|
else
|
|
19
|
-
step 'the output should
|
|
20
|
-
step 'the output should not contain " undefined)"'
|
|
21
|
-
step 'the exit status should be 0'
|
|
22
|
+
step 'the output should contain:', string
|
|
22
23
|
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Cucumber
|
|
27
|
+
Then /^the feature(?:s)? should(?: all)? pass with( regex)?:$/ do |regex, string|
|
|
28
|
+
step 'the output should not contain " failed)"'
|
|
29
|
+
step 'the output should not contain " undefined)"'
|
|
30
|
+
step 'the exit status should be 0'
|
|
23
31
|
|
|
24
32
|
if regex
|
|
25
33
|
step "the output should match %r<#{string}>"
|
|
@@ -29,30 +37,38 @@ Then /^the feature(?:s)? should( not)?(?: all)? pass with( regex)?:$/ do |negate
|
|
|
29
37
|
end
|
|
30
38
|
|
|
31
39
|
# RSpec
|
|
32
|
-
Then /^the spec(?:s)? should
|
|
33
|
-
if
|
|
34
|
-
|
|
35
|
-
step 'the output should not contain "0 failures"'
|
|
36
|
-
else
|
|
37
|
-
step %(the output should contain "#{count_failures} failures")
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
step 'the exit status should be 1'
|
|
40
|
+
Then /^the spec(?:s)? should not(?: all)? pass(?: with (\d+) failures?)?$/ do |count_failures|
|
|
41
|
+
if count_failures.nil?
|
|
42
|
+
step 'the output should not contain "0 failures"'
|
|
41
43
|
else
|
|
42
|
-
step
|
|
43
|
-
step 'the exit status should be 0'
|
|
44
|
+
step %(the output should contain "#{count_failures} failures")
|
|
44
45
|
end
|
|
46
|
+
|
|
47
|
+
step 'the exit status should be 1'
|
|
45
48
|
end
|
|
46
49
|
|
|
47
50
|
# RSpec
|
|
48
|
-
Then /^the spec(?:s)? should
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
Then /^the spec(?:s)? should all pass$/ do
|
|
52
|
+
step 'the output should contain "0 failures"'
|
|
53
|
+
step 'the exit status should be 0'
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# RSpec
|
|
57
|
+
Then /^the spec(?:s)? should not(?: all)? pass with( regex)?:$/ do |regex, string|
|
|
58
|
+
step 'the output should not contain "0 failures"'
|
|
59
|
+
step 'the exit status should be 1'
|
|
60
|
+
|
|
61
|
+
if regex
|
|
62
|
+
step "the output should match %r<#{string}>"
|
|
52
63
|
else
|
|
53
|
-
step 'the output should contain
|
|
54
|
-
step 'the exit status should be 0'
|
|
64
|
+
step 'the output should contain:', string
|
|
55
65
|
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# RSpec
|
|
69
|
+
Then /^the spec(?:s)? should(?: all)? pass with( regex)?:$/ do |regex, string|
|
|
70
|
+
step 'the output should contain "0 failures"'
|
|
71
|
+
step 'the exit status should be 0'
|
|
56
72
|
|
|
57
73
|
if regex
|
|
58
74
|
step "the output should match %r<#{string}>"
|
|
@@ -62,30 +78,38 @@ Then /^the spec(?:s)? should( not)?(?: all)? pass with( regex)?:$/ do |negated,
|
|
|
62
78
|
end
|
|
63
79
|
|
|
64
80
|
# Minitest
|
|
65
|
-
Then /^the tests(?:s)? should
|
|
66
|
-
if
|
|
67
|
-
|
|
68
|
-
step 'the output should not contain "0 errors"'
|
|
69
|
-
else
|
|
70
|
-
step %(the output should contain "#{count_failures} errors")
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
step 'the exit status should be 1'
|
|
81
|
+
Then /^the tests(?:s)? should not(?: all)? pass(?: with (\d+) failures?)?$/ do |count_failures|
|
|
82
|
+
if count_failures.nil?
|
|
83
|
+
step 'the output should not contain "0 errors"'
|
|
74
84
|
else
|
|
75
|
-
step
|
|
76
|
-
step 'the exit status should be 0'
|
|
85
|
+
step %(the output should contain "#{count_failures} errors")
|
|
77
86
|
end
|
|
87
|
+
|
|
88
|
+
step 'the exit status should be 1'
|
|
78
89
|
end
|
|
79
90
|
|
|
80
91
|
# Minitest
|
|
81
|
-
Then /^the
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
92
|
+
Then /^the tests(?:s)? should all pass$/ do
|
|
93
|
+
step 'the output should contain "0 errors"'
|
|
94
|
+
step 'the exit status should be 0'
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Minitest
|
|
98
|
+
Then /^the test(?:s)? should not(?: all)? pass with( regex)?:$/ do |regex, string|
|
|
99
|
+
step 'the output should contain "0 errors"'
|
|
100
|
+
step 'the exit status should be 1'
|
|
101
|
+
|
|
102
|
+
if regex
|
|
103
|
+
step "the output should match %r<#{string}>"
|
|
85
104
|
else
|
|
86
|
-
step 'the output should
|
|
87
|
-
step 'the exit status should be 0'
|
|
105
|
+
step 'the output should contain:', string
|
|
88
106
|
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Minitest
|
|
110
|
+
Then /^the test(?:s)? should(?: all)? pass with( regex)?:$/ do |regex, string|
|
|
111
|
+
step 'the output should not contain "0 errors"'
|
|
112
|
+
step 'the exit status should be 0'
|
|
89
113
|
|
|
90
114
|
if regex
|
|
91
115
|
step "the output should match %r<#{string}>"
|
data/lib/aruba/cucumber.rb
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
require 'aruba/version'
|
|
2
2
|
|
|
3
3
|
require 'aruba/api'
|
|
4
|
-
World(Aruba::Api)
|
|
5
|
-
|
|
6
4
|
require 'aruba/cucumber/hooks'
|
|
7
5
|
require 'aruba/cucumber/command'
|
|
8
|
-
require 'aruba/cucumber/core'
|
|
9
6
|
require 'aruba/cucumber/environment'
|
|
10
7
|
require 'aruba/cucumber/file'
|
|
11
8
|
require 'aruba/cucumber/testing_frameworks'
|
|
12
|
-
require 'aruba/cucumber/rvm'
|
|
13
|
-
require 'aruba/reporting'
|
|
@@ -10,17 +10,12 @@ module Aruba
|
|
|
10
10
|
# Helpers for Resolvers
|
|
11
11
|
module ResolveHelpers
|
|
12
12
|
def camel_case(underscored_name)
|
|
13
|
-
|
|
14
|
-
underscored_name.to_s.split('_').map { |word| word.upcase.chars.to_a[0] + word.chars.to_a[1..-1].join }.join
|
|
15
|
-
else
|
|
16
|
-
underscored_name.to_s.split('_').map { |word| word.upcase[0] + word[1..-1] }.join
|
|
17
|
-
end
|
|
13
|
+
underscored_name.to_s.split('_').map { |word| word.upcase[0] + word[1..-1] }.join
|
|
18
14
|
end
|
|
19
15
|
|
|
20
16
|
# Thanks ActiveSupport
|
|
21
17
|
# (Only needed to support Ruby 1.9.3 and JRuby)
|
|
22
18
|
# rubocop:disable Metrics/CyclomaticComplexity
|
|
23
|
-
# rubocop:disable Metrics/MethodLength
|
|
24
19
|
def constantize(camel_cased_word)
|
|
25
20
|
names = camel_cased_word.split('::')
|
|
26
21
|
|
|
@@ -36,23 +31,18 @@ module Aruba
|
|
|
36
31
|
else
|
|
37
32
|
candidate = constant.const_get(name)
|
|
38
33
|
|
|
39
|
-
|
|
40
|
-
next candidate if constant.const_defined?(name)
|
|
41
|
-
else
|
|
42
|
-
next candidate if constant.const_defined?(name, false)
|
|
43
|
-
end
|
|
34
|
+
next candidate if constant.const_defined?(name, false)
|
|
44
35
|
|
|
45
36
|
next candidate unless Object.const_defined?(name)
|
|
46
37
|
|
|
47
38
|
# Go down the ancestors to check if it is owned directly. The check
|
|
48
39
|
# stops when we reach Object or the end of ancestors tree.
|
|
49
|
-
# rubocop:disable Style/EachWithObject
|
|
50
40
|
constant = constant.ancestors.inject do |const, ancestor|
|
|
51
41
|
break const if ancestor == Object
|
|
52
42
|
break ancestor if ancestor.const_defined?(name, false)
|
|
43
|
+
|
|
53
44
|
const
|
|
54
45
|
end
|
|
55
|
-
# rubocop:enable Style/EachWithObject
|
|
56
46
|
|
|
57
47
|
# owner is in Object, so raise
|
|
58
48
|
constant.const_get(name, false)
|
|
@@ -60,7 +50,6 @@ module Aruba
|
|
|
60
50
|
end
|
|
61
51
|
end
|
|
62
52
|
# rubocop:enable Metrics/CyclomaticComplexity
|
|
63
|
-
# rubocop:enable Metrics/MethodLength
|
|
64
53
|
end
|
|
65
54
|
|
|
66
55
|
# @private
|
|
@@ -159,9 +148,9 @@ module Aruba
|
|
|
159
148
|
def transform(event_id)
|
|
160
149
|
resolvers.find { |r| r.match? event_id }.new.transform(default_namespace, event_id)
|
|
161
150
|
rescue => e
|
|
162
|
-
# rubocop:disable
|
|
151
|
+
# rubocop:disable Layout/LineLength
|
|
163
152
|
raise EventNameResolveError, %(Transforming "#{event_id}" into an event class failed. Supported types are: #{@resolvers.map(&:supports).flatten.join(', ')}. #{e.message}.\n\n#{e.backtrace.join("\n")})
|
|
164
|
-
# rubocop:enable
|
|
153
|
+
# rubocop:enable Layout/LineLength
|
|
165
154
|
end
|
|
166
155
|
end
|
|
167
156
|
end
|
data/lib/aruba/hooks.rb
CHANGED
|
@@ -18,7 +18,7 @@ module Aruba
|
|
|
18
18
|
# @param [String, Symbol] label
|
|
19
19
|
# The name of the hook
|
|
20
20
|
#
|
|
21
|
-
# @
|
|
21
|
+
# @param [Proc] block
|
|
22
22
|
# The block which should be run for the hook
|
|
23
23
|
def append(label, block)
|
|
24
24
|
if store.key?(label.to_sym) && store[label.to_sym].respond_to?(:<<)
|
|
@@ -15,10 +15,14 @@ module Aruba
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def method_missing(name, *args)
|
|
18
|
-
fail ArgumentError, 'Options take no argument' if args.
|
|
18
|
+
fail ArgumentError, 'Options take no argument' if args.any?
|
|
19
19
|
fail UnknownOptionError, %(Option "#{name}" is unknown. Please use only earlier defined options) unless config.key? name
|
|
20
20
|
|
|
21
21
|
config[name]
|
|
22
22
|
end
|
|
23
|
+
|
|
24
|
+
def respond_to_missing?(*)
|
|
25
|
+
true
|
|
26
|
+
end
|
|
23
27
|
end
|
|
24
28
|
end
|
data/lib/aruba/initializer.rb
CHANGED
|
@@ -23,7 +23,11 @@ module Aruba
|
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
content = if File.exist? file
|
|
26
|
-
|
|
26
|
+
file_ends_with_carriage_return = File.open(file, 'r').readlines.last.match(/.*\n$/)
|
|
27
|
+
|
|
28
|
+
prefix = file_ends_with_carriage_return ? '' : "\n"
|
|
29
|
+
|
|
30
|
+
%(#{prefix}gem 'aruba', '~> #{Aruba::VERSION}')
|
|
27
31
|
else
|
|
28
32
|
%(source 'https://rubygems.org'\ngem 'aruba', '~> #{Aruba::VERSION}'\n)
|
|
29
33
|
end
|
|
@@ -68,7 +72,7 @@ module Aruba
|
|
|
68
72
|
|
|
69
73
|
no_commands do
|
|
70
74
|
def self.match?(framework)
|
|
71
|
-
|
|
75
|
+
framework.downcase.to_sym == :rspec
|
|
72
76
|
end
|
|
73
77
|
end
|
|
74
78
|
|
|
@@ -80,23 +84,18 @@ module Aruba
|
|
|
80
84
|
:create_file
|
|
81
85
|
end
|
|
82
86
|
|
|
83
|
-
send creator, file,
|
|
84
|
-
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
|
87
|
+
send creator, file, <<~EOS
|
|
88
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
|
85
89
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
else
|
|
90
|
-
::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require_relative f }
|
|
91
|
-
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
|
|
92
|
-
end
|
|
93
|
-
EOS
|
|
90
|
+
::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require_relative f }
|
|
91
|
+
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
|
|
92
|
+
EOS
|
|
94
93
|
end
|
|
95
94
|
|
|
96
95
|
def create_support_file
|
|
97
|
-
create_file 'spec/support/aruba.rb',
|
|
98
|
-
require 'aruba/rspec'
|
|
99
|
-
EOS
|
|
96
|
+
create_file 'spec/support/aruba.rb', <<~EOS
|
|
97
|
+
require 'aruba/rspec'
|
|
98
|
+
EOS
|
|
100
99
|
end
|
|
101
100
|
end
|
|
102
101
|
end
|
|
@@ -114,14 +113,14 @@ module Aruba
|
|
|
114
113
|
|
|
115
114
|
no_commands do
|
|
116
115
|
def self.match?(framework)
|
|
117
|
-
|
|
116
|
+
framework.downcase.to_sym == :cucumber
|
|
118
117
|
end
|
|
119
118
|
end
|
|
120
119
|
|
|
121
120
|
def create_support_file
|
|
122
|
-
create_file 'features/support/aruba.rb',
|
|
123
|
-
require 'aruba/cucumber'
|
|
124
|
-
EOS
|
|
121
|
+
create_file 'features/support/aruba.rb', <<~EOS
|
|
122
|
+
require 'aruba/cucumber'
|
|
123
|
+
EOS
|
|
125
124
|
end
|
|
126
125
|
end
|
|
127
126
|
end
|
|
@@ -139,7 +138,7 @@ module Aruba
|
|
|
139
138
|
|
|
140
139
|
no_commands do
|
|
141
140
|
def self.match?(framework)
|
|
142
|
-
|
|
141
|
+
framework.downcase.to_sym == :minitest
|
|
143
142
|
end
|
|
144
143
|
end
|
|
145
144
|
|
|
@@ -151,35 +150,30 @@ module Aruba
|
|
|
151
150
|
:create_file
|
|
152
151
|
end
|
|
153
152
|
|
|
154
|
-
send creator, file,
|
|
155
|
-
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
|
153
|
+
send creator, file, <<~EOS
|
|
154
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
|
156
155
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
else
|
|
161
|
-
::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require_relative f }
|
|
162
|
-
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
|
|
163
|
-
end
|
|
164
|
-
EOS
|
|
156
|
+
::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require_relative f }
|
|
157
|
+
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
|
|
158
|
+
EOS
|
|
165
159
|
end
|
|
166
160
|
|
|
167
161
|
def create_example
|
|
168
|
-
create_file 'test/use_aruba_with_minitest.rb',
|
|
169
|
-
$LOAD_PATH.unshift File.expand_path('../test', __FILE__)
|
|
162
|
+
create_file 'test/use_aruba_with_minitest.rb', <<~EOS
|
|
163
|
+
$LOAD_PATH.unshift File.expand_path('../test', __FILE__)
|
|
170
164
|
|
|
171
|
-
require 'test_helper'
|
|
172
|
-
require 'minitest/autorun'
|
|
173
|
-
require 'aruba/api'
|
|
165
|
+
require 'test_helper'
|
|
166
|
+
require 'minitest/autorun'
|
|
167
|
+
require 'aruba/api'
|
|
174
168
|
|
|
175
|
-
class FirstRun < Minitest::Test
|
|
176
|
-
|
|
169
|
+
class FirstRun < Minitest::Test
|
|
170
|
+
include Aruba::Api
|
|
177
171
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
end
|
|
182
|
-
EOS
|
|
172
|
+
def setup
|
|
173
|
+
aruba_setup
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
EOS
|
|
183
177
|
end
|
|
184
178
|
end
|
|
185
179
|
end
|
|
@@ -72,14 +72,14 @@ module Aruba
|
|
|
72
72
|
end
|
|
73
73
|
|
|
74
74
|
# @private
|
|
75
|
-
# rubocop:disable
|
|
75
|
+
# rubocop:disable Naming/PredicateName
|
|
76
76
|
def self.has_default_failure_messages?(matcher)
|
|
77
77
|
matcher.method(:failure_message).owner == self &&
|
|
78
78
|
matcher.method(:failure_message_when_negated).owner == self
|
|
79
79
|
rescue NameError
|
|
80
80
|
false
|
|
81
81
|
end
|
|
82
|
-
# rubocop:enable
|
|
82
|
+
# rubocop:enable Naming/PredicateName
|
|
83
83
|
end
|
|
84
84
|
|
|
85
85
|
include DefaultFailureMessages
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Aruba
|
|
2
|
+
module Matchers
|
|
3
|
+
module Base
|
|
4
|
+
# Provide #indent_multiline_message helper method.
|
|
5
|
+
#
|
|
6
|
+
# @api private
|
|
7
|
+
module MessageIndenter
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def indent_multiline_message(message)
|
|
11
|
+
message = message.sub(/\n+\z/, '')
|
|
12
|
+
message.lines.map do |line|
|
|
13
|
+
/\S/.match?(line) ? ' ' + line : line
|
|
14
|
+
end.join
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -12,7 +12,6 @@ module Aruba
|
|
|
12
12
|
prepare_for_inspection(object).inspect
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
# rubocop:disable MethodLength
|
|
16
15
|
# rubocop:disable Metrics/CyclomaticComplexity
|
|
17
16
|
|
|
18
17
|
# @private
|
|
@@ -48,7 +47,6 @@ module Aruba
|
|
|
48
47
|
InspectableItem.new(inspection)
|
|
49
48
|
end
|
|
50
49
|
# rubocop:enable Metrics/CyclomaticComplexity
|
|
51
|
-
# rubocop:enable MethodLength
|
|
52
50
|
|
|
53
51
|
# @private
|
|
54
52
|
def self.prepare_hash(input)
|
|
@@ -57,21 +55,16 @@ module Aruba
|
|
|
57
55
|
end
|
|
58
56
|
end
|
|
59
57
|
|
|
60
|
-
TIME_FORMAT =
|
|
58
|
+
TIME_FORMAT = '%Y-%m-%d %H:%M:%S'.freeze
|
|
61
59
|
|
|
62
60
|
if Time.method_defined?(:nsec)
|
|
63
61
|
# @private
|
|
64
62
|
def self.format_time(time)
|
|
65
63
|
time.strftime("#{TIME_FORMAT}.#{format('%09d', time.nsec)} %z")
|
|
66
64
|
end
|
|
67
|
-
else # for 1.8.7
|
|
68
|
-
# @private
|
|
69
|
-
def self.format_time(time)
|
|
70
|
-
time.strftime("#{TIME_FORMAT}.#{format('%06d', time.usec)} %z")
|
|
71
|
-
end
|
|
72
65
|
end
|
|
73
66
|
|
|
74
|
-
DATE_TIME_FORMAT =
|
|
67
|
+
DATE_TIME_FORMAT = '%a, %d %b %Y %H:%M:%S.%N %z'.freeze
|
|
75
68
|
|
|
76
69
|
# ActiveSupport sometimes overrides inspect. If `ActiveSupport` is
|
|
77
70
|
# defined use a custom format string that includes more time precision.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'aruba/matchers/base/base_matcher'
|
|
2
|
+
require 'aruba/matchers/base/message_indenter'
|
|
2
3
|
|
|
3
4
|
# Aruba
|
|
4
5
|
module Aruba
|
|
@@ -8,6 +9,8 @@ module Aruba
|
|
|
8
9
|
# Provides the implementation for `include_an_object`.
|
|
9
10
|
# Not intended to be instantiated directly.
|
|
10
11
|
class IncludeAnObject < BaseMatcher
|
|
12
|
+
include Base::MessageIndenter
|
|
13
|
+
|
|
11
14
|
protected
|
|
12
15
|
|
|
13
16
|
# @private
|
|
@@ -19,7 +22,7 @@ module Aruba
|
|
|
19
22
|
|
|
20
23
|
def initialize(matcher)
|
|
21
24
|
@matcher = matcher
|
|
22
|
-
@failed_objects =
|
|
25
|
+
@failed_objects = []
|
|
23
26
|
@any_succeeded_object = false
|
|
24
27
|
end
|
|
25
28
|
|
|
@@ -30,8 +33,10 @@ module Aruba
|
|
|
30
33
|
return "#{improve_hash_formatting(super)}, but was not iterable"
|
|
31
34
|
end
|
|
32
35
|
|
|
36
|
+
return failed_objects.first if failed_objects.size == 1
|
|
37
|
+
|
|
33
38
|
all_messages = [improve_hash_formatting(super)]
|
|
34
|
-
failed_objects.
|
|
39
|
+
failed_objects.each_with_index do |matcher_failure_message, index|
|
|
35
40
|
all_messages << failure_message_for_item(index, matcher_failure_message)
|
|
36
41
|
end
|
|
37
42
|
all_messages.join("\n\n")
|
|
@@ -92,13 +97,6 @@ module Aruba
|
|
|
92
97
|
def add_new_line_if_needed(message)
|
|
93
98
|
message.start_with?("\n") ? message : "\n#{message}"
|
|
94
99
|
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
100
|
end
|
|
103
101
|
end
|
|
104
102
|
end
|
|
@@ -6,7 +6,7 @@ require 'aruba/matchers/command/have_finished_in_time'
|
|
|
6
6
|
# @!method be_successfuly_executed
|
|
7
7
|
# This matchers checks if execution of <command> was successful
|
|
8
8
|
#
|
|
9
|
-
# @return [
|
|
9
|
+
# @return [Boolean] The result
|
|
10
10
|
#
|
|
11
11
|
# false:
|
|
12
12
|
# * if command was not successful
|
|
@@ -27,8 +27,10 @@ RSpec::Matchers.define :be_successfully_executed do
|
|
|
27
27
|
|
|
28
28
|
expect(@old_actual).to have_exit_status(0)
|
|
29
29
|
end
|
|
30
|
-
end
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
failure_message do |_actual|
|
|
32
|
+
"Expected `#{@actual}` to succeed but got non-zero exit status and the following output:\n\n#{@old_actual.output}\n"
|
|
33
|
+
end
|
|
34
34
|
end
|
|
35
|
+
|
|
36
|
+
RSpec::Matchers.define_negated_matcher :have_failed_running, :be_successfully_executed
|