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
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<!---
|
|
2
|
+
This file was generated on 2020-12-25T18:48:31+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
|
+
# Contributing
|
|
7
|
+
|
|
8
|
+
RSpec is a community-driven project that has benefited from improvements from over *500* contributors.
|
|
9
|
+
We welcome contributions from *everyone*. While contributing, please follow the project [code of conduct](CODE_OF_CONDUCT.md), so that everyone can be included.
|
|
10
|
+
|
|
11
|
+
If you'd like to help make RSpec better, here are some ways you can contribute:
|
|
12
|
+
|
|
13
|
+
- by running RSpec HEAD to help us catch bugs before new releases
|
|
14
|
+
- by [reporting bugs you encounter](https://github.com/rspec/rspec-support/issues/new) with [report template](#report-template)
|
|
15
|
+
- by [suggesting new features](https://github.com/rspec/rspec-support/issues/new)
|
|
16
|
+
- by improving RSpec's [Relish](https://relishapp.com/rspec) or [API](https://rspec.info/documentation/) documentation
|
|
17
|
+
- by improving [RSpec's website](https://rspec.info/) ([source](https://github.com/rspec/rspec.github.io))
|
|
18
|
+
- by taking part in [feature and issue discussions](https://github.com/rspec/rspec-support/issues)
|
|
19
|
+
- by adding a failing test for reproducible [reported bugs](https://github.com/rspec/rspec-support/issues)
|
|
20
|
+
- by reviewing [pull requests](https://github.com/rspec/rspec-support/pulls) and suggesting improvements
|
|
21
|
+
- by [writing code](DEVELOPMENT.md) (no patch is too small! fix typos or bad whitespace)
|
|
22
|
+
|
|
23
|
+
If you need help getting started, check out the [DEVELOPMENT](DEVELOPMENT.md) file for steps that will get you up and running.
|
|
24
|
+
|
|
25
|
+
Thanks for helping us make RSpec better!
|
|
26
|
+
|
|
27
|
+
## `Small` issues
|
|
28
|
+
|
|
29
|
+
These issue are ones that we be believe are best suited for new contributors to
|
|
30
|
+
get started with. They represent a meaningful contribution to the project that
|
|
31
|
+
should not be too hard to pull off.
|
|
32
|
+
|
|
33
|
+
## Report template
|
|
34
|
+
|
|
35
|
+
Having a way to reproduce your issue will be very helpful for others to help confirm,
|
|
36
|
+
investigate and ultimately fix your issue. You can do this by providing an executable
|
|
37
|
+
test case. To make this process easier, we have prepared one basic
|
|
38
|
+
[bug report templates](REPORT_TEMPLATE.md) for you to use as a starting point.
|
|
39
|
+
|
|
40
|
+
## Maintenance branches
|
|
41
|
+
|
|
42
|
+
Maintenance branches are how we manage the different supported point releases
|
|
43
|
+
of RSpec. As such, while they might look like good candidates to merge into
|
|
44
|
+
main, please do not open pull requests to merge them.
|
|
45
|
+
|
|
46
|
+
## Working on multiple RSpec gems at the same time
|
|
47
|
+
|
|
48
|
+
RSpec is composed of multiple gems (`rspec-core`, `rspec-mocks`, etc). Sometimes you have
|
|
49
|
+
to work on a combination of them at the same time. When submitting your code for review,
|
|
50
|
+
we ask that you get a passing build (green CI). If you are working across the repositories,
|
|
51
|
+
please add a commit that temporarily pins your PR to the right branch of the other repository
|
|
52
|
+
you depend on. For example, if we wanted a change in `rspec-expectations` that relied on a
|
|
53
|
+
change for on `rspec-mocks`. We add a commit with the title:
|
|
54
|
+
|
|
55
|
+
>[WIP] Use rspec-mocks with "custom-failure-message" branch
|
|
56
|
+
|
|
57
|
+
And content:
|
|
58
|
+
|
|
59
|
+
```diff
|
|
60
|
+
diff --git a/Gemfile b/Gemfile
|
|
61
|
+
|
|
62
|
+
-%w[rspec rspec-core rspec-mocks rspec-support].each do |lib|
|
|
63
|
+
+%w[rspec rspec-core rspec-support].each do |lib|
|
|
64
|
+
library_path = File.expand_path("../../#{lib}", __FILE__)
|
|
65
|
+
if File.exist?(library_path) && !ENV['USE_GIT_REPOS']
|
|
66
|
+
gem lib, :path => library_path
|
|
67
|
+
@@ -11,6 +11,7 @@ branch = File.read(File.expand_path("../maintenance-branch", __FILE__)).chomp
|
|
68
|
+
gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => branch
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
+gem 'rspec-mocks', :git => "https://github.com/rspec/rspec-mocks.git", :branch => "custom-failure-message"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
In general the process is:
|
|
75
|
+
1. Create PRs explaining what you are trying to achieve.
|
|
76
|
+
2. Pin the repositories to each other.
|
|
77
|
+
3. Check they pass (go green).
|
|
78
|
+
4. Await review if appropriate.
|
|
79
|
+
5. Remove the commit from step 2. We will merge ignoring the failure.
|
|
80
|
+
6. Remove the commit from the other, check it passes with the other commit now on `main`.
|
|
81
|
+
7. Merge the other.
|
|
82
|
+
8. We will trigger builds for the `main` branch of affected repositories to check if everything is in order.
|
|
83
|
+
|
|
84
|
+
Steps 5-8 should happen continuously (e.g. one after another but within a short timespan)
|
|
85
|
+
so that we don't leave a broken main around. It is important to triage that build process
|
|
86
|
+
and revert if necessary.
|
|
@@ -1,3 +1,290 @@
|
|
|
1
|
+
### Development
|
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.12.0...main)
|
|
3
|
+
|
|
4
|
+
### 3.12.0 / 2022-10-26
|
|
5
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.11.1...v3.12.0)
|
|
6
|
+
Enhancements:
|
|
7
|
+
|
|
8
|
+
* Add `RSpec::Support::RubyFeatures.distincts_kw_args_from_positional_hash?`
|
|
9
|
+
(Jean byroot Boussier, #535)
|
|
10
|
+
|
|
11
|
+
### 3.11.1 / 2022-09-12
|
|
12
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.11.0...v3.11.1)
|
|
13
|
+
|
|
14
|
+
Bug Fixes:
|
|
15
|
+
|
|
16
|
+
* Fix ripper detection on TruffleRuby. (Brandon Fish, #541)
|
|
17
|
+
|
|
18
|
+
### 3.11.0 / 2022-02-09
|
|
19
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.3...v3.11.0)
|
|
20
|
+
|
|
21
|
+
No changes. Released to support other RSpec releases.
|
|
22
|
+
|
|
23
|
+
### 3.10.3 / 2021-11-03
|
|
24
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.2...v3.10.3)
|
|
25
|
+
|
|
26
|
+
Bug Fixes:
|
|
27
|
+
|
|
28
|
+
* Use `Mutex#owned?` to allow `RSpec::Support::ReentrantMutex` to work in
|
|
29
|
+
nested Fibers on Ruby 3.0 and later. (Benoit Daloze, #503, #504)
|
|
30
|
+
* Support `end`-less methods in `RSpec::Support::Source::Token`
|
|
31
|
+
so that RSpec won't hang when an `end`-less method raises an error. (Yuji Nakayama, #505)
|
|
32
|
+
|
|
33
|
+
### 3.10.2 / 2021-01-28
|
|
34
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.1...v3.10.2)
|
|
35
|
+
|
|
36
|
+
Bug Fixes:
|
|
37
|
+
|
|
38
|
+
* Fix issue with `RSpec::Support.define_optimized_require_for_rspec` on JRuby
|
|
39
|
+
9.1.17.0 (Jon Rowe, #492)
|
|
40
|
+
|
|
41
|
+
### 3.10.1 / 2020-12-27
|
|
42
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.0...v3.10.1)
|
|
43
|
+
|
|
44
|
+
Bug Fixes:
|
|
45
|
+
|
|
46
|
+
* Fix deprecation expectations to fail correctly when
|
|
47
|
+
asserting on messages. (Phil Pirozhkov, #453)
|
|
48
|
+
|
|
49
|
+
### 3.10.0 / 2020-10-30
|
|
50
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.4...v3.10.0)
|
|
51
|
+
|
|
52
|
+
No changes. Released to support other RSpec releases.
|
|
53
|
+
|
|
54
|
+
### 3.9.4 / 2020-10-23
|
|
55
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.3...v3.9.4)
|
|
56
|
+
|
|
57
|
+
Bug Fixes:
|
|
58
|
+
|
|
59
|
+
* Flag ripper as supported on Truffle Ruby. (Brandon Fish, #427)
|
|
60
|
+
* Prevent stubbing `File.read` from breaking source extraction.
|
|
61
|
+
(Jon Rowe, #431)
|
|
62
|
+
|
|
63
|
+
### 3.9.3 / 2020-05-02
|
|
64
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.2...v3.9.3)
|
|
65
|
+
|
|
66
|
+
Bug Fixes:
|
|
67
|
+
|
|
68
|
+
* Mark ripper as unsupported on Truffle Ruby. (Brandon Fish, #395)
|
|
69
|
+
* Mark ripper as unsupported on JRuby 9.2.0.0. (Brian Hawley, #400)
|
|
70
|
+
* Capture `Mutex.new` for our `RSpec::Support:Mutex` in order to
|
|
71
|
+
allow stubbing `Mutex.new`. (Jon Rowe, #411)
|
|
72
|
+
|
|
73
|
+
### 3.9.2 / 2019-12-30
|
|
74
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.1...v3.9.2)
|
|
75
|
+
|
|
76
|
+
Bug Fixes:
|
|
77
|
+
|
|
78
|
+
* Remove unneeded eval. (Matijs van Zuijlen, #394)
|
|
79
|
+
|
|
80
|
+
### 3.9.1 / 2019-12-28
|
|
81
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.0...v3.9.1)
|
|
82
|
+
|
|
83
|
+
Bug Fixes:
|
|
84
|
+
|
|
85
|
+
* Remove warning caused by keyword arguments on Ruby 2.7.0.
|
|
86
|
+
(Jon Rowe, #392)
|
|
87
|
+
|
|
88
|
+
### 3.9.0 / 2019-10-07
|
|
89
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.3...v3.9.0)
|
|
90
|
+
|
|
91
|
+
*NO CHANGES*
|
|
92
|
+
|
|
93
|
+
Version 3.9.0 was released to allow other RSpec gems to release 3.9.0.
|
|
94
|
+
|
|
95
|
+
### 3.8.3 / 2019-10-02
|
|
96
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.2...v3.8.3)
|
|
97
|
+
|
|
98
|
+
Bug Fixes:
|
|
99
|
+
|
|
100
|
+
* Escape \r when outputting strings inside arrays.
|
|
101
|
+
(Tomita Masahiro, Jon Rowe, #378)
|
|
102
|
+
* Ensure that optional hash arguments are recognised correctly vs keyword
|
|
103
|
+
arguments. (Evgeni Dzhelyov, #366)
|
|
104
|
+
|
|
105
|
+
### 3.8.2 / 2019-06-10
|
|
106
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.1...v3.8.2)
|
|
107
|
+
|
|
108
|
+
Bug Fixes:
|
|
109
|
+
|
|
110
|
+
* Ensure that an empty hash is recognised as empty keyword arguments when
|
|
111
|
+
applicable. (Thomas Walpole, #375)
|
|
112
|
+
* Ensure that diffing truthy values produce diffs consistently.
|
|
113
|
+
(Lucas Nestor, #377)
|
|
114
|
+
|
|
115
|
+
### 3.8.1 / 2019-03-03
|
|
116
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.0...v3.8.1)
|
|
117
|
+
|
|
118
|
+
Bug Fixes:
|
|
119
|
+
|
|
120
|
+
* Ensure that inspecting a `SimpleDelegator` based object works regardless of
|
|
121
|
+
visibilty of the `__getobj__` method. (Jon Rowe, #369)
|
|
122
|
+
|
|
123
|
+
### 3.8.0 / 2018-08-04
|
|
124
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.7.1...v3.8.0)
|
|
125
|
+
|
|
126
|
+
Bug Fixes:
|
|
127
|
+
|
|
128
|
+
* Order hash keys before diffing to improve diff accuracy when using mocked calls.
|
|
129
|
+
(James Crisp, #334)
|
|
130
|
+
|
|
131
|
+
### 3.7.1 / 2018-01-29
|
|
132
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.7.0...v3.7.1)
|
|
133
|
+
|
|
134
|
+
Bug Fixes:
|
|
135
|
+
|
|
136
|
+
* Fix source extraction logic so that it does not trigger a `SystemStackError`
|
|
137
|
+
when processing deeply nested example groups. (Craig Bass, #343)
|
|
138
|
+
|
|
139
|
+
### 3.7.0 / 2017-10-17
|
|
140
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0...v3.7.0)
|
|
141
|
+
|
|
142
|
+
Enhancements:
|
|
143
|
+
|
|
144
|
+
* Improve compatibility with `--enable-frozen-string-literal` option
|
|
145
|
+
on Ruby 2.3+. (Pat Allan, #320)
|
|
146
|
+
* Add `Support.class_of` for extracting class of any object.
|
|
147
|
+
(Yuji Nakayama, #325)
|
|
148
|
+
|
|
149
|
+
Bug Fixes:
|
|
150
|
+
|
|
151
|
+
* Fix recursive const support to not blow up when given buggy classes
|
|
152
|
+
that raise odd errors from `#to_str`. (Myron Marston, #317)
|
|
153
|
+
|
|
154
|
+
### 3.6.0 / 2017-05-04
|
|
155
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0.beta2...3.6.0)
|
|
156
|
+
|
|
157
|
+
Enhancements:
|
|
158
|
+
|
|
159
|
+
* Import `Source` classes from rspec-core. (Yuji Nakayama, #315)
|
|
160
|
+
|
|
161
|
+
### 3.6.0.beta2 / 2016-12-12
|
|
162
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0.beta1...v3.6.0.beta2)
|
|
163
|
+
|
|
164
|
+
No user-facing changes.
|
|
165
|
+
|
|
166
|
+
### 3.6.0.beta1 / 2016-10-09
|
|
167
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0...v3.6.0.beta1)
|
|
168
|
+
|
|
169
|
+
Bug Fixes:
|
|
170
|
+
|
|
171
|
+
* Prevent truncated formatted object output from mangling console codes. (#294, Anson Kelly)
|
|
172
|
+
|
|
173
|
+
### 3.5.0 / 2016-07-01
|
|
174
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta4...v3.5.0)
|
|
175
|
+
|
|
176
|
+
**No user facing changes since beta4**
|
|
177
|
+
|
|
178
|
+
### 3.5.0.beta4 / 2016-06-05
|
|
179
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta3...v3.5.0.beta4)
|
|
180
|
+
|
|
181
|
+
Enhancements:
|
|
182
|
+
* Improve `MethodSignature` to better support keyword arguments. (#250, Rob Smith).
|
|
183
|
+
|
|
184
|
+
### 3.5.0.beta3 / 2016-04-02
|
|
185
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta2...v3.5.0.beta3)
|
|
186
|
+
|
|
187
|
+
Bug Fixes:
|
|
188
|
+
|
|
189
|
+
* Fix `EncodedString` to properly handle the behavior of `String#split`
|
|
190
|
+
on JRuby when the string contains invalid bytes. (Jon Rowe, #268)
|
|
191
|
+
* Fix `ObjectFormatter` so that formatting objects that don't respond to
|
|
192
|
+
`#inspect` (such as `BasicObject`) does not cause `NoMethodError`.
|
|
193
|
+
(Yuji Nakayama, #269)
|
|
194
|
+
* Fix `ObjectFormatter` so that formatting recursive array or hash does not
|
|
195
|
+
cause `SystemStackError`. (Yuji Nakayama, #270, #272)
|
|
196
|
+
|
|
197
|
+
### 3.5.0.beta2 / 2016-03-10
|
|
198
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta1...v3.5.0.beta2)
|
|
199
|
+
|
|
200
|
+
No user-facing changes.
|
|
201
|
+
|
|
202
|
+
### 3.5.0.beta1 / 2016-02-06
|
|
203
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.4.1...v3.5.0.beta1)
|
|
204
|
+
|
|
205
|
+
Enhancements:
|
|
206
|
+
|
|
207
|
+
* Improve formatting of objects by allowing truncation to a pre-configured length.
|
|
208
|
+
(Liam M, #256)
|
|
209
|
+
|
|
210
|
+
### 3.4.1 / 2015-11-20
|
|
211
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.4.0...v3.4.1)
|
|
212
|
+
|
|
213
|
+
Bug Fixes:
|
|
214
|
+
|
|
215
|
+
* Fix `RSpec::Support::RubyFeature.ripper_supported?` so it returns
|
|
216
|
+
`false` on Rubinius since the Rubinius team has no plans to support
|
|
217
|
+
it. This prevents rspec-core from trying to load and use ripper to
|
|
218
|
+
extract failure snippets. (Aaron Stone, #251)
|
|
219
|
+
|
|
220
|
+
Changes:
|
|
221
|
+
|
|
222
|
+
* Remove `VersionChecker` in favor of `ComparableVersion`. (Yuji Nakayama, #266)
|
|
223
|
+
|
|
224
|
+
### 3.4.0 / 2015-11-11
|
|
225
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.3.0...v3.4.0)
|
|
226
|
+
|
|
227
|
+
Enhancements:
|
|
228
|
+
|
|
229
|
+
* Improve formatting of `Delegator` based objects (e.g. `SimpleDelgator`) in
|
|
230
|
+
failure messages and diffs. (Andrew Horner, #215)
|
|
231
|
+
* Add `ComparableVersion`. (Yuji Nakayama, #245)
|
|
232
|
+
* Add `Ripper` support detection. (Yuji Nakayama, #245)
|
|
233
|
+
|
|
234
|
+
Bug Fixes:
|
|
235
|
+
|
|
236
|
+
* Work around bug in JRuby that reports that `attr_writer` methods
|
|
237
|
+
have no parameters, causing RSpec's verifying doubles to wrongly
|
|
238
|
+
fail when mocking or stubbing a writer method on JRuby. (Myron Marston, #225)
|
|
239
|
+
|
|
240
|
+
### 3.3.0 / 2015-06-12
|
|
241
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.2...v3.3.0)
|
|
242
|
+
|
|
243
|
+
Enhancements:
|
|
244
|
+
|
|
245
|
+
* Improve formatting of arrays and hashes in failure messages so they
|
|
246
|
+
use our custom formatting of matchers, time objects, etc.
|
|
247
|
+
(Myron Marston, Nicholas Chmielewski, #205)
|
|
248
|
+
* Use improved formatting for diffs as well. (Nicholas Chmielewski, #205)
|
|
249
|
+
|
|
250
|
+
Bug Fixes:
|
|
251
|
+
|
|
252
|
+
* Fix `FuzzyMatcher` so that it checks `expected == actual` rather than
|
|
253
|
+
`actual == expected`, which avoids errors in situations where the
|
|
254
|
+
`actual` object's `==` is improperly implemented to assume that only
|
|
255
|
+
objects of the same type will be given. This allows rspec-mocks'
|
|
256
|
+
`anything` to match against objects with buggy `==` definitions.
|
|
257
|
+
(Myron Marston, #193)
|
|
258
|
+
|
|
259
|
+
### 3.2.2 / 2015-02-23
|
|
260
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.1...v3.2.2)
|
|
261
|
+
|
|
262
|
+
Bug Fixes:
|
|
263
|
+
|
|
264
|
+
* Fix an encoding issue with `EncodedString#split` when encountering an
|
|
265
|
+
invalid byte string. (Benjamin Fleischer, #1760)
|
|
266
|
+
|
|
267
|
+
### 3.2.1 / 2015-02-04
|
|
268
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.0...v3.2.1)
|
|
269
|
+
|
|
270
|
+
Bug Fixes:
|
|
271
|
+
|
|
272
|
+
* Fix `RSpec::CallerFilter` to work on Rubinius 2.2.
|
|
273
|
+
(Myron Marston, #169)
|
|
274
|
+
|
|
275
|
+
### 3.2.0 / 2015-02-03
|
|
276
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.1.2...v3.2.0)
|
|
277
|
+
|
|
278
|
+
Enhancements:
|
|
279
|
+
|
|
280
|
+
* Add extra Ruby type detection. (Jon Rowe, #133)
|
|
281
|
+
* Make differ instance re-usable. (Alexey Fedorov, #160)
|
|
282
|
+
|
|
283
|
+
Bug Fixes:
|
|
284
|
+
|
|
285
|
+
* Do not consider `[]` and `{}` to match when performing fuzzy matching.
|
|
286
|
+
(Myron Marston, #157)
|
|
287
|
+
|
|
1
288
|
### 3.1.2 / 2014-10-08
|
|
2
289
|
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.1.1...v3.1.2)
|
|
3
290
|
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
<!---
|
|
2
|
+
This file was generated on 2020-12-25T18:48:31+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-support 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-support.git
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Install the dependencies using [Bundler](https://bundler.io/):
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
$ cd rspec-support
|
|
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-support
|
|
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-support)
|
|
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.
|
|
@@ -9,13 +9,61 @@ branch = File.read(File.expand_path("../maintenance-branch", __FILE__)).chomp
|
|
|
9
9
|
if File.exist?(library_path) && !ENV['USE_GIT_REPOS']
|
|
10
10
|
gem lib, :path => library_path
|
|
11
11
|
else
|
|
12
|
-
gem lib, :git => "
|
|
12
|
+
gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => branch
|
|
13
13
|
end
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
gem '
|
|
16
|
+
if RUBY_VERSION < '1.9.3'
|
|
17
|
+
gem 'rake', '< 11.0.0' # rake 11 requires Ruby 1.9.3 or later
|
|
18
|
+
elsif RUBY_VERSION < '2.0.0'
|
|
19
|
+
gem 'rake', '< 12.0.0' # rake 12 requires Ruby 2.0.0 or later
|
|
20
|
+
else
|
|
21
|
+
gem 'rake', '>= 12.3.3'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
if ENV['DIFF_LCS_VERSION']
|
|
25
|
+
gem 'diff-lcs', ENV['DIFF_LCS_VERSION']
|
|
26
|
+
else
|
|
27
|
+
gem 'diff-lcs', '~> 1.4', '>= 1.4.3'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
if RUBY_VERSION < '2.3.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
|
|
31
|
+
gem "childprocess", "< 1.0.0"
|
|
32
|
+
elsif RUBY_VERSION < '2.0.0'
|
|
33
|
+
gem "childprocess", "< 1.0.0"
|
|
34
|
+
elsif RUBY_VERSION < '2.3.0'
|
|
35
|
+
gem "childprocess", "< 3.0.0"
|
|
36
|
+
else
|
|
37
|
+
gem "childprocess", ">= 3.0.0"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
group :coverage do
|
|
41
|
+
### dep for ci/coverage
|
|
42
|
+
gem 'simplecov', '~> 0.8'
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
if RUBY_VERSION < '2.0.0' || RUBY_ENGINE == 'java'
|
|
46
|
+
gem 'json', '< 2.0.0' # is a dependency of simplecov
|
|
47
|
+
else
|
|
48
|
+
gem 'json', '> 2.3.0'
|
|
49
|
+
end
|
|
18
50
|
|
|
19
|
-
|
|
51
|
+
if RUBY_VERSION < '2.2.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
|
|
52
|
+
gem 'ffi', '< 1.10'
|
|
53
|
+
elsif RUBY_VERSION < '2.4.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
|
|
54
|
+
gem 'ffi', '< 1.15'
|
|
55
|
+
elsif RUBY_VERSION < '2.0'
|
|
56
|
+
# ffi dropped Ruby 1.8 support in 1.9.19 and Ruby 1.9 support in 1.11.0
|
|
57
|
+
gem 'ffi', '< 1.9.19'
|
|
58
|
+
elsif RUBY_VERSION < '2.3.0'
|
|
59
|
+
gem 'ffi', '~> 1.12.0'
|
|
60
|
+
else
|
|
61
|
+
gem 'ffi', '~> 1.13.0'
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# No need to run rubocop on earlier versions
|
|
65
|
+
if RUBY_VERSION >= '2.4' && RUBY_ENGINE == 'ruby'
|
|
66
|
+
gem 'rubocop', "~> 1.0", "< 1.12"
|
|
67
|
+
end
|
|
20
68
|
|
|
21
69
|
eval File.read('Gemfile-custom') if File.exist?('Gemfile-custom')
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
### Subject of the issue
|
|
2
|
+
<!---
|
|
3
|
+
Describe your issue here.
|
|
4
|
+
-->
|
|
5
|
+
|
|
6
|
+
### Your environment
|
|
7
|
+
* Ruby version:
|
|
8
|
+
* rspec-support version:
|
|
9
|
+
|
|
10
|
+
### Steps to reproduce
|
|
11
|
+
<!---
|
|
12
|
+
Tell us how to reproduce this issue. Please provide a working demo, you can use
|
|
13
|
+
this [templates](REPORT_TEMPLATE.md) as a base.
|
|
14
|
+
-->
|
|
15
|
+
|
|
16
|
+
### Expected behavior
|
|
17
|
+
<!---
|
|
18
|
+
Tell us what should happen.
|
|
19
|
+
-->
|
|
20
|
+
|
|
21
|
+
### Actual behavior
|
|
22
|
+
<!---
|
|
23
|
+
Tell us what happens instead.
|
|
24
|
+
-->
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
====================
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
* Copyright © 2013 David Chelimsky, Myron Marston, Jon Rowe, Sam Phippen, Xavier Shay, Bradley Schaefer
|
|
4
5
|
|
|
5
6
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
7
|
a copy of this software and associated documentation files (the
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# RSpec::Support
|
|
1
|
+
# RSpec::Support [](https://github.com/rspec/rspec-support/actions)
|
|
2
2
|
|
|
3
3
|
`RSpec::Support` provides common functionality to `RSpec::Core`,
|
|
4
4
|
`RSpec::Expectations` and `RSpec::Mocks`. It is considered
|
|
@@ -8,10 +8,33 @@ suitable for internal use only at this time.
|
|
|
8
8
|
|
|
9
9
|
Install one or more of the `RSpec` gems.
|
|
10
10
|
|
|
11
|
+
Want to run against the `main` branch? You'll need to include the dependent
|
|
12
|
+
RSpec repos as well. Add the following to your `Gemfile`:
|
|
13
|
+
|
|
14
|
+
```ruby
|
|
15
|
+
%w[rspec-core rspec-expectations rspec-mocks rspec-support].each do |lib|
|
|
16
|
+
gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => 'main'
|
|
17
|
+
end
|
|
18
|
+
```
|
|
19
|
+
|
|
11
20
|
## Contributing
|
|
12
21
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
22
|
+
Once you've set up the environment, you'll need to cd into the working
|
|
23
|
+
directory of whichever repo you want to work in. From there you can run the
|
|
24
|
+
specs and cucumber features, and make patches.
|
|
25
|
+
|
|
26
|
+
NOTE: You do not need to use rspec-dev to work on a specific RSpec repo. You
|
|
27
|
+
can treat each RSpec repo as an independent project.
|
|
28
|
+
|
|
29
|
+
- [Build details](BUILD_DETAIL.md)
|
|
30
|
+
- [Code of Conduct](CODE_OF_CONDUCT.md)
|
|
31
|
+
- [Detailed contributing guide](CONTRIBUTING.md)
|
|
32
|
+
- [Development setup guide](DEVELOPMENT.md)
|
|
33
|
+
|
|
34
|
+
## Patches
|
|
35
|
+
|
|
36
|
+
Please submit a pull request or a github issue. If you submit an issue, please
|
|
37
|
+
include a link to either of:
|
|
38
|
+
|
|
39
|
+
* a gist (or equivalent) of the patch
|
|
40
|
+
* a branch or commit in your github fork of the repo
|