opal-rspec 0.8.0.alpha3 → 1.0.0.alpha1
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/.github/workflows/build.yml +7 -7
- data/.gitmodules +6 -0
- data/CHANGELOG.md +16 -1
- data/Gemfile +13 -0
- data/README.md +63 -59
- data/diff-lcs/spec/files_to_exclude.txt +1 -0
- data/diff-lcs/spec/requires.rb +4 -0
- data/diff-lcs/upstream/.autotest +5 -0
- data/diff-lcs/upstream/.fasterer.yml +3 -0
- data/{stubs/diff/lcs.rb → diff-lcs/upstream/.gemtest} +0 -0
- data/diff-lcs/upstream/.github/workflows/ci.yml +64 -0
- data/diff-lcs/upstream/.github/workflows/codeql-analysis.yml +70 -0
- data/diff-lcs/upstream/.gitignore +20 -0
- data/diff-lcs/upstream/.hoerc +52 -0
- data/diff-lcs/upstream/.rspec +1 -0
- data/diff-lcs/upstream/.standard.yml +6 -0
- data/diff-lcs/upstream/Code-of-Conduct.md +74 -0
- data/diff-lcs/upstream/Contributing.md +119 -0
- data/diff-lcs/upstream/Gemfile +28 -0
- data/diff-lcs/upstream/History.md +407 -0
- data/diff-lcs/upstream/License.md +41 -0
- data/diff-lcs/upstream/Manifest.txt +59 -0
- data/diff-lcs/upstream/README.rdoc +84 -0
- data/diff-lcs/upstream/Rakefile +127 -0
- data/diff-lcs/upstream/bin/htmldiff +35 -0
- data/diff-lcs/upstream/bin/ldiff +9 -0
- data/diff-lcs/upstream/diff-lcs.gemspec +48 -0
- data/diff-lcs/upstream/docs/COPYING.txt +339 -0
- data/diff-lcs/upstream/docs/artistic.txt +127 -0
- data/diff-lcs/upstream/lib/diff/lcs/array.rb +7 -0
- data/diff-lcs/upstream/lib/diff/lcs/backports.rb +9 -0
- data/diff-lcs/upstream/lib/diff/lcs/block.rb +37 -0
- data/diff-lcs/upstream/lib/diff/lcs/callbacks.rb +327 -0
- data/diff-lcs/upstream/lib/diff/lcs/change.rb +174 -0
- data/diff-lcs/upstream/lib/diff/lcs/htmldiff.rb +158 -0
- data/diff-lcs/upstream/lib/diff/lcs/hunk.rb +363 -0
- data/diff-lcs/upstream/lib/diff/lcs/internals.rb +308 -0
- data/diff-lcs/upstream/lib/diff/lcs/ldiff.rb +173 -0
- data/diff-lcs/upstream/lib/diff/lcs/string.rb +5 -0
- data/diff-lcs/upstream/lib/diff/lcs.rb +741 -0
- data/diff-lcs/upstream/lib/diff-lcs.rb +3 -0
- data/diff-lcs/upstream/spec/change_spec.rb +89 -0
- data/diff-lcs/upstream/spec/diff_spec.rb +51 -0
- data/diff-lcs/upstream/spec/fixtures/aX +1 -0
- data/diff-lcs/upstream/spec/fixtures/bXaX +1 -0
- data/diff-lcs/upstream/spec/fixtures/ds1.csv +50 -0
- data/diff-lcs/upstream/spec/fixtures/ds2.csv +51 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff +4 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff-c +7 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff-e +3 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff-f +3 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff-u +5 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef +4 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef-c +15 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef-e +3 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef-f +3 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef-u +9 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2 +7 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
- data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
- data/diff-lcs/upstream/spec/fixtures/new-chef +4 -0
- data/diff-lcs/upstream/spec/fixtures/new-chef2 +17 -0
- data/diff-lcs/upstream/spec/fixtures/old-chef +4 -0
- data/diff-lcs/upstream/spec/fixtures/old-chef2 +14 -0
- data/diff-lcs/upstream/spec/hunk_spec.rb +83 -0
- data/diff-lcs/upstream/spec/issues_spec.rb +160 -0
- data/diff-lcs/upstream/spec/lcs_spec.rb +56 -0
- data/diff-lcs/upstream/spec/ldiff_spec.rb +89 -0
- data/diff-lcs/upstream/spec/patch_spec.rb +416 -0
- data/diff-lcs/upstream/spec/sdiff_spec.rb +216 -0
- data/diff-lcs/upstream/spec/spec_helper.rb +376 -0
- data/diff-lcs/upstream/spec/traverse_balanced_spec.rb +312 -0
- data/diff-lcs/upstream/spec/traverse_sequences_spec.rb +137 -0
- data/lib/opal/rspec/runner.rb +11 -0
- data/lib/opal/rspec/sprockets.rb +6 -0
- data/lib/opal/rspec/version.rb +1 -1
- data/lib/opal/rspec.rb +1 -2
- data/lib-opal/opal/rspec/async/configuration.rb +39 -0
- data/lib-opal/opal/rspec/async/example.rb +80 -168
- data/lib-opal/opal/rspec/async/example_group.rb +71 -81
- data/lib-opal/opal/rspec/async/hooks.rb +98 -8
- data/lib-opal/opal/rspec/async/memoized_helpers.rb +32 -0
- data/lib-opal/opal/rspec/async/reporter.rb +6 -3
- data/lib-opal/opal/rspec/async/runner.rb +33 -24
- data/lib-opal/opal/rspec/async.rb +4 -1
- data/lib-opal/opal/rspec/browser.rb +0 -8
- data/lib-opal/opal/rspec/browser_early.rb +5 -0
- data/lib-opal/opal/rspec/fixes/diff-lcs/hunk.rb +164 -0
- data/lib-opal/opal/rspec/fixes/diff-lcs/lcs.rb +112 -0
- data/lib-opal/opal/rspec/fixes/diff-lcs.rb +2 -0
- data/lib-opal/opal/rspec/fixes/opal.rb +4 -17
- data/lib-opal/opal/rspec/fixes/rspec/core/example_status_persister.rb +11 -0
- data/lib-opal/opal/rspec/fixes/rspec/core/formatters/deprecation_formatter.rb +3 -12
- data/lib-opal/opal/rspec/fixes/rspec/core/formatters/exception_presenter.rb +28 -0
- data/lib-opal/opal/rspec/fixes/rspec/core/formatters/loader.rb +0 -32
- data/lib-opal/opal/rspec/fixes/rspec/core/formatters/snippet_extractor.rb +17 -0
- data/lib-opal/opal/rspec/fixes/rspec/core/formatters/syntax_highlighter.rb +17 -0
- data/lib-opal/opal/rspec/fixes/rspec/core/formatters.rb +3 -4
- data/lib-opal/opal/rspec/fixes/rspec/core/metadata.rb +24 -8
- data/lib-opal/opal/rspec/fixes/rspec/core/notifications/examples_notification.rb +3 -20
- data/lib-opal/opal/rspec/fixes/rspec/core/notifications.rb +0 -2
- data/lib-opal/opal/rspec/fixes/rspec/core.rb +1 -2
- data/lib-opal/opal/rspec/fixes/rspec/expectations.rb +0 -1
- data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/base_matcher.rb +26 -0
- data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in.rb +1 -3
- data/lib-opal/opal/rspec/fixes/rspec/matchers/expecteds_for_multiple_diffs.rb +13 -0
- data/lib-opal/opal/rspec/fixes/rspec/matchers.rb +1 -1
- data/lib-opal/opal/rspec/fixes/rspec/mocks/error_generator.rb +26 -10
- data/lib-opal/opal/rspec/fixes/rspec/mocks/proxy.rb +19 -0
- data/lib-opal/opal/rspec/fixes/rspec/mocks.rb +1 -3
- data/lib-opal/opal/rspec/fixes/rspec/support/differ.rb +29 -0
- data/lib-opal/opal/rspec/fixes/rspec/support/encoded_string.rb +9 -5
- data/lib-opal/opal/rspec/fixes/rspec/support/ruby_features.rb +22 -0
- data/lib-opal/opal/rspec/fixes/rspec/support/source.rb +15 -0
- data/lib-opal/opal/rspec/fixes/rspec/support.rb +3 -3
- data/lib-opal/opal/rspec/fixes/rspec.rb +0 -1
- data/lib-opal/opal/rspec/fixes.rb +1 -0
- data/lib-opal/opal/rspec/formatter/document_io.rb +1 -1
- data/lib-opal/opal/rspec/formatter/html_printer.rb +1 -1
- data/lib-opal/opal/rspec/pre_require_fixes.rb +1 -5
- data/lib-opal/opal/rspec/requires.rb +32 -19
- data/lib-opal/opal/rspec/sprockets_runner.rb.erb +1 -0
- data/lib-opal/opal/rspec.rb +3 -0
- data/opal-rspec.gemspec +1 -1
- data/rspec/upstream/.document +1 -1
- data/rspec/upstream/.github/FUNDING.yml +5 -0
- data/rspec/upstream/.gitignore +1 -0
- data/rspec/upstream/LICENSE.md +27 -0
- data/rspec/upstream/README.md +26 -26
- data/rspec/upstream/Rakefile +1 -1
- data/rspec/upstream/certs/rspec.pem +32 -20
- data/rspec/upstream/certs/samphippen.asc +18 -0
- data/rspec/upstream/code_of_conduct.md +59 -0
- data/rspec/upstream/lib/rspec/version.rb +1 -1
- data/rspec/upstream/rspec.gemspec +7 -2
- data/rspec-core/upstream/.document +1 -1
- data/rspec-core/upstream/.github/FUNDING.yml +5 -0
- data/rspec-core/upstream/.github/workflows/ci.yml +150 -0
- data/rspec-core/upstream/.gitignore +2 -0
- data/rspec-core/upstream/.rspec +1 -0
- data/rspec-core/upstream/.rubocop.yml +64 -12
- data/rspec-core/upstream/.rubocop_rspec_base.yml +224 -38
- data/rspec-core/upstream/.rubocop_todo.yml +1031 -0
- data/rspec-core/upstream/.yardopts +2 -1
- data/rspec-core/upstream/BUILD_DETAIL.md +149 -0
- data/rspec-core/upstream/CODE_OF_CONDUCT.md +59 -0
- data/rspec-core/upstream/CONTRIBUTING.md +86 -0
- data/rspec-core/upstream/Changelog.md +721 -2
- data/rspec-core/upstream/DEV-README.md +2 -2
- data/rspec-core/upstream/DEVELOPMENT.md +131 -0
- data/rspec-core/upstream/Filtering.md +173 -0
- data/rspec-core/upstream/Gemfile +78 -9
- data/rspec-core/upstream/ISSUE_TEMPLATE.md +24 -0
- data/rspec-core/upstream/{License.txt → LICENSE.md} +6 -5
- data/rspec-core/upstream/README.md +165 -24
- data/rspec-core/upstream/REPORT_TEMPLATE.md +43 -0
- data/rspec-core/upstream/Rakefile +1 -1
- data/rspec-core/upstream/benchmarks/allocations/1000_groups_1_example.rb +124 -0
- data/rspec-core/upstream/benchmarks/allocations/1_group_1000_examples.rb +63 -0
- data/rspec-core/upstream/benchmarks/allocations/helper.rb +30 -0
- data/rspec-core/upstream/benchmarks/allocations/running_1000_groups_1_example.rb +100 -0
- data/rspec-core/upstream/benchmarks/allocations/running_1_group_1000_examples.rb +60 -0
- data/rspec-core/upstream/benchmarks/capture_block_vs_yield.rb +208 -0
- data/rspec-core/upstream/benchmarks/flat_map_vs_inject.rb +55 -0
- data/rspec-core/upstream/benchmarks/hash_functions.rb +74 -0
- data/rspec-core/upstream/benchmarks/keys_each_vs_each_key.rb +43 -0
- data/rspec-core/upstream/benchmarks/module_inclusion_filtering.rb +89 -0
- data/rspec-core/upstream/benchmarks/precalculate_absolute_file_path_or_not.rb +29 -0
- data/rspec-core/upstream/benchmarks/shuffle_vs_sort_by_for_random_ordering.rb +131 -0
- data/rspec-core/upstream/benchmarks/singleton_example_groups/helper.rb +122 -0
- data/rspec-core/upstream/benchmarks/singleton_example_groups/with_config_hooks.rb +28 -0
- data/rspec-core/upstream/benchmarks/singleton_example_groups/with_config_hooks_module_inclusions_and_shared_context_inclusions.rb +35 -0
- data/rspec-core/upstream/benchmarks/singleton_example_groups/with_module_inclusions.rb +28 -0
- data/rspec-core/upstream/benchmarks/singleton_example_groups/with_no_config_hooks_or_inclusions.rb +22 -0
- data/rspec-core/upstream/benchmarks/singleton_example_groups/with_shared_context_inclusions.rb +28 -0
- data/rspec-core/upstream/benchmarks/threadsafe_let_block.rb +312 -0
- data/rspec-core/upstream/cucumber.yml +7 -2
- data/rspec-core/upstream/features/.nav +5 -1
- data/rspec-core/upstream/features/README.md +2 -2
- data/rspec-core/upstream/features/clear_examples.feature +106 -0
- data/rspec-core/upstream/features/command_line/bisect.feature +178 -0
- data/rspec-core/upstream/features/command_line/example_matches_name_option.feature +131 -0
- data/rspec-core/upstream/features/command_line/example_name_option.feature +2 -0
- data/rspec-core/upstream/features/command_line/fail_fast.feature +21 -4
- data/rspec-core/upstream/features/command_line/init.feature +2 -2
- data/rspec-core/upstream/features/command_line/line_number_appended_to_path.feature +2 -2
- data/rspec-core/upstream/features/command_line/only_failures.feature +113 -0
- data/rspec-core/upstream/features/command_line/order.md +8 -1
- data/rspec-core/upstream/features/command_line/pattern_option.feature +6 -3
- data/rspec-core/upstream/features/command_line/rake_task.feature +3 -3
- data/rspec-core/upstream/features/command_line/randomization.feature +5 -2
- data/rspec-core/upstream/features/command_line/ruby.feature +6 -2
- data/rspec-core/upstream/features/command_line/tag.feature +13 -11
- data/rspec-core/upstream/features/command_line/warnings_option.feature +20 -3
- data/rspec-core/upstream/features/configuration/backtrace_exclusion_patterns.feature +45 -29
- data/rspec-core/upstream/features/configuration/color.feature +22 -0
- data/rspec-core/upstream/features/configuration/custom_settings.feature +9 -13
- data/rspec-core/upstream/features/configuration/default_path.feature +1 -1
- data/rspec-core/upstream/features/configuration/enable_global_dsl.feature +15 -1
- data/rspec-core/upstream/features/configuration/error_exit_code.feature +52 -0
- data/rspec-core/upstream/features/configuration/fail_fast.feature +42 -12
- data/rspec-core/upstream/features/configuration/fail_if_no_examples.feature +31 -0
- data/rspec-core/upstream/features/configuration/failure_exit_code.feature +26 -0
- data/rspec-core/upstream/features/configuration/overriding_global_ordering.feature +1 -1
- data/rspec-core/upstream/features/configuration/pattern.feature +1 -1
- data/rspec-core/upstream/features/configuration/profile.feature +25 -0
- data/rspec-core/upstream/features/configuration/read_options_from_file.feature +25 -19
- data/rspec-core/upstream/features/configuration/run_all_when_everything_filtered.feature +4 -0
- data/rspec-core/upstream/features/core_standalone.feature +2 -0
- data/rspec-core/upstream/features/example_groups/basic_structure.feature +1 -0
- data/rspec-core/upstream/features/example_groups/shared_context.feature +55 -5
- data/rspec-core/upstream/features/example_groups/shared_examples.feature +59 -15
- data/rspec-core/upstream/features/expectation_framework_integration/aggregating_failures.feature +602 -0
- data/rspec-core/upstream/features/expectation_framework_integration/configure_expectation_framework.feature +13 -5
- data/rspec-core/upstream/features/filtering/filter_run_when_matching.feature +75 -0
- data/rspec-core/upstream/features/formatters/configurable_colors.feature +23 -4
- data/rspec-core/upstream/features/helper_methods/let.feature +3 -0
- data/rspec-core/upstream/features/helper_methods/modules.feature +6 -0
- data/rspec-core/upstream/features/hooks/around_hooks.feature +36 -6
- data/rspec-core/upstream/features/hooks/before_and_after_hooks.feature +47 -5
- data/rspec-core/upstream/features/hooks/filtering.feature +199 -4
- data/rspec-core/upstream/features/hooks/when_first_matching_example_defined.feature +70 -0
- data/rspec-core/upstream/features/metadata/current_scope.feature +87 -0
- data/rspec-core/upstream/features/metadata/described_class.feature +12 -5
- data/rspec-core/upstream/features/metadata/user_defined.feature +3 -3
- data/rspec-core/upstream/features/mock_framework_integration/use_any_framework.feature +1 -1
- data/rspec-core/upstream/features/mock_framework_integration/use_flexmock.feature +5 -5
- data/rspec-core/upstream/features/mock_framework_integration/use_mocha.feature +5 -5
- data/rspec-core/upstream/features/mock_framework_integration/use_rr.feature +5 -5
- data/rspec-core/upstream/features/mock_framework_integration/use_rspec.feature +6 -6
- data/rspec-core/upstream/features/pending_and_skipped_examples/pending_examples.feature +8 -7
- data/rspec-core/upstream/features/pending_and_skipped_examples/skipped_examples.feature +49 -22
- data/rspec-core/upstream/features/step_definitions/additional_cli_steps.rb +142 -12
- data/rspec-core/upstream/features/step_definitions/core_standalone_steps.rb +6 -2
- data/rspec-core/upstream/features/subject/implicit_subject.feature +3 -2
- data/rspec-core/upstream/features/subject/one_liner_syntax.feature +9 -5
- data/rspec-core/upstream/features/support/diff_lcs_versions.rb +17 -0
- data/rspec-core/upstream/features/support/env.rb +20 -7
- data/rspec-core/upstream/features/support/jruby.rb +8 -0
- data/rspec-core/upstream/features/support/require_expect_syntax_in_aruba_specs.rb +6 -3
- data/rspec-core/upstream/features/support/rubinius.rb +5 -1
- data/rspec-core/upstream/features/support/ruby_27_support.rb +7 -0
- data/rspec-core/upstream/features/support/send_sigint_during_bisect.rb +21 -0
- data/rspec-core/upstream/lib/rspec/autorun.rb +1 -0
- data/rspec-core/upstream/lib/rspec/core/backtrace_formatter.rb +3 -4
- data/rspec-core/upstream/lib/rspec/core/bisect/coordinator.rb +62 -0
- data/rspec-core/upstream/lib/rspec/core/bisect/example_minimizer.rb +173 -0
- data/rspec-core/upstream/lib/rspec/core/bisect/fork_runner.rb +138 -0
- data/rspec-core/upstream/lib/rspec/core/bisect/server.rb +61 -0
- data/rspec-core/upstream/lib/rspec/core/bisect/shell_command.rb +126 -0
- data/rspec-core/upstream/lib/rspec/core/bisect/shell_runner.rb +73 -0
- data/rspec-core/upstream/lib/rspec/core/bisect/utilities.rb +69 -0
- data/rspec-core/upstream/lib/rspec/core/configuration.rb +1157 -212
- data/rspec-core/upstream/lib/rspec/core/configuration_options.rb +82 -22
- data/rspec-core/upstream/lib/rspec/core/did_you_mean.rb +46 -0
- data/rspec-core/upstream/lib/rspec/core/drb.rb +10 -1
- data/rspec-core/upstream/lib/rspec/core/dsl.rb +10 -5
- data/rspec-core/upstream/lib/rspec/core/example.rb +271 -107
- data/rspec-core/upstream/lib/rspec/core/example_group.rb +426 -127
- data/rspec-core/upstream/lib/rspec/core/example_status_persister.rb +235 -0
- data/rspec-core/upstream/lib/rspec/core/filter_manager.rb +76 -104
- data/rspec-core/upstream/lib/rspec/core/flat_map.rb +6 -4
- data/rspec-core/upstream/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
- data/rspec-core/upstream/lib/rspec/core/formatters/base_formatter.rb +7 -4
- data/rspec-core/upstream/lib/rspec/core/formatters/base_text_formatter.rb +15 -16
- data/rspec-core/upstream/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
- data/rspec-core/upstream/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
- data/rspec-core/upstream/lib/rspec/core/formatters/console_codes.rb +28 -16
- data/rspec-core/upstream/lib/rspec/core/formatters/deprecation_formatter.rb +14 -13
- data/rspec-core/upstream/lib/rspec/core/formatters/documentation_formatter.rb +47 -13
- data/rspec-core/upstream/lib/rspec/core/formatters/exception_presenter.rb +525 -0
- data/rspec-core/upstream/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
- data/rspec-core/upstream/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
- data/rspec-core/upstream/lib/rspec/core/formatters/helpers.rb +40 -9
- data/rspec-core/upstream/lib/rspec/core/formatters/html_formatter.rb +20 -16
- data/rspec-core/upstream/lib/rspec/core/formatters/html_printer.rb +27 -18
- data/rspec-core/upstream/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
- data/rspec-core/upstream/lib/rspec/core/formatters/json_formatter.rb +15 -7
- data/rspec-core/upstream/lib/rspec/core/formatters/profile_formatter.rb +10 -7
- data/rspec-core/upstream/lib/rspec/core/formatters/progress_formatter.rb +1 -0
- data/rspec-core/upstream/lib/rspec/core/formatters/protocol.rb +62 -43
- data/rspec-core/upstream/lib/rspec/core/formatters/snippet_extractor.rb +115 -85
- data/rspec-core/upstream/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
- data/rspec-core/upstream/lib/rspec/core/formatters.rb +71 -32
- data/rspec-core/upstream/lib/rspec/core/hooks.rb +303 -248
- data/rspec-core/upstream/lib/rspec/core/invocations.rb +87 -0
- data/rspec-core/upstream/lib/rspec/core/memoized_helpers.rb +155 -47
- data/rspec-core/upstream/lib/rspec/core/metadata.rb +102 -41
- data/rspec-core/upstream/lib/rspec/core/metadata_filter.rb +209 -49
- data/rspec-core/upstream/lib/rspec/core/minitest_assertions_adapter.rb +5 -2
- data/rspec-core/upstream/lib/rspec/core/mocking_adapters/flexmock.rb +1 -1
- data/rspec-core/upstream/lib/rspec/core/mocking_adapters/mocha.rb +8 -8
- data/rspec-core/upstream/lib/rspec/core/notifications.rb +180 -201
- data/rspec-core/upstream/lib/rspec/core/option_parser.rb +159 -58
- data/rspec-core/upstream/lib/rspec/core/ordering.rb +40 -26
- data/rspec-core/upstream/lib/rspec/core/output_wrapper.rb +29 -0
- data/rspec-core/upstream/lib/rspec/core/pending.rb +19 -25
- data/rspec-core/upstream/lib/rspec/core/profiler.rb +34 -0
- data/rspec-core/upstream/lib/rspec/core/project_initializer/.rspec +0 -1
- data/rspec-core/upstream/lib/rspec/core/project_initializer/spec/spec_helper.rb +31 -22
- data/rspec-core/upstream/lib/rspec/core/project_initializer.rb +1 -1
- data/rspec-core/upstream/lib/rspec/core/rake_task.rb +73 -72
- data/rspec-core/upstream/lib/rspec/core/reporter.rb +134 -18
- data/rspec-core/upstream/lib/rspec/core/ruby_project.rb +13 -5
- data/rspec-core/upstream/lib/rspec/core/runner.rb +99 -45
- data/rspec-core/upstream/lib/rspec/core/sandbox.rb +37 -0
- data/rspec-core/upstream/lib/rspec/core/set.rb +54 -0
- data/rspec-core/upstream/lib/rspec/core/shared_example_group.rb +126 -37
- data/rspec-core/upstream/lib/rspec/core/shell_escape.rb +49 -0
- data/rspec-core/upstream/lib/rspec/core/test_unit_assertions_adapter.rb +3 -3
- data/rspec-core/upstream/lib/rspec/core/version.rb +1 -1
- data/rspec-core/upstream/lib/rspec/core/warnings.rb +2 -2
- data/rspec-core/upstream/lib/rspec/core/world.rb +164 -60
- data/rspec-core/upstream/lib/rspec/core.rb +64 -21
- data/rspec-core/upstream/maintenance-branch +1 -1
- data/rspec-core/upstream/rspec-core.gemspec +16 -11
- data/rspec-core/upstream/script/ci_functions.sh +73 -0
- data/rspec-core/upstream/script/clone_all_rspec_repos +2 -2
- data/rspec-core/upstream/script/cucumber.sh +8 -0
- data/rspec-core/upstream/script/custom_build_functions.sh +22 -0
- data/rspec-core/upstream/script/functions.sh +125 -89
- data/rspec-core/upstream/script/legacy_setup.sh +20 -0
- data/rspec-core/upstream/script/predicate_functions.sh +162 -0
- data/rspec-core/upstream/script/rspec_with_simplecov +6 -6
- data/rspec-core/upstream/script/run_build +14 -9
- data/rspec-core/upstream/script/run_rubocop +14 -0
- data/rspec-core/upstream/script/update_rubygems_and_install_bundler +20 -0
- data/rspec-expectations/upstream/.document +1 -1
- data/rspec-expectations/upstream/.github/FUNDING.yml +5 -0
- data/rspec-expectations/upstream/.github/workflows/ci.yml +150 -0
- data/rspec-expectations/upstream/.gitignore +2 -0
- data/rspec-expectations/upstream/.rubocop.yml +126 -2
- data/rspec-expectations/upstream/.rubocop_rspec_base.yml +224 -38
- data/rspec-expectations/upstream/.rubocop_todo.yml +335 -0
- data/rspec-expectations/upstream/.yardopts +1 -1
- data/rspec-expectations/upstream/BUILD_DETAIL.md +149 -0
- data/rspec-expectations/upstream/CODE_OF_CONDUCT.md +59 -0
- data/rspec-expectations/upstream/CONTRIBUTING.md +86 -0
- data/rspec-expectations/upstream/Changelog.md +454 -4
- data/rspec-expectations/upstream/DEV-README.md +3 -3
- data/rspec-expectations/upstream/DEVELOPMENT.md +131 -0
- data/rspec-expectations/upstream/Gemfile +77 -9
- data/rspec-expectations/upstream/ISSUE_TEMPLATE.md +24 -0
- data/{rspec-mocks/upstream/License.txt → rspec-expectations/upstream/LICENSE.md} +5 -4
- data/rspec-expectations/upstream/README.md +73 -31
- data/rspec-expectations/upstream/REPORT_TEMPLATE.md +43 -0
- data/rspec-expectations/upstream/Rakefile +13 -10
- data/rspec-expectations/upstream/Should.md +13 -5
- data/rspec-expectations/upstream/benchmarks/2.x_vs_3.x_matcher_dsl_implementation.rb +1 -2
- data/rspec-expectations/upstream/benchmarks/caller_vs_raise_for_backtrace.rb +77 -0
- data/rspec-expectations/upstream/benchmarks/count_vs_select_size.rb +68 -0
- data/rspec-expectations/upstream/benchmarks/default_messages_as_methods_v_blocks.rb +1 -1
- data/rspec-expectations/upstream/benchmarks/gsub_vs_tr_single_character.rb +28 -0
- data/rspec-expectations/upstream/benchmarks/include_matcher.rb +249 -0
- data/rspec-expectations/upstream/benchmarks/include_v_superclass.rb +0 -1
- data/rspec-expectations/upstream/benchmarks/match_array/failing_with_duplicate_items.rb +1 -1
- data/rspec-expectations/upstream/benchmarks/output_stringio_vs_tempfile.rb +31 -0
- data/rspec-expectations/upstream/benchmarks/set_vs_array_include.rb +1 -3
- data/rspec-expectations/upstream/cucumber.yml +9 -4
- data/rspec-expectations/upstream/features/.nav +1 -0
- data/rspec-expectations/upstream/features/aggregating_failures.feature +56 -0
- data/rspec-expectations/upstream/features/built_in_matchers/README.md +3 -3
- data/rspec-expectations/upstream/features/built_in_matchers/all.feature +3 -2
- data/rspec-expectations/upstream/features/built_in_matchers/be_within.feature +1 -1
- data/rspec-expectations/upstream/features/built_in_matchers/change.feature +8 -6
- data/rspec-expectations/upstream/features/built_in_matchers/comparisons.feature +33 -1
- data/rspec-expectations/upstream/features/built_in_matchers/contain_exactly.feature +1 -0
- data/rspec-expectations/upstream/features/built_in_matchers/cover.feature +3 -3
- data/rspec-expectations/upstream/features/built_in_matchers/exist.feature +1 -1
- data/rspec-expectations/upstream/features/built_in_matchers/have_attributes.feature +1 -2
- data/rspec-expectations/upstream/features/built_in_matchers/include.feature +74 -17
- data/rspec-expectations/upstream/features/built_in_matchers/match.feature +2 -2
- data/rspec-expectations/upstream/features/built_in_matchers/output.feature +67 -4
- data/rspec-expectations/upstream/features/built_in_matchers/predicates.feature +56 -19
- data/rspec-expectations/upstream/features/built_in_matchers/raise_error.feature +16 -2
- data/rspec-expectations/upstream/features/built_in_matchers/respond_to.feature +191 -3
- data/rspec-expectations/upstream/features/built_in_matchers/satisfy.feature +17 -8
- data/rspec-expectations/upstream/features/built_in_matchers/throw_symbol.feature +1 -1
- data/rspec-expectations/upstream/features/built_in_matchers/types.feature +34 -34
- data/rspec-expectations/upstream/features/built_in_matchers/yield.feature +2 -2
- data/rspec-expectations/upstream/features/composing_matchers.feature +4 -4
- data/rspec-expectations/upstream/features/custom_matchers/define_block_matcher.feature +78 -0
- data/rspec-expectations/upstream/features/custom_matchers/define_diffable_matcher.feature +115 -3
- data/rspec-expectations/upstream/features/custom_matchers/define_matcher.feature +173 -21
- data/rspec-expectations/upstream/features/custom_matchers/define_matcher_with_fluent_interface.feature +21 -2
- data/rspec-expectations/upstream/features/define_negated_matcher.feature +2 -1
- data/rspec-expectations/upstream/features/diffing.feature +29 -1
- data/rspec-expectations/upstream/features/implicit_docstrings.feature +8 -8
- data/rspec-expectations/upstream/features/step_definitions/additional_cli_steps.rb +11 -7
- data/rspec-expectations/upstream/features/support/diff_lcs_versions.rb +25 -0
- data/rspec-expectations/upstream/features/support/disallow_certain_apis.rb +3 -3
- data/rspec-expectations/upstream/features/support/env.rb +11 -11
- data/rspec-expectations/upstream/features/support/rubinius.rb +1 -1
- data/rspec-expectations/upstream/features/support/ruby_features.rb +39 -0
- data/rspec-expectations/upstream/features/syntax_configuration.feature +9 -9
- data/rspec-expectations/upstream/features/test_frameworks/minitest.feature +69 -2
- data/rspec-expectations/upstream/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
- data/rspec-expectations/upstream/lib/rspec/expectations/configuration.rb +84 -1
- data/rspec-expectations/upstream/lib/rspec/expectations/expectation_target.rb +82 -38
- data/rspec-expectations/upstream/lib/rspec/expectations/fail_with.rb +11 -6
- data/rspec-expectations/upstream/lib/rspec/expectations/failure_aggregator.rb +212 -0
- data/rspec-expectations/upstream/lib/rspec/expectations/handler.rb +27 -12
- data/rspec-expectations/upstream/lib/rspec/expectations/minitest_integration.rb +43 -2
- data/rspec-expectations/upstream/lib/rspec/expectations/syntax.rb +5 -5
- data/rspec-expectations/upstream/lib/rspec/expectations/version.rb +1 -1
- data/rspec-expectations/upstream/lib/rspec/expectations.rb +15 -1
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/all.rb +1 -0
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/base_matcher.rb +77 -11
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be.rb +28 -114
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_between.rb +1 -1
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_instance_of.rb +5 -1
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_kind_of.rb +5 -1
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_within.rb +4 -4
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/change.rb +168 -55
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/compound.rb +61 -29
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/contain_exactly.rb +73 -12
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/eq.rb +3 -38
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/eql.rb +2 -2
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/equal.rb +3 -3
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/exist.rb +7 -3
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/has.rb +90 -24
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/have_attributes.rb +37 -7
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/include.rb +124 -23
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/match.rb +79 -2
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/operators.rb +14 -5
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/output.rb +56 -1
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/raise_error.rb +126 -29
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/respond_to.rb +118 -9
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/satisfy.rb +28 -7
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/{start_and_end_with.rb → start_or_end_with.rb} +20 -8
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/throw_symbol.rb +11 -5
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in/yield.rb +110 -155
- data/rspec-expectations/upstream/lib/rspec/matchers/built_in.rb +4 -3
- data/rspec-expectations/upstream/lib/rspec/matchers/composable.rb +23 -35
- data/rspec-expectations/upstream/lib/rspec/matchers/dsl.rb +179 -26
- data/rspec-expectations/upstream/lib/rspec/matchers/english_phrasing.rb +58 -0
- data/rspec-expectations/upstream/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
- data/rspec-expectations/upstream/lib/rspec/matchers/fail_matchers.rb +42 -0
- data/rspec-expectations/upstream/lib/rspec/matchers/generated_descriptions.rb +1 -2
- data/rspec-expectations/upstream/lib/rspec/matchers/matcher_delegator.rb +2 -0
- data/rspec-expectations/upstream/lib/rspec/matchers/matcher_protocol.rb +72 -66
- data/rspec-expectations/upstream/lib/rspec/matchers.rb +227 -150
- data/rspec-expectations/upstream/maintenance-branch +1 -1
- data/rspec-expectations/upstream/rspec-expectations.gemspec +13 -8
- data/rspec-expectations/upstream/script/ci_functions.sh +73 -0
- data/rspec-expectations/upstream/script/clone_all_rspec_repos +2 -2
- data/rspec-expectations/upstream/script/cucumber.sh +8 -0
- data/rspec-expectations/upstream/script/functions.sh +125 -89
- data/rspec-expectations/upstream/script/legacy_setup.sh +20 -0
- data/rspec-expectations/upstream/script/predicate_functions.sh +162 -0
- data/rspec-expectations/upstream/script/run_build +14 -9
- data/rspec-expectations/upstream/script/run_rubocop +14 -0
- data/rspec-expectations/upstream/script/update_rubygems_and_install_bundler +20 -0
- data/rspec-mocks/upstream/.document +1 -1
- data/rspec-mocks/upstream/.github/FUNDING.yml +5 -0
- data/rspec-mocks/upstream/.github/workflows/ci.yml +150 -0
- data/rspec-mocks/upstream/.gitignore +2 -0
- data/rspec-mocks/upstream/.rubocop.yml +28 -9
- data/rspec-mocks/upstream/.rubocop_rspec_base.yml +224 -38
- data/rspec-mocks/upstream/.rubocop_todo.yml +573 -0
- data/rspec-mocks/upstream/.yardopts +1 -1
- data/rspec-mocks/upstream/BUILD_DETAIL.md +149 -0
- data/rspec-mocks/upstream/CODE_OF_CONDUCT.md +59 -0
- data/rspec-mocks/upstream/CONTRIBUTING.md +86 -0
- data/rspec-mocks/upstream/Changelog.md +398 -3
- data/rspec-mocks/upstream/DEV-README.md +3 -3
- data/rspec-mocks/upstream/DEVELOPMENT.md +131 -0
- data/rspec-mocks/upstream/Gemfile +77 -10
- data/rspec-mocks/upstream/ISSUE_TEMPLATE.md +24 -0
- data/{rspec-expectations/upstream/License.txt → rspec-mocks/upstream/LICENSE.md} +5 -4
- data/rspec-mocks/upstream/README.md +83 -17
- data/rspec-mocks/upstream/REPORT_TEMPLATE.md +43 -0
- data/rspec-mocks/upstream/Rakefile +3 -3
- data/rspec-mocks/upstream/benchmarks/accessing_configuration_via_method_vs_cache.rb +52 -0
- data/rspec-mocks/upstream/benchmarks/allocations/1_object_1000_mocks.rb +76 -0
- data/rspec-mocks/upstream/benchmarks/allocations/helper.rb +17 -0
- data/rspec-mocks/upstream/benchmarks/each_value_v_values_each.rb +4 -5
- data/rspec-mocks/upstream/benchmarks/find_original_method_early.rb +1 -1
- data/rspec-mocks/upstream/benchmarks/method_defined_at_any_visibility.rb +3 -3
- data/rspec-mocks/upstream/benchmarks/thread_safety.rb +1 -1
- data/rspec-mocks/upstream/benchmarks/transfer_nested_constants.rb +1 -1
- data/rspec-mocks/upstream/cucumber.yml +8 -1
- data/rspec-mocks/upstream/features/.nav +2 -0
- data/rspec-mocks/upstream/features/basics/allowing_messages.feature +1 -1
- data/rspec-mocks/upstream/features/basics/expecting_messages.feature +40 -1
- data/rspec-mocks/upstream/features/basics/null_object_doubles.feature +1 -1
- data/rspec-mocks/upstream/features/basics/partial_test_doubles.feature +1 -1
- data/rspec-mocks/upstream/features/basics/scope.feature +5 -5
- data/rspec-mocks/upstream/features/basics/spies.feature +17 -30
- data/rspec-mocks/upstream/features/basics/test_doubles.feature +4 -4
- data/rspec-mocks/upstream/features/configuring_responses/README.md +2 -0
- data/rspec-mocks/upstream/features/configuring_responses/calling_the_original_implementation.feature +2 -2
- data/rspec-mocks/upstream/features/configuring_responses/mixed_responses.feature +25 -0
- data/rspec-mocks/upstream/features/configuring_responses/raising_an_error.feature +1 -0
- data/rspec-mocks/upstream/features/configuring_responses/wrapping_the_original_implementation.feature +3 -3
- data/rspec-mocks/upstream/features/configuring_responses/yielding.feature +2 -2
- data/rspec-mocks/upstream/features/mutating_constants/README.md +1 -1
- data/rspec-mocks/upstream/features/old_syntax/any_instance.feature +3 -3
- data/rspec-mocks/upstream/features/old_syntax/should_receive.feature +3 -1
- data/rspec-mocks/upstream/features/outside_rspec/any_test_framework.feature +116 -0
- data/rspec-mocks/upstream/features/outside_rspec/minitest.feature +202 -46
- data/rspec-mocks/upstream/features/outside_rspec/standalone.feature +5 -5
- data/rspec-mocks/upstream/features/setting_constraints/matching_arguments.feature +54 -27
- data/rspec-mocks/upstream/features/setting_constraints/message_order.feature +2 -2
- data/rspec-mocks/upstream/features/setting_constraints/receive_counts.feature +18 -0
- data/rspec-mocks/upstream/features/step_definitions/additional_cli_steps.rb +4 -4
- data/rspec-mocks/upstream/features/support/disallow_certain_apis.rb +3 -2
- data/rspec-mocks/upstream/features/support/env.rb +12 -12
- data/rspec-mocks/upstream/features/support/rubinius.rb +1 -1
- data/rspec-mocks/upstream/features/verifying_doubles/README.md +2 -2
- data/rspec-mocks/upstream/features/verifying_doubles/class_doubles.feature +1 -1
- data/rspec-mocks/upstream/features/verifying_doubles/dynamic_classes.feature +41 -5
- data/rspec-mocks/upstream/features/verifying_doubles/instance_doubles.feature +5 -3
- data/rspec-mocks/upstream/features/working_with_legacy_code/any_instance.feature +8 -6
- data/rspec-mocks/upstream/features/working_with_legacy_code/message_chains.feature +16 -1
- data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/chain.rb +3 -1
- data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
- data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/expect_chain_chain.rb +1 -5
- data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/expectation_chain.rb +7 -5
- data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/message_chains.rb +1 -3
- data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/recorder.rb +42 -14
- data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/stub_chain.rb +13 -7
- data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/stub_chain_chain.rb +1 -5
- data/rspec-mocks/upstream/lib/rspec/mocks/any_instance.rb +1 -0
- data/rspec-mocks/upstream/lib/rspec/mocks/argument_list_matcher.rb +53 -10
- data/rspec-mocks/upstream/lib/rspec/mocks/argument_matchers.rb +66 -26
- data/rspec-mocks/upstream/lib/rspec/mocks/configuration.rb +59 -4
- data/rspec-mocks/upstream/lib/rspec/mocks/error_generator.rb +235 -108
- data/rspec-mocks/upstream/lib/rspec/mocks/example_methods.rb +82 -27
- data/rspec-mocks/upstream/lib/rspec/mocks/instance_method_stasher.rb +12 -1
- data/rspec-mocks/upstream/lib/rspec/mocks/matchers/have_received.rb +30 -17
- data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive.rb +28 -1
- data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive_message_chain.rb +17 -1
- data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive_messages.rb +6 -0
- data/rspec-mocks/upstream/lib/rspec/mocks/message_chain.rb +0 -4
- data/rspec-mocks/upstream/lib/rspec/mocks/message_expectation.rb +430 -304
- data/rspec-mocks/upstream/lib/rspec/mocks/method_double.rb +46 -15
- data/rspec-mocks/upstream/lib/rspec/mocks/method_reference.rb +78 -19
- data/rspec-mocks/upstream/lib/rspec/mocks/minitest_integration.rb +68 -0
- data/rspec-mocks/upstream/lib/rspec/mocks/mutate_const.rb +23 -8
- data/rspec-mocks/upstream/lib/rspec/mocks/object_reference.rb +81 -23
- data/rspec-mocks/upstream/lib/rspec/mocks/proxy.rb +135 -41
- data/rspec-mocks/upstream/lib/rspec/mocks/space.rb +33 -16
- data/rspec-mocks/upstream/lib/rspec/mocks/standalone.rb +1 -1
- data/rspec-mocks/upstream/lib/rspec/mocks/syntax.rb +18 -22
- data/rspec-mocks/upstream/lib/rspec/mocks/targets.rb +51 -24
- data/rspec-mocks/upstream/lib/rspec/mocks/test_double.rb +42 -6
- data/rspec-mocks/upstream/lib/rspec/mocks/verifying_double.rb +15 -21
- data/rspec-mocks/upstream/lib/rspec/mocks/{verifying_message_expecation.rb → verifying_message_expectation.rb} +11 -18
- data/rspec-mocks/upstream/lib/rspec/mocks/verifying_proxy.rb +60 -11
- data/rspec-mocks/upstream/lib/rspec/mocks/version.rb +1 -1
- data/rspec-mocks/upstream/lib/rspec/mocks.rb +8 -1
- data/rspec-mocks/upstream/maintenance-branch +1 -1
- data/rspec-mocks/upstream/rspec-mocks.gemspec +14 -6
- data/rspec-mocks/upstream/script/ci_functions.sh +73 -0
- data/rspec-mocks/upstream/script/clone_all_rspec_repos +2 -2
- data/rspec-mocks/upstream/script/cucumber.sh +8 -0
- data/rspec-mocks/upstream/script/functions.sh +125 -89
- data/rspec-mocks/upstream/script/legacy_setup.sh +20 -0
- data/rspec-mocks/upstream/script/predicate_functions.sh +162 -0
- data/rspec-mocks/upstream/script/run_build +14 -9
- data/rspec-mocks/upstream/script/run_rubocop +14 -0
- data/rspec-mocks/upstream/script/update_rubygems_and_install_bundler +20 -0
- data/{stubs/diff/lcs/assertions.rb → rspec-mocks/upstream/tmp/.gitkeep} +0 -0
- data/rspec-support/upstream/.github/FUNDING.yml +5 -0
- data/rspec-support/upstream/.github/workflows/ci.yml +150 -0
- data/rspec-support/upstream/.gitignore +4 -0
- data/rspec-support/upstream/.rubocop.yml +33 -1
- data/rspec-support/upstream/.rubocop_rspec_base.yml +224 -38
- data/rspec-support/upstream/.rubocop_todo.yml +424 -0
- data/rspec-support/upstream/BUILD_DETAIL.md +149 -0
- data/rspec-support/upstream/CODE_OF_CONDUCT.md +59 -0
- data/rspec-support/upstream/CONTRIBUTING.md +86 -0
- data/rspec-support/upstream/Changelog.md +287 -0
- data/rspec-support/upstream/DEVELOPMENT.md +131 -0
- data/rspec-support/upstream/Gemfile +52 -4
- data/rspec-support/upstream/ISSUE_TEMPLATE.md +24 -0
- data/rspec-support/upstream/{LICENSE.txt → LICENSE.md} +3 -2
- data/rspec-support/upstream/README.md +29 -6
- data/rspec-support/upstream/REPORT_TEMPLATE.md +43 -0
- data/rspec-support/upstream/Rakefile +9 -5
- data/rspec-support/upstream/benchmarks/caller_vs_caller_locations.rb +19 -0
- data/rspec-support/upstream/benchmarks/caller_vs_caller_locations_vs_raise.rb +153 -0
- data/rspec-support/upstream/benchmarks/class_exec_vs_klass_exec.rb +43 -0
- data/rspec-support/upstream/benchmarks/map_hash.rb +70 -0
- data/rspec-support/upstream/benchmarks/ripper.rb +44 -0
- data/rspec-support/upstream/benchmarks/skip_frames_for_caller_filter.rb +27 -0
- data/rspec-support/upstream/lib/rspec/support/caller_filter.rb +35 -15
- data/rspec-support/upstream/lib/rspec/support/comparable_version.rb +46 -0
- data/rspec-support/upstream/lib/rspec/support/differ.rb +35 -34
- data/rspec-support/upstream/lib/rspec/support/directory_maker.rb +3 -1
- data/rspec-support/upstream/lib/rspec/support/encoded_string.rb +103 -11
- data/rspec-support/upstream/lib/rspec/support/fuzzy_matcher.rb +5 -5
- data/rspec-support/upstream/lib/rspec/support/matcher_definition.rb +11 -0
- data/rspec-support/upstream/lib/rspec/support/method_signature_verifier.rb +192 -26
- data/rspec-support/upstream/lib/rspec/support/mutex.rb +73 -0
- data/rspec-support/upstream/lib/rspec/support/object_formatter.rb +275 -0
- data/rspec-support/upstream/lib/rspec/support/recursive_const_methods.rb +1 -1
- data/rspec-support/upstream/lib/rspec/support/reentrant_mutex.rb +78 -0
- data/rspec-support/upstream/lib/rspec/support/ruby_features.rb +168 -15
- data/rspec-support/upstream/lib/rspec/support/source/location.rb +21 -0
- data/rspec-support/upstream/lib/rspec/support/source/node.rb +110 -0
- data/rspec-support/upstream/lib/rspec/support/source/token.rb +94 -0
- data/rspec-support/upstream/lib/rspec/support/source.rb +85 -0
- data/rspec-support/upstream/lib/rspec/support/spec/deprecation_helpers.rb +17 -29
- data/rspec-support/upstream/lib/rspec/support/spec/diff_helpers.rb +31 -0
- data/rspec-support/upstream/lib/rspec/support/spec/in_sub_process.rb +41 -17
- data/rspec-support/upstream/lib/rspec/support/spec/library_wide_checks.rb +150 -0
- data/rspec-support/upstream/lib/rspec/support/spec/shell_out.rb +39 -3
- data/rspec-support/upstream/lib/rspec/support/spec/stderr_splitter.rb +27 -4
- data/rspec-support/upstream/lib/rspec/support/spec/string_matcher.rb +45 -0
- data/rspec-support/upstream/lib/rspec/support/spec/with_isolated_directory.rb +5 -1
- data/rspec-support/upstream/lib/rspec/support/spec.rb +17 -7
- data/rspec-support/upstream/lib/rspec/support/version.rb +1 -1
- data/rspec-support/upstream/lib/rspec/support/warnings.rb +3 -3
- data/rspec-support/upstream/lib/rspec/support/with_keywords_when_needed.rb +33 -0
- data/rspec-support/upstream/lib/rspec/support.rb +81 -3
- data/rspec-support/upstream/maintenance-branch +1 -1
- data/rspec-support/upstream/rspec-support.gemspec +10 -4
- data/rspec-support/upstream/script/ci_functions.sh +73 -0
- data/rspec-support/upstream/script/clone_all_rspec_repos +2 -2
- data/rspec-support/upstream/script/cucumber.sh +8 -0
- data/rspec-support/upstream/script/functions.sh +125 -89
- data/rspec-support/upstream/script/legacy_setup.sh +20 -0
- data/rspec-support/upstream/script/predicate_functions.sh +162 -0
- data/rspec-support/upstream/script/run_build +14 -9
- data/rspec-support/upstream/script/run_rubocop +14 -0
- data/rspec-support/upstream/script/update_rubygems_and_install_bundler +20 -0
- data/stubs/{diff/lcs/block.rb → coderay.rb} +0 -0
- data/stubs/{diff/lcs/callbacks.rb → drb/acl.rb} +0 -0
- data/stubs/{diff/lcs/change.rb → erb/version.rb} +0 -0
- data/stubs/{diff/lcs/hunk.rb → open3.rb} +0 -0
- data/stubs/{diff/lcs/internals.rb → psych.rb} +0 -0
- data/stubs/{optparse.rb → ripper.rb} +0 -0
- data/stubs/{prettyprint.rb → thread_order.rb} +0 -0
- data/tasks/testing.rake +7 -3
- metadata +270 -61
- data/gemfiles/.bundle/config +0 -2
- data/gemfiles/opal_0.11.gemfile +0 -14
- data/gemfiles/opal_master.gemfile +0 -14
- data/lib-opal/opal/rspec/async/core_ext.rb +0 -23
- data/lib-opal/opal/rspec/async/legacy.rb +0 -49
- data/lib-opal/opal/rspec/fixes/rspec/caller_filter.rb +0 -6
- data/lib-opal/opal/rspec/fixes/rspec/core/example.rb +0 -20
- data/lib-opal/opal/rspec/fixes/rspec/core/formatters/backtrace_formatter.rb +0 -20
- data/lib-opal/opal/rspec/fixes/rspec/core/formatters/console_codes.rb +0 -11
- data/lib-opal/opal/rspec/fixes/rspec/core/formatters/generated_deprecation_message.rb +0 -15
- data/lib-opal/opal/rspec/fixes/rspec/core/formatters/json_formatter.rb +0 -15
- data/lib-opal/opal/rspec/fixes/rspec/core/notifications/failed_example_notification.rb +0 -20
- data/lib-opal/opal/rspec/fixes/rspec/core/notifications/summary_notification.rb +0 -21
- data/lib-opal/opal/rspec/fixes/rspec/core/warnings.rb +0 -27
- data/lib-opal/opal/rspec/fixes/rspec/expectations/fail_with.rb +0 -21
- data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/all.rb +0 -10
- data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/compound.rb +0 -15
- data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/yield.rb +0 -21
- data/lib-opal/opal/rspec/fixes/rspec/matchers/pretty.rb +0 -15
- data/lib-opal/opal/rspec/fixes/rspec/mocks/space.rb +0 -41
- data/lib-opal/opal/rspec/fixes/rspec/mocks/test_double.rb +0 -39
- data/lib-opal/opal/rspec/fixes/rspec/mocks/verifying_double.rb +0 -29
- data/lib-opal/opal/rspec/fixes/rspec/support/recursive_const_methods.rb +0 -7
- data/lib-opal/opal/rspec/fixes/rspec/support/spec/stderr_splitter.rb +0 -13
- data/lib-opal/opal/rspec/fixes/rspec/support/spec.rb +0 -1
- data/lib-opal/opal/rspec/fixes/rspec/support/warnings.rb +0 -16
- data/rspec/upstream/License.txt +0 -24
- data/rspec-core/upstream/.travis.yml +0 -35
- data/rspec-core/upstream/benchmarks/sort_by_v_shuffle.rb +0 -83
- data/rspec-core/upstream/features/Upgrade.md +0 -352
- data/rspec-core/upstream/lib/rspec/core/backport_random.rb +0 -336
- data/rspec-expectations/upstream/.travis.yml +0 -35
- data/rspec-expectations/upstream/lib/rspec/matchers/pretty.rb +0 -77
- data/rspec-mocks/upstream/.travis.yml +0 -35
- data/rspec-support/upstream/.travis.yml +0 -35
- data/rspec-support/upstream/lib/rspec/support/os.rb +0 -18
- data/rspec-support/upstream/lib/rspec/support/spec/prevent_load_time_warnings.rb +0 -44
- data/rspec-support/upstream/lib/rspec/support/version_checker.rb +0 -53
- data/stubs/shellwords.rb +0 -0
- data/stubs/uri.rb +0 -0
- data/vendor/spec_runner.js +0 -64
|
@@ -1,3 +1,453 @@
|
|
|
1
|
+
### Development
|
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.0...main)
|
|
3
|
+
|
|
4
|
+
### 3.12.0 / 2022-10-26
|
|
5
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.11.1...v3.12.0)
|
|
6
|
+
|
|
7
|
+
Enhancements:
|
|
8
|
+
|
|
9
|
+
* Add `an_array_matching` alias for `match_array` to improve readability as an argument
|
|
10
|
+
matcher. (Mark Schneider, #1361)
|
|
11
|
+
|
|
12
|
+
### 3.11.1 / 2022-09-12
|
|
13
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.11.0...v3.11.1)
|
|
14
|
+
|
|
15
|
+
Bug Fixes:
|
|
16
|
+
|
|
17
|
+
* Allow the `contain_exactly` matcher to be reused by resetting its
|
|
18
|
+
internals on `matches?` (@bclayman-sq, #1326)
|
|
19
|
+
* Using the exist matcher on `FileTest` no longer produces a deprecation warning.
|
|
20
|
+
(Ryo Nakamura, #1383)
|
|
21
|
+
|
|
22
|
+
### 3.11.0 / 2022-02-09
|
|
23
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.2...v3.11.0)
|
|
24
|
+
|
|
25
|
+
Enhancements:
|
|
26
|
+
|
|
27
|
+
* Return `true` from `aggregate_failures` when no exception occurs. (Jon Rowe, #1225)
|
|
28
|
+
|
|
29
|
+
Deprecations:
|
|
30
|
+
|
|
31
|
+
* Print a deprecation message when using the implicit block expectation syntax.
|
|
32
|
+
(Phil Pirozhkov, #1139)
|
|
33
|
+
|
|
34
|
+
### 3.10.2 / 2022-01-14
|
|
35
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.1...v3.10.2)
|
|
36
|
+
|
|
37
|
+
Bug Fixes:
|
|
38
|
+
|
|
39
|
+
* Fix support for dynamic matchers for expectation target checks (Phil Pirozhkov, #1294)
|
|
40
|
+
* Fix `expect(array).to include(hash).times`, previously this would fail due to
|
|
41
|
+
matching the entire array as a single hash, rather than a member of the hash.
|
|
42
|
+
(Slava Kardakov, #1322)
|
|
43
|
+
* Ensure `raise_error` matches works with the `error_highlight` option from Ruby 3.1.
|
|
44
|
+
(Peter Goldstein, #1339)
|
|
45
|
+
|
|
46
|
+
### 3.10.1 / 2020-12-27
|
|
47
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.0...v3.10.1)
|
|
48
|
+
|
|
49
|
+
Bug Fixes:
|
|
50
|
+
|
|
51
|
+
* Allow JRuby 9.2.x.x to generate backtraces normally rather than via our
|
|
52
|
+
backfill workaround. (#1230, Jon Rowe)
|
|
53
|
+
|
|
54
|
+
### 3.10.0 / 2020-10-30
|
|
55
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.10.0)
|
|
56
|
+
|
|
57
|
+
Enhancements:
|
|
58
|
+
|
|
59
|
+
* Allow `include` matcher to be chained with `once`, `at_least`, etc. for simple cases.
|
|
60
|
+
(Marc-André Lafortune, #1168)
|
|
61
|
+
* Add an explicit warning when `nil` is passed to `raise_error`. (Phil Pirozhkov, #1143)
|
|
62
|
+
* Improve `include` matcher's composability. (Phil Pirozhkov, #1155)
|
|
63
|
+
* Mocks expectations can now set a custom failure message.
|
|
64
|
+
(Benoit Tigeot and Nicolas Zermati, #1156)
|
|
65
|
+
* `aggregate_failures` now shows the backtrace line for each failure. (Fabricio Bedin, #1163)
|
|
66
|
+
* Support multiple combinations of `yield_control` modifiers like `at_least`, `at_most`.
|
|
67
|
+
(Jon Rowe, #1169)
|
|
68
|
+
* Dynamic `have_<n>` matchers now have output consistent with other dynamic matchers.
|
|
69
|
+
(Marc-André Lafortune, #1195)
|
|
70
|
+
* New config option `strict_predicate_matchers` allows predicate matcher to be strict
|
|
71
|
+
(i.e. match for `true` or `false`) instead of the default (match truthy vs `false` or `nil`).
|
|
72
|
+
(Marc-André Lafortune, #1196)
|
|
73
|
+
|
|
74
|
+
### 3.9.4 / 2020-10-29
|
|
75
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.9.4)
|
|
76
|
+
|
|
77
|
+
Bug Fixes:
|
|
78
|
+
|
|
79
|
+
* Fix regression with `be_` and `have_` matchers and arguments implementing `to_hash`
|
|
80
|
+
were they would act like keywords and be cast to a hash. (Jon Rowe, #1222)
|
|
81
|
+
|
|
82
|
+
### 3.9.3 / 2020-10-23
|
|
83
|
+
|
|
84
|
+
Bug Fixes:
|
|
85
|
+
|
|
86
|
+
* Swap the comparison of the delta vs the expected for the `be_within` matcher allowing
|
|
87
|
+
more complicated oobjects to be compared providing they provide `abs` and other
|
|
88
|
+
comparison methods. (Kelly Stannard, #1182)
|
|
89
|
+
* Properly format expected in the description of the `be_within` matcher. (Jon Rowe, #1185)
|
|
90
|
+
* Remove warning when using keyword arguments with `be_` and `have_` matchers on 2.7.x
|
|
91
|
+
(Jon Rowe, #1187)
|
|
92
|
+
* Prevent formatting a single hash as a list of key value pairs in default failure messages
|
|
93
|
+
for custom matches (fixes formatting in `EnglishPhrasing#list`). (Robert Eshleman, #1193)
|
|
94
|
+
* Prevent errors from causing false positives when using `be <operator>` comparison, e.g.
|
|
95
|
+
`expect(1).not_to be < 'a'` will now correctly fail rather than pass. (Jon Rowe, #1208)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### 3.9.2 / 2020-05-08
|
|
99
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.1...v3.9.2)
|
|
100
|
+
|
|
101
|
+
Bug Fixes:
|
|
102
|
+
|
|
103
|
+
* Issue a proper `ArgumentError` when invalid arguments are given to `yield_control`
|
|
104
|
+
modifiers such as `at_least` et al. (Marc-André Lafortune, #1167)
|
|
105
|
+
* Prevent Ruby 2.7 keyword arguments warning from being issued by custom
|
|
106
|
+
matcher definitions. (Jon Rowe, #1176)
|
|
107
|
+
|
|
108
|
+
### 3.9.1 / 2020-03-13
|
|
109
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.0...v3.9.1)
|
|
110
|
+
|
|
111
|
+
Bug Fixes:
|
|
112
|
+
|
|
113
|
+
* Issue an improved warning when using `respond_to(...).with(n).arguments` and ignore
|
|
114
|
+
the warning when using with `have_attributes(...)`. (Jon Rowe, #1164)
|
|
115
|
+
|
|
116
|
+
### 3.9.0 / 2019-10-08
|
|
117
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.6...v3.9.0)
|
|
118
|
+
|
|
119
|
+
Enhancements:
|
|
120
|
+
|
|
121
|
+
* The `respond_to` matcher now uses the signature from `initialize` to validate checks
|
|
122
|
+
for `new` (unless `new` is non standard). (Jon Rowe, #1072)
|
|
123
|
+
* Generated descriptions for matchers now use `is expected to` rather than `should` in
|
|
124
|
+
line with our preferred DSL. (Pete Johns, #1080, rspec/rspec-core#2572)
|
|
125
|
+
* Add the ability to re-raise expectation errors when matching
|
|
126
|
+
with `match_when_negated` blocks. (Jon Rowe, #1130)
|
|
127
|
+
* Add a warning when an empty diff is produce due to identical inspect output.
|
|
128
|
+
(Benoit Tigeot, #1126)
|
|
129
|
+
|
|
130
|
+
### 3.8.6 / 2019-10-07
|
|
131
|
+
|
|
132
|
+
Bug Fixes:
|
|
133
|
+
|
|
134
|
+
* Revert #1125 due to the change being incompatible with our semantic versioning
|
|
135
|
+
policy.
|
|
136
|
+
|
|
137
|
+
### 3.8.5 / 2019-10-02
|
|
138
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.4...v3.8.5)
|
|
139
|
+
|
|
140
|
+
Bug Fixes:
|
|
141
|
+
|
|
142
|
+
* Prevent unsupported implicit block expectation syntax from being used.
|
|
143
|
+
(Phil Pirozhkov, #1125)
|
|
144
|
+
|
|
145
|
+
### 3.8.4 / 2019-06-10
|
|
146
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.3...v3.8.4)
|
|
147
|
+
|
|
148
|
+
Bug Fixes:
|
|
149
|
+
|
|
150
|
+
* Prevent false negatives when checking objects for the methods required to run the
|
|
151
|
+
the `be_an_instance_of` and `be_kind_of` matchers. (Nazar Matus, #1112)
|
|
152
|
+
|
|
153
|
+
### 3.8.3 / 2019-04-20
|
|
154
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.2...v3.8.3)
|
|
155
|
+
|
|
156
|
+
Bug Fixes:
|
|
157
|
+
|
|
158
|
+
* Prevent composed `all` matchers from leaking into their siblings leading to duplicate
|
|
159
|
+
failures. (Jamie English, #1086)
|
|
160
|
+
* Prevent objects which change their hash on comparison from failing change checks.
|
|
161
|
+
(Phil Pirozhkov, #1100)
|
|
162
|
+
* Issue an `ArgumentError` rather than a `NoMethodError` when `be_an_instance_of` and
|
|
163
|
+
`be_kind_of` matchers encounter objects not supporting those methods.
|
|
164
|
+
(Taichi Ishitani, #1107)
|
|
165
|
+
|
|
166
|
+
### 3.8.2 / 2018-10-09
|
|
167
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.1...v3.8.2)
|
|
168
|
+
|
|
169
|
+
Bug Fixes:
|
|
170
|
+
|
|
171
|
+
* Change `include` matcher to rely on a `respond_to?(:include?)` check rather than a direct
|
|
172
|
+
Hash comparison before calling `to_hash` to convert to a hash. (Jordan Owens, #1073)
|
|
173
|
+
* Prevent unexpected call stack jumps from causing an obscure error (`IndexError`), and
|
|
174
|
+
replace that error with a proper informative message. (Jon Rowe, #1076)
|
|
175
|
+
|
|
176
|
+
### 3.8.1 / 2018-08-06
|
|
177
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.0...v3.8.1)
|
|
178
|
+
|
|
179
|
+
Bug Fixes:
|
|
180
|
+
|
|
181
|
+
* Fix regression in `include` matcher so stopped
|
|
182
|
+
`expect(hash.with_indifferent_access).to include(:symbol_key)`
|
|
183
|
+
from working. (Eito Katagiri, #1069)
|
|
184
|
+
|
|
185
|
+
### 3.8.0 / 2018-08-04
|
|
186
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.7.0...v3.8.0)
|
|
187
|
+
|
|
188
|
+
Enhancements:
|
|
189
|
+
|
|
190
|
+
* Improve failure message of `change(receiver, :message)` by including the
|
|
191
|
+
receiver as `SomeClass#some_message`. (Tomohiro Hashidate, #1005)
|
|
192
|
+
* Improve `change` matcher so that it can correctly detect changes in
|
|
193
|
+
deeply nested mutable objects (such as arrays-of-hashes-of-arrays).
|
|
194
|
+
The improved logic uses the before/after `hash` value to see if the
|
|
195
|
+
object has been mutated, rather than shallow duping the object.
|
|
196
|
+
(Myron Marston, #1034)
|
|
197
|
+
* Improve `include` matcher so that pseudo-hash objects (e.g. objects
|
|
198
|
+
that decorate a hash using a `SimpleDelegator` or similar) are treated
|
|
199
|
+
as a hash, as long as they implement `to_hash`. (Pablo Brasero, #1012)
|
|
200
|
+
* Add `max_formatted_output_length=` to configuration, allowing changing
|
|
201
|
+
the length at which we truncate large output strings.
|
|
202
|
+
(Sam Phippen #951, Benoit Tigeot #1056)
|
|
203
|
+
* Improve error message when passing a matcher that doesn't support block
|
|
204
|
+
expectations to a block based `expect`. (@nicktime, #1066)
|
|
205
|
+
|
|
206
|
+
### 3.7.0 / 2017-10-17
|
|
207
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0...v3.7.0)
|
|
208
|
+
|
|
209
|
+
Enhancements:
|
|
210
|
+
|
|
211
|
+
* Improve compatibility with `--enable-frozen-string-literal` option
|
|
212
|
+
on Ruby 2.3+. (Pat Allan, #997)
|
|
213
|
+
|
|
214
|
+
### 3.6.0 / 2017-05-04
|
|
215
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta2...v3.6.0)
|
|
216
|
+
|
|
217
|
+
Enhancements:
|
|
218
|
+
|
|
219
|
+
* Treat NoMethodError as a failure for comparison matchers. (Jon Rowe, #972)
|
|
220
|
+
* Allow for scoped aliased and negated matchers--just call
|
|
221
|
+
`alias_matcher` or `define_negated_matcher` from within an example
|
|
222
|
+
group. (Markus Reiter, #974)
|
|
223
|
+
* Improve failure message of `change` matcher with block and `satisfy` matcher
|
|
224
|
+
by including the block snippet instead of just describing it as `result` or
|
|
225
|
+
`block` when Ripper is available. (Yuji Nakayama, #987)
|
|
226
|
+
|
|
227
|
+
Bug Fixes:
|
|
228
|
+
|
|
229
|
+
* Fix `yield_with_args` and `yield_successive_args` matchers so that
|
|
230
|
+
they compare expected to actual args at the time the args are yielded
|
|
231
|
+
instead of at the end, in case the method that is yielding mutates the
|
|
232
|
+
arguments after yielding. (Alyssa Ross, #965)
|
|
233
|
+
|
|
234
|
+
### 3.6.0.beta2 / 2016-12-12
|
|
235
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta1...v3.6.0.beta2)
|
|
236
|
+
|
|
237
|
+
Bug Fixes:
|
|
238
|
+
|
|
239
|
+
* Using the exist matcher on `File` no longer produces a deprecation warning.
|
|
240
|
+
(Jon Rowe, #954)
|
|
241
|
+
|
|
242
|
+
### 3.6.0.beta1 / 2016-10-09
|
|
243
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0...v3.6.0.beta1)
|
|
244
|
+
|
|
245
|
+
Bug Fixes:
|
|
246
|
+
|
|
247
|
+
* Fix `contain_exactly` to work correctly with ranges. (Myron Marston, #940)
|
|
248
|
+
* Fix `change` to work correctly with sets. (Marcin Gajewski, #939)
|
|
249
|
+
|
|
250
|
+
### 3.5.0 / 2016-07-01
|
|
251
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta4...v3.5.0)
|
|
252
|
+
|
|
253
|
+
Enhancements:
|
|
254
|
+
|
|
255
|
+
* Add support for keyword arguments to the `respond_to` matcher. (Rob Smith, #915).
|
|
256
|
+
|
|
257
|
+
### 3.5.0.beta4 / 2016-06-05
|
|
258
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta3...v3.5.0.beta4)
|
|
259
|
+
|
|
260
|
+
Bug Fixes:
|
|
261
|
+
|
|
262
|
+
* Fix `include` matcher so that it provides a valid diff for hashes. (Yuji Nakayama, #916)
|
|
263
|
+
|
|
264
|
+
### 3.5.0.beta3 / 2016-04-02
|
|
265
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta2...v3.5.0.beta3)
|
|
266
|
+
|
|
267
|
+
Enhancements:
|
|
268
|
+
|
|
269
|
+
* Make `rspec/expectations/minitest_integration` work on Minitest::Spec
|
|
270
|
+
5.6+. (Myron Marston, #904)
|
|
271
|
+
* Add an alias `having_attributes` for `have_attributes` matcher.
|
|
272
|
+
(Yuji Nakayama, #905)
|
|
273
|
+
* Improve `change` matcher error message when block is mis-used.
|
|
274
|
+
(Alex Altair, #908)
|
|
275
|
+
|
|
276
|
+
### 3.5.0.beta2 / 2016-03-10
|
|
277
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta1...v3.5.0.beta2)
|
|
278
|
+
|
|
279
|
+
Enhancements:
|
|
280
|
+
|
|
281
|
+
* Add the ability to raise an error on encountering false positives via
|
|
282
|
+
`RSpec::Configuration#on_potential_false_positives = :raise`. (Jon Rowe, #900)
|
|
283
|
+
* When using the custom matcher DSL, support new
|
|
284
|
+
`notify_expectation_failures: true` option for the `match` method to
|
|
285
|
+
allow expectation failures to be raised as normal instead of being
|
|
286
|
+
converted into a `false` return value for `matches?`. (Jon Rowe, #892)
|
|
287
|
+
|
|
288
|
+
Bug Fixes:
|
|
289
|
+
|
|
290
|
+
* Allow `should` deprecation check to work on `BasicObject`s. (James Coleman, #898)
|
|
291
|
+
|
|
292
|
+
### 3.5.0.beta1 / 2016-02-06
|
|
293
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.4.0...v3.5.0.beta1)
|
|
294
|
+
|
|
295
|
+
Enhancements:
|
|
296
|
+
|
|
297
|
+
* Make `match_when_negated` in custom matcher DSL support use of
|
|
298
|
+
expectations within the match logic. (Chris Arcand, #789)
|
|
299
|
+
|
|
300
|
+
Bug Fixes:
|
|
301
|
+
|
|
302
|
+
* Return `true` as expected from passing negated expectations
|
|
303
|
+
(such as `expect("foo").not_to eq "bar"`), so they work
|
|
304
|
+
properly when used within a `match` or `match_when_negated`
|
|
305
|
+
block. (Chris Arcand, #789)
|
|
306
|
+
|
|
307
|
+
### 3.4.0 / 2015-11-11
|
|
308
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.1...v3.4.0)
|
|
309
|
+
|
|
310
|
+
Enhancements:
|
|
311
|
+
|
|
312
|
+
* Warn when `RSpec::Matchers` is included in a superclass after it has
|
|
313
|
+
already been included in a subclass on MRI 1.9, since that situation
|
|
314
|
+
can cause uses of `super` to trigger infinite recursion. (Myron Marston, #816)
|
|
315
|
+
* Stop rescuing `NoMemoryError`, `SignalExcepetion`, `Interrupt` and
|
|
316
|
+
`SystemExit`. It is dangerous to interfere with these. (Myron Marston, #845)
|
|
317
|
+
* Add `#with_captures` to the
|
|
318
|
+
[match matcher](https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers/match-matcher)
|
|
319
|
+
which allows a user to specify expected captures when matching a regex
|
|
320
|
+
against a string. (Sam Phippen, #848)
|
|
321
|
+
* Always print compound failure messages in the multi-line form. Trying
|
|
322
|
+
to print it all on a single line didn't read very well. (Myron Marston, #859)
|
|
323
|
+
|
|
324
|
+
Bug Fixes:
|
|
325
|
+
|
|
326
|
+
* Fix failure message from dynamic predicate matchers when the object
|
|
327
|
+
does not respond to the predicate so that it is inspected rather
|
|
328
|
+
than relying upon its `to_s` -- that way for `nil`, `"nil"` is
|
|
329
|
+
printed rather than an empty string. (Myron Marston, #841)
|
|
330
|
+
* Fix SystemStackError raised when diffing an Enumerable object
|
|
331
|
+
whose `#each` includes the object itself. (Yuji Nakayama, #857)
|
|
332
|
+
|
|
333
|
+
### 3.3.1 / 2015-07-15
|
|
334
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.0...v3.3.1)
|
|
335
|
+
|
|
336
|
+
Bug Fixes:
|
|
337
|
+
|
|
338
|
+
* Fix `be >`, `be <`, etc so that it fails rather than allowing an
|
|
339
|
+
argument error to be raised when compared against an object of the
|
|
340
|
+
wrong type. This allows it to be used in composed matcher expressions
|
|
341
|
+
against heterogeneous objects. (Dennis Günnewig, #809)
|
|
342
|
+
* Fix `respond_to` to work properly on target objects
|
|
343
|
+
that redefine the `method` method. (unmanbearpig, #821)
|
|
344
|
+
|
|
345
|
+
### 3.3.0 / 2015-06-12
|
|
346
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.1...v3.3.0)
|
|
347
|
+
|
|
348
|
+
Enhancements:
|
|
349
|
+
|
|
350
|
+
* Expose `RSpec::Matchers::EnglishPhrasing` to make it easier to write
|
|
351
|
+
nice failure messages in custom matchers. (Jared Beck, #736)
|
|
352
|
+
* Add `RSpec::Matchers::FailMatchers`, a mixin which provides
|
|
353
|
+
`fail`, `fail_with` and `fail_including` matchers for use in
|
|
354
|
+
specifying that an expectation fails for use by
|
|
355
|
+
extension/plugin authors. (Charlie Rudolph, #729)
|
|
356
|
+
* Avoid loading `tempfile` (and its dependencies) unless
|
|
357
|
+
it is absolutely needed. (Myron Marston, #735)
|
|
358
|
+
* Improve failure output when attempting to use `be_true` or `be_false`.
|
|
359
|
+
(Tim Wade, #744)
|
|
360
|
+
* Define `RSpec::Matchers#respond_to_missing?` so that
|
|
361
|
+
`RSpec::Matchers#respond_to?` and `RSpec::Matchers#method` handle
|
|
362
|
+
dynamic predicate matchers. (Andrei Botalov, #751)
|
|
363
|
+
* Use custom Time/DateTime/BigDecimal formatting for all matchers
|
|
364
|
+
so they are consistently represented in failure messages.
|
|
365
|
+
(Gavin Miller, #740)
|
|
366
|
+
* Add configuration to turn off warnings about matcher combinations that
|
|
367
|
+
may cause false positives. (Jon Rowe, #768)
|
|
368
|
+
* Warn when using a bare `raise_error` matcher that you may be subject to
|
|
369
|
+
false positives. (Jon Rowe, #768)
|
|
370
|
+
* Warn rather than raise when using the`raise_error` matcher in negative
|
|
371
|
+
expectations that may be subject to false positives. (Jon Rowe, #775)
|
|
372
|
+
* Improve failure message for `include(a, b, c)` so that if `a` and `b`
|
|
373
|
+
are included the failure message only mentions `c`. (Chris Arcand, #780)
|
|
374
|
+
* Allow `satisfy` matcher to take an optional description argument
|
|
375
|
+
that will be used in the `description`, `failure_message` and
|
|
376
|
+
`failure_message_when_negated` in place of the undescriptive
|
|
377
|
+
"sastify block". (Chris Arcand, #783)
|
|
378
|
+
* Add new `aggregate_failures` API that allows multiple independent
|
|
379
|
+
expectations to all fail and be listed in the failure output, rather
|
|
380
|
+
than the example aborting on the first failure. (Myron Marston, #776)
|
|
381
|
+
* Improve `raise_error` matcher so that it can accept a matcher as a single argument
|
|
382
|
+
that matches the message. (Time Wade, #782)
|
|
383
|
+
|
|
384
|
+
Bug Fixes:
|
|
385
|
+
|
|
386
|
+
* Make `contain_exactly` / `match_array` work with strict test doubles
|
|
387
|
+
that have not defined `<=>`. (Myron Marston, #758)
|
|
388
|
+
* Fix `include` matcher so that it omits the diff when it would
|
|
389
|
+
confusingly highlight items that are actually included but are not
|
|
390
|
+
an exact match in a line-by-line diff. (Tim Wade, #763)
|
|
391
|
+
* Fix `match` matcher so that it does not blow up when matching a string
|
|
392
|
+
or regex against another matcher (rather than a string or regex).
|
|
393
|
+
(Myron Marston, #772)
|
|
394
|
+
* Silence whitespace-only diffs. (Myron Marston, #801)
|
|
395
|
+
|
|
396
|
+
### 3.2.1 / 2015-04-06
|
|
397
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.0...v3.2.1)
|
|
398
|
+
|
|
399
|
+
Bug Fixes:
|
|
400
|
+
|
|
401
|
+
* Prevent `Range`s from being enumerated when generating matcher
|
|
402
|
+
descriptions. (Jon Rowe, #755)
|
|
403
|
+
* Ensure exception messages are compared as strings in the `raise_error`
|
|
404
|
+
matcher. (Jon Rowe, #755)
|
|
405
|
+
|
|
406
|
+
### 3.2.0 / 2015-02-03
|
|
407
|
+
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.2...v3.2.0)
|
|
408
|
+
|
|
409
|
+
Enhancements:
|
|
410
|
+
|
|
411
|
+
* Add `block_arg` method to custom matcher API, which allows you to
|
|
412
|
+
access the block passed to a custom matcher, if there is one.
|
|
413
|
+
(Mike Dalton, #645)
|
|
414
|
+
* Provide more detail in failure message of `yield_control` matcher.
|
|
415
|
+
(Jon Rowe, #650)
|
|
416
|
+
* Add a shorthand syntax for `chain` in the matcher DSL which assigns values
|
|
417
|
+
for use elsewhere, for example `chain :and_smaller_than, :small_value`
|
|
418
|
+
creates an `attr_reader` for `small_value` (Tom Stuart, #644)
|
|
419
|
+
* Provide a more helpful deprecation message when using the `should` syntax.
|
|
420
|
+
(Elia Schito, #663)
|
|
421
|
+
* Provide more detail in the `have_attributes` matcher failure message.
|
|
422
|
+
(Jon Rowe, #668)
|
|
423
|
+
* Make the `have_attributes` matcher diffable.
|
|
424
|
+
(Jon Rowe, Alexey Fedorov, #668)
|
|
425
|
+
* Add `output(...).to_std(out|err)_from_any_process` as alternatives
|
|
426
|
+
to `output(...).to_std(out|err)`. The latter doesn't work when a sub
|
|
427
|
+
process writes to the named stream but is much faster.
|
|
428
|
+
(Alex Genco, #700)
|
|
429
|
+
* Improve compound matchers (created by `and` and `or`) so that diffs
|
|
430
|
+
are included in failures when one or more of their matchers
|
|
431
|
+
are diffable. (Alexey Fedorov, #713)
|
|
432
|
+
|
|
433
|
+
Bug Fixes:
|
|
434
|
+
|
|
435
|
+
* Avoid calling `private_methods` from the `be` predicate matcher on
|
|
436
|
+
the target object if the object publicly responds to the predicate
|
|
437
|
+
method. This avoids a possible error that can occur if the object
|
|
438
|
+
raises errors from `private_methods` (which can happen with celluloid
|
|
439
|
+
objects). (@chapmajs, #670)
|
|
440
|
+
* Make `yield_control` (with no modifier) default to
|
|
441
|
+
`at_least(:once)` rather than raising a confusing error
|
|
442
|
+
when multiple yields are encountered.
|
|
443
|
+
(Myron Marston, #675)
|
|
444
|
+
* Fix "instance variable @color not initialized" warning when using
|
|
445
|
+
rspec-expectations outside of an rspec-core context. (Myron Marston, #689)
|
|
446
|
+
* Fix `start_with` and `end_with` to work properly when checking a
|
|
447
|
+
string against an array of strings. (Myron Marston, #690)
|
|
448
|
+
* Don't use internally delegated matchers when generating descriptions
|
|
449
|
+
for examples without doc strings. (Myron Marston, #692)
|
|
450
|
+
|
|
1
451
|
### 3.1.2 / 2014-09-26
|
|
2
452
|
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.1...v3.1.2)
|
|
3
453
|
|
|
@@ -266,7 +716,7 @@ Breaking Changes for 3.0.0:
|
|
|
266
716
|
(Sam Phippen)
|
|
267
717
|
* Remove the deprecated `have`, `have_at_least` and `have_at_most` matchers.
|
|
268
718
|
You can continue using those matchers through https://github.com/rspec/rspec-collection_matchers,
|
|
269
|
-
or you can rewrite your expectations with something like
|
|
719
|
+
or you can rewrite your expectations with something like
|
|
270
720
|
`expect(your_object.size).to eq(num)`. (Hugo Baraúna)
|
|
271
721
|
* Rename `be_true` and `be_false` to `be_truthy` and `be_falsey`. (Sam Phippen)
|
|
272
722
|
* Make `expect { }.to_not raise_error(SomeSpecificClass, message)`,
|
|
@@ -387,9 +837,9 @@ Deprecations:
|
|
|
387
837
|
Deprecations
|
|
388
838
|
|
|
389
839
|
* Deprecate `have`, `have_at_least` and `have_at_most`. You can continue using those
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
840
|
+
matchers through https://github.com/rspec/rspec-collection_matchers, or
|
|
841
|
+
you can rewrite your expectations with something like
|
|
842
|
+
`expect(your_object.size).to eq(num)`. (Hugo Baraúna)
|
|
393
843
|
* Deprecate `be_xyz` predicate matcher when `xyz?` is a private method.
|
|
394
844
|
(Jon Rowe)
|
|
395
845
|
* Deprecate `be_true`/`be_false` in favour of `be_truthy`/`be_falsey`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
## Set up the dev environment
|
|
2
2
|
|
|
3
|
-
git clone
|
|
3
|
+
git clone https://github.com/rspec/rspec-expectations.git
|
|
4
4
|
cd rspec-expectations
|
|
5
5
|
gem install bundler
|
|
6
6
|
bundle install
|
|
@@ -20,9 +20,9 @@ Or ...
|
|
|
20
20
|
bundle install --binstubs
|
|
21
21
|
bin/rspec
|
|
22
22
|
|
|
23
|
-
## Customize the dev
|
|
23
|
+
## Customize the dev environment
|
|
24
24
|
|
|
25
25
|
The Gemfile includes the gems you'll need to be able to run specs. If you want
|
|
26
|
-
to customize your dev
|
|
26
|
+
to customize your dev environment with additional tools like guard or
|
|
27
27
|
ruby-debug, add any additional gem declarations to Gemfile-custom (see
|
|
28
28
|
Gemfile-custom.sample for some examples).
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
<!---
|
|
2
|
+
This file was generated on 2020-12-25T18:48:30+00:00 from the rspec-dev repo.
|
|
3
|
+
DO NOT modify it by hand as your changes will get lost the next time it is generated.
|
|
4
|
+
-->
|
|
5
|
+
|
|
6
|
+
# Development Setup
|
|
7
|
+
|
|
8
|
+
Generally speaking, you only need to clone the project and install
|
|
9
|
+
the dependencies with [Bundler](https://bundler.io/). You can either
|
|
10
|
+
get a full RSpec development environment using
|
|
11
|
+
[rspec-dev](https://github.com/rspec/rspec-dev#README) or you can
|
|
12
|
+
set this project up individually.
|
|
13
|
+
|
|
14
|
+
## Setting up rspec-expectations individually
|
|
15
|
+
|
|
16
|
+
For most contributors, setting up the project individually will be simpler.
|
|
17
|
+
Unless you have a specific reason to use rspec-dev, we recommend using this approach.
|
|
18
|
+
|
|
19
|
+
Clone the repo:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
$ git clone git@github.com:rspec/rspec-expectations.git
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Install the dependencies using [Bundler](https://bundler.io/):
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
$ cd rspec-expectations
|
|
29
|
+
$ bundle install
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
To minimize boot time and to ensure we don't depend upon any extra dependencies
|
|
33
|
+
loaded by Bundler, our CI builds avoid loading Bundler at runtime
|
|
34
|
+
by using Bundler's [`--standalone option`](https://myronmars.to/n/dev-blog/2012/03/faster-test-boot-times-with-bundler-standalone).
|
|
35
|
+
While not strictly necessary (many/most of our contributors do not do this!),
|
|
36
|
+
if you want to exactly reproduce our CI builds you'll want to do the same:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
$ bundle install --standalone --binstubs
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
The `--binstubs` option creates the `bin/rspec` file that, like `bundle exec rspec`, will load
|
|
43
|
+
all the versions specified in `Gemfile.lock` without loading bundler at runtime!
|
|
44
|
+
|
|
45
|
+
## Using rspec-dev
|
|
46
|
+
|
|
47
|
+
See the [rspec-dev README](https://github.com/rspec/rspec-dev#README)
|
|
48
|
+
for setup instructions.
|
|
49
|
+
|
|
50
|
+
The rspec-dev project contains many rake tasks for helping manage
|
|
51
|
+
an RSpec development environment, making it easy to do things like:
|
|
52
|
+
|
|
53
|
+
* Change branches across all repos
|
|
54
|
+
* Update all repos with the latest code from `main`
|
|
55
|
+
* Cut a new release across all repos
|
|
56
|
+
* Push out updated build scripts to all repos
|
|
57
|
+
|
|
58
|
+
These sorts of tasks are essential for the RSpec maintainers but will
|
|
59
|
+
probably be unnecessary complexity if you're just contributing to one
|
|
60
|
+
repository. If you are getting setup to make your first contribution,
|
|
61
|
+
we recommend you take the simpler route of setting up rspec-expectations
|
|
62
|
+
individually.
|
|
63
|
+
|
|
64
|
+
## Gotcha: Version mismatch from sibling repos
|
|
65
|
+
|
|
66
|
+
The [Gemfile](Gemfile) is designed to be flexible and support using
|
|
67
|
+
the other RSpec repositories either from a local sibling directory
|
|
68
|
+
(e.g. `../rspec-<subproject>`) or, if there is no such directory,
|
|
69
|
+
directly from git. This generally does the "right thing", but can
|
|
70
|
+
be a gotcha in some situations. For example, if you are setting up
|
|
71
|
+
`rspec-core`, and you happen to have an old clone of `rspec-expectations`
|
|
72
|
+
in a sibling directory, it'll be used even though it might be months or
|
|
73
|
+
years out of date, which can cause confusing failures.
|
|
74
|
+
|
|
75
|
+
To avoid this problem, you can either `export USE_GIT_REPOS=1` to force
|
|
76
|
+
the use of `:git` dependencies instead of local dependencies, or update
|
|
77
|
+
the code in the sibling directory. rspec-dev contains rake tasks to
|
|
78
|
+
help you keep all repos in sync.
|
|
79
|
+
|
|
80
|
+
## Extra Gems
|
|
81
|
+
|
|
82
|
+
If you need additional gems for any tasks---such as `benchmark-ips` for benchmarking
|
|
83
|
+
or `byebug` for debugging---you can create a `Gemfile-custom` file containing those
|
|
84
|
+
gem declarations. The `Gemfile` evaluates that file if it exists, and it is git-ignored.
|
|
85
|
+
|
|
86
|
+
# Running the build
|
|
87
|
+
|
|
88
|
+
The [Travis CI build](https://travis-ci.org/rspec/rspec-expectations)
|
|
89
|
+
runs many verification steps to prevent regressions and
|
|
90
|
+
ensure high-quality code. To run the Travis build locally, run:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
$ script/run_build
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
See [build detail](BUILD_DETAIL.md) for more detail.
|
|
97
|
+
|
|
98
|
+
# What to Expect
|
|
99
|
+
|
|
100
|
+
To ensure high, uniform code quality, all code changes (including
|
|
101
|
+
changes from the maintainers!) are subject to a pull request code
|
|
102
|
+
review. We'll often ask for clarification or suggest alternate ways
|
|
103
|
+
to do things. Our code reviews are intended to be a two-way
|
|
104
|
+
conversation.
|
|
105
|
+
|
|
106
|
+
Here's a short, non-exhaustive checklist of things we typically ask contributors to do before PRs are ready to merge. It can help get your PR merged faster if you do these in advance!
|
|
107
|
+
|
|
108
|
+
- [ ] New behavior is covered by tests and all tests are passing.
|
|
109
|
+
- [ ] No Ruby warnings are issued by your changes.
|
|
110
|
+
- [ ] Documentation reflects changes and renders as intended.
|
|
111
|
+
- [ ] RuboCop passes (e.g. `bundle exec rubocop lib`).
|
|
112
|
+
- [ ] Commits are squashed into a reasonable number of logical changesets that tell an easy-to-follow story.
|
|
113
|
+
- [ ] No changelog entry is necessary (we'll add it as part of the merge process!)
|
|
114
|
+
|
|
115
|
+
# Adding Docs
|
|
116
|
+
|
|
117
|
+
RSpec uses [YARD](https://yardoc.org/) for its API documentation. To
|
|
118
|
+
ensure the docs render well, we recommend running a YARD server and
|
|
119
|
+
viewing your edits in a browser.
|
|
120
|
+
|
|
121
|
+
To run a YARD server:
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
$ bundle exec yard server --reload
|
|
125
|
+
|
|
126
|
+
# or, if you installed your bundle with `--standalone --binstubs`:
|
|
127
|
+
|
|
128
|
+
$ bin/yard server --reload
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Then navigate to `localhost:8808` to view the rendered docs.
|