opal-rspec 0.8.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/build.yml +7 -7
- data/.gitmodules +6 -0
- data/CHANGELOG.md +18 -0
- 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/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 -2
- 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 -75
- 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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c68bbe588e9f4799786a07239f9b09201d9ff8852eba3d0427d475d2c7d26eb4
|
|
4
|
+
data.tar.gz: f879318367b656f9da5068088a05093d02aa0ff30271b4886983e1f007e310ff
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 151736466857ed69765cac6061530352e9c43a37323a0c2cc5b75acffbddf2f4cccffe5dcd6d48e6ef1aa8ac88962fe2be6f38e283758adb5a76562823faec42
|
|
7
|
+
data.tar.gz: b68d39d4ac974ccfa7893995e117329ffeaaf56e0f3999e8a39648a8d03e24e46f1bcd927df537618fba69348ccad9e576f0fae3864f95fe0a68c1e646f0133d
|
data/.github/workflows/build.yml
CHANGED
|
@@ -5,7 +5,7 @@ on:
|
|
|
5
5
|
branches:
|
|
6
6
|
- master
|
|
7
7
|
- "*-stable"
|
|
8
|
-
- "
|
|
8
|
+
- "*/ci-check"
|
|
9
9
|
pull_request:
|
|
10
10
|
branches:
|
|
11
11
|
- master
|
|
@@ -15,8 +15,8 @@ jobs:
|
|
|
15
15
|
strategy:
|
|
16
16
|
matrix:
|
|
17
17
|
os: [ 'ubuntu-latest' ]
|
|
18
|
-
ruby: [
|
|
19
|
-
opal: [ 1.
|
|
18
|
+
ruby: [ ruby-head, 3.1, "3.0", 2.7 ]
|
|
19
|
+
opal: [ master, 1.6.alpha1 ]
|
|
20
20
|
|
|
21
21
|
runs-on: ${{ matrix.os }}
|
|
22
22
|
|
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
ruby-version: ${{ matrix.ruby }}
|
|
31
31
|
- name: Setup project
|
|
32
32
|
run: bin/setup
|
|
33
|
-
- name: Run test
|
|
34
|
-
run:
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
- name: Run opal-rspec test
|
|
34
|
+
run: "bundle exec exe/opal-rspec spec-opal-passing"
|
|
35
|
+
- name: Run rspec test
|
|
36
|
+
run: bundle exec rspec
|
data/.gitmodules
CHANGED
|
@@ -13,3 +13,9 @@
|
|
|
13
13
|
[submodule "rspec-expectations"]
|
|
14
14
|
path = rspec-expectations/upstream
|
|
15
15
|
url = https://github.com/rspec/rspec-expectations.git
|
|
16
|
+
[submodule "diff-lcs/diff-lcs/upstream"]
|
|
17
|
+
path = diff-lcs/diff-lcs/upstream
|
|
18
|
+
url = https://github.com/halostatue/diff-lcs
|
|
19
|
+
[submodule "diff-lcs/upstream"]
|
|
20
|
+
path = diff-lcs/upstream
|
|
21
|
+
url = https://github.com/halostatue/diff-lcs
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Opal-RSpec Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.0 - 2022-11-24
|
|
4
|
+
|
|
5
|
+
- Drop support for anything below Opal v1.6.alpha1
|
|
6
|
+
|
|
7
|
+
- Update to the latest RSpec versions
|
|
8
|
+
|
|
9
|
+
- Vendor-in `diff-lcs`
|
|
10
|
+
|
|
11
|
+
- Rework the async logic to use the `await` feature of Opal
|
|
12
|
+
* If you use async features, it's crucial to use a `# await: *await*` magic comment (this will cause any call to a method containing an `await` word to be compiled with an `await` ES8 keyword)
|
|
13
|
+
* Both `let` and `subject` that return a promise (ie. are async) must be referenced with an `.await` method
|
|
14
|
+
* In `around` blocks, you must call `example.run_await` instead of just `example.run`
|
|
15
|
+
* Only `PromiseV2` is supported (`PromiseV1` may work, but you should migrate your application to use `PromiseV2` nevertheless, in Opal 2.0 it will become the default)
|
|
16
|
+
|
|
17
|
+
- Drop a requirement of `opal-sprockets`
|
|
18
|
+
* Sprockets support is still provided, but you need to manually `require "opal/rspec/sprockets"`
|
|
19
|
+
|
|
20
|
+
|
|
3
21
|
## 0.8.0 - 2021-12-01
|
|
4
22
|
|
|
5
23
|
- Support for Opal v1.x
|
data/Gemfile
CHANGED
|
@@ -13,3 +13,16 @@ gem 'rspec-mocks', path: 'rspec-mocks/upstream'
|
|
|
13
13
|
gem 'rspec-expectations', path: 'rspec-expectations/upstream'
|
|
14
14
|
|
|
15
15
|
gem 'pry'
|
|
16
|
+
|
|
17
|
+
case ENV['OPAL_VERSION']
|
|
18
|
+
when 'local'
|
|
19
|
+
gem 'opal', path: '../opal'
|
|
20
|
+
when /^[0-9]/
|
|
21
|
+
gem 'opal', ENV['OPAL_VERSION']
|
|
22
|
+
when String
|
|
23
|
+
gem 'opal', git: 'https://github.com/opal/opal.git', branch: ENV['OPAL_VERSION']
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
gem 'opal-sprockets', '>=1.0'
|
|
27
|
+
|
|
28
|
+
gem 'puma'
|
data/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# opal-rspec
|
|
2
2
|
|
|
3
3
|
[](http://travis-ci.org/opal/opal-rspec)
|
|
4
|
-
[](https://codeclimate.com/github/opal/opal-rspec)
|
|
5
|
+
[](https://rubygems.org/gems/opal-rspec)
|
|
6
6
|
|
|
7
7
|
An attempt at a compatibility layer of RSpec for Opal.
|
|
8
8
|
|
|
@@ -37,20 +37,21 @@ bundle exec opal-rspec --color spec-opal/
|
|
|
37
37
|
## Requirements
|
|
38
38
|
|
|
39
39
|
Besides what's already reflected in the GEM dependencies:
|
|
40
|
-
* PhantomJS 2.0 or 2.1 for Rake task testing
|
|
41
40
|
* Browser if you want to run and debug tests that way
|
|
42
41
|
|
|
43
|
-
### Run specs in
|
|
42
|
+
### Run specs in Headless Chromium
|
|
44
43
|
|
|
45
44
|
To run specs, a rake task can be added which will load all spec files from
|
|
46
|
-
`spec/`:
|
|
45
|
+
`spec-opal/`:
|
|
47
46
|
|
|
48
47
|
```ruby
|
|
49
48
|
require 'opal/rspec/rake_task'
|
|
50
|
-
Opal::RSpec::RakeTask.new(:default)
|
|
49
|
+
Opal::RSpec::RakeTask.new(:default) do |server, task|
|
|
50
|
+
task.runner = :chrome
|
|
51
|
+
end
|
|
51
52
|
```
|
|
52
53
|
|
|
53
|
-
Then, to run your specs inside
|
|
54
|
+
Then, to run your specs inside headless chrome (the default runner), just run the rake task:
|
|
54
55
|
|
|
55
56
|
```
|
|
56
57
|
bundle exec rake
|
|
@@ -83,6 +84,7 @@ You can also customize the pattern of specs used similiar to how RSpec's rake ta
|
|
|
83
84
|
|
|
84
85
|
```ruby
|
|
85
86
|
Opal::RSpec::RakeTask.new(:default) do |server, task|
|
|
87
|
+
task.runner = :chrome
|
|
86
88
|
# server is an instance of Opal::Server in case you want to add to the load path, customize, etc.
|
|
87
89
|
task.pattern = 'spec_alternate/**/*_spec.rb' # can also supply an array of patterns
|
|
88
90
|
# NOTE: opal-rspec, like rspec, only adds 'spec' to the Opal load path unless you set default_path
|
|
@@ -94,6 +96,8 @@ Excluding patterns can be setup this way:
|
|
|
94
96
|
|
|
95
97
|
```ruby
|
|
96
98
|
Opal::RSpec::RakeTask.new(:default) do |server, task|
|
|
99
|
+
task.runner = :chrome
|
|
100
|
+
|
|
97
101
|
task.exclude_pattern = 'spec_alternate/**/*_spec.rb' # can also supply an array of patterns
|
|
98
102
|
end
|
|
99
103
|
```
|
|
@@ -102,14 +106,18 @@ FileLists (as in Rake FileLists) can also be supplied:
|
|
|
102
106
|
|
|
103
107
|
```ruby
|
|
104
108
|
Opal::RSpec::RakeTask.new(:default) do |server, task|
|
|
109
|
+
task.runner = :chrome
|
|
110
|
+
|
|
105
111
|
task.files = FileList['spec/**/something_spec.rb']
|
|
106
112
|
end
|
|
107
113
|
```
|
|
108
114
|
|
|
109
|
-
|
|
115
|
+
Headless Chromium will timeout by default after 60 seconds. If you need to lengthen the timeout value, set it like this:
|
|
110
116
|
|
|
111
117
|
```ruby
|
|
112
118
|
Opal::RSpec::RakeTask.new(:default) do |server, task|
|
|
119
|
+
task.runner = :chrome
|
|
120
|
+
|
|
113
121
|
task.files = FileList['spec/**/something_spec.rb']
|
|
114
122
|
task.timeout = 80000 # 80 seconds, unit needs to be milliseconds
|
|
115
123
|
end
|
|
@@ -119,13 +127,18 @@ Arity checking is enabled by default. Opal allows you to disable arity checking
|
|
|
119
127
|
|
|
120
128
|
```ruby
|
|
121
129
|
Opal::RSpec::RakeTask.new(:default) do |server, task|
|
|
130
|
+
task.runner = :chrome
|
|
131
|
+
|
|
122
132
|
task.arity_checking = :disabled
|
|
123
133
|
end
|
|
124
134
|
```
|
|
125
135
|
|
|
126
|
-
|
|
136
|
+
If you don't specify a runner using `task.runner`, a default one is Node. In this case you can also use `RUNNER=chrome` to run a particular test with Headless Chromium.
|
|
137
|
+
|
|
138
|
+
### Run specs in Node.js
|
|
127
139
|
|
|
128
|
-
Same options as above, you can use the `RUNNER=node` environment variable
|
|
140
|
+
Same options as above, you can use the `RUNNER=node` environment variable
|
|
141
|
+
(which is the default) or use the Rake task like so:
|
|
129
142
|
|
|
130
143
|
```ruby
|
|
131
144
|
Opal::RSpec::RakeTask.new(:default) do |server, task|
|
|
@@ -133,21 +146,30 @@ Opal::RSpec::RakeTask.new(:default) do |server, task|
|
|
|
133
146
|
end
|
|
134
147
|
```
|
|
135
148
|
|
|
136
|
-
NOTE: nodejs runner does not yet work with source maps or debug mode
|
|
137
|
-
|
|
138
149
|
### Run specs in a browser
|
|
139
150
|
|
|
151
|
+
Same options as above, you can use the `RUNNER=server` environment variable
|
|
152
|
+
(which is the default) or use the Rake task like so:
|
|
153
|
+
|
|
154
|
+
```ruby
|
|
155
|
+
Opal::RSpec::RakeTask.new(:default) do |server, task|
|
|
156
|
+
task.runner = :server
|
|
157
|
+
end
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Run specs in a browser (Sprockets, deprecated)
|
|
161
|
+
|
|
140
162
|
`opal-rspec` can use sprockets to build and serve specs over a simple rack
|
|
141
163
|
server. Add the following to a `config.ru` file (see config.ru in this GEM):
|
|
142
164
|
|
|
143
165
|
```ruby
|
|
144
|
-
require 'opal/rspec'
|
|
166
|
+
require 'opal/rspec/sprockets'
|
|
145
167
|
# or use Opal::RSpec::SprocketsEnvironment.new(spec_pattern='spec-opal/**/*_spec.{rb,opal}') to customize the pattern
|
|
146
168
|
sprockets_env = Opal::RSpec::SprocketsEnvironment.new
|
|
147
169
|
run Opal::Server.new(sprockets: sprockets_env) { |s|
|
|
148
170
|
s.main = 'opal/rspec/sprockets_runner'
|
|
149
171
|
sprockets_env.add_spec_paths_to_sprockets
|
|
150
|
-
s.debug =
|
|
172
|
+
s.debug = true
|
|
151
173
|
}
|
|
152
174
|
```
|
|
153
175
|
|
|
@@ -160,14 +182,13 @@ to navigate to where an exception occurred.
|
|
|
160
182
|
|
|
161
183
|
## Async examples
|
|
162
184
|
|
|
163
|
-
`opal-rspec` adds support for async specs to rspec.
|
|
185
|
+
`opal-rspec` adds support for async specs to rspec.
|
|
164
186
|
|
|
165
|
-
|
|
166
|
-
|
|
187
|
+
```ruby
|
|
188
|
+
# await: *await*
|
|
167
189
|
|
|
168
|
-
|
|
190
|
+
require 'opal/rspec/async'
|
|
169
191
|
|
|
170
|
-
```ruby
|
|
171
192
|
describe MyClass do
|
|
172
193
|
# normal example
|
|
173
194
|
it 'does something' do
|
|
@@ -176,7 +197,7 @@ describe MyClass do
|
|
|
176
197
|
|
|
177
198
|
# async example
|
|
178
199
|
it 'does something else, too' do
|
|
179
|
-
promise =
|
|
200
|
+
promise = PromiseV2.new
|
|
180
201
|
delay 1 do
|
|
181
202
|
expect(:foo).to eq(:foo)
|
|
182
203
|
promise.resolve
|
|
@@ -197,7 +218,7 @@ describe MyClass2 do
|
|
|
197
218
|
# will wait for the before promise to complete before proceeding
|
|
198
219
|
before do
|
|
199
220
|
delay_with_promise 0 do
|
|
200
|
-
puts 'async before '
|
|
221
|
+
puts 'async before action'
|
|
201
222
|
end
|
|
202
223
|
end
|
|
203
224
|
|
|
@@ -208,12 +229,12 @@ describe MyClass2 do
|
|
|
208
229
|
end
|
|
209
230
|
end
|
|
210
231
|
|
|
211
|
-
it {
|
|
232
|
+
it { expect(subject.await).to eq 42 }
|
|
212
233
|
|
|
213
234
|
# If you use an around block and have async specs, you must use this approach
|
|
214
235
|
around do |example|
|
|
215
236
|
puts 'do stuff before'
|
|
216
|
-
example.
|
|
237
|
+
example.run_await.then do
|
|
217
238
|
puts 'do stuff after example'
|
|
218
239
|
end
|
|
219
240
|
end
|
|
@@ -222,42 +243,18 @@ end
|
|
|
222
243
|
|
|
223
244
|
Advantages:
|
|
224
245
|
|
|
225
|
-
* Assuming your subject under test (or matchers) return/use promises, the syntax is the same for sync or async specs
|
|
246
|
+
* Assuming your subject under test (or matchers) return/use promises, or uses `await` syntax, the syntax is the same for sync or async specs
|
|
226
247
|
|
|
227
|
-
Limitations
|
|
248
|
+
Limitations:
|
|
228
249
|
|
|
229
|
-
* Right now, async `before(:context)` and `after(:context)` hooks cannot be async
|
|
230
|
-
* You cannot use an around hooks on any example where before(:each)/after(:each) hooks are async or with an async implicit subject
|
|
231
|
-
* `let` dependencies cannot be async, only subject
|
|
232
250
|
* Opal-rspec will not timeout while waiting for your async code to finish
|
|
233
251
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
This is the approach that was supported in opal-rspec <= 0.4.3 and it still works.
|
|
252
|
+
Changes since 1.0:
|
|
237
253
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
async {
|
|
243
|
-
expect(res).to be_ok
|
|
244
|
-
}
|
|
245
|
-
end
|
|
246
|
-
end
|
|
247
|
-
end
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
The block passed to the second `async` call informs the runner that this spec is finished
|
|
251
|
-
so it can move on. Any failures/expectations run inside this block will be run
|
|
252
|
-
in the context of the example.
|
|
253
|
-
|
|
254
|
-
Advantages:
|
|
255
|
-
|
|
256
|
-
* Hides promises from the specs
|
|
257
|
-
|
|
258
|
-
Disadvantages:
|
|
259
|
-
|
|
260
|
-
* Requires different syntax for async specs vs. sync specs
|
|
254
|
+
* If you use async features, it's crucial to use a `# await: *await*` magic comment (this will cause any call to a method containing an `await` word to be compiled with an `await` ES8 keyword)
|
|
255
|
+
* Both `let` and `subject` that return a promise (ie. are async) must be referenced with an `.await` method
|
|
256
|
+
* In `around` blocks, you must call `example.run_await` instead of just `example.run`
|
|
257
|
+
* Only `PromiseV2` is supported (`PromiseV1` may work, but you should migrate your application to use `PromiseV2` nevertheless, in Opal 2.0 it will become the default)
|
|
261
258
|
|
|
262
259
|
## Opal load path
|
|
263
260
|
|
|
@@ -277,9 +274,19 @@ Opal::RSpec::RakeTask.new do |server, task|
|
|
|
277
274
|
end
|
|
278
275
|
```
|
|
279
276
|
|
|
277
|
+
Since 0.8, the default spec location is `spec-opal` and the default source location is `lib-opal`. If your code aims to run the same specs and libraries for Ruby and Opal, you should use the following:
|
|
278
|
+
|
|
279
|
+
```ruby
|
|
280
|
+
Opal::RSpec::RakeTask.new do |server, task|
|
|
281
|
+
server.append_path 'lib'
|
|
282
|
+
task.default_path = 'spec'
|
|
283
|
+
task.files = FileList['spec/**/*_spec.rb']
|
|
284
|
+
end
|
|
285
|
+
```
|
|
286
|
+
|
|
280
287
|
## Other Limitations/Known Issues
|
|
281
288
|
|
|
282
|
-
80%+ of the RSpec test suites pass so most items work but there are a few things that do not yet work.
|
|
289
|
+
80%+ of the RSpec test suites pass so most items work but there are a few things that do not yet work. Do note that some of the items described here may actually work in the recent version.
|
|
283
290
|
|
|
284
291
|
* Core Examples
|
|
285
292
|
* Example groups included like this are currently not working:
|
|
@@ -301,15 +308,11 @@ end
|
|
|
301
308
|
* Formatting/Reporting
|
|
302
309
|
* Specs will not have file path/line number information on them unless they are supplied from user metadata or they fail, see [this issue](https://github.com/opal/opal-rspec/issues/36)
|
|
303
310
|
* In Firefox w/ the browser runner, no backtraces show up with failed specs
|
|
304
|
-
* Diffs are not yet available when objects do not meet expectations (diff-lcs gem dependency has not been dealt with yet in Opal)
|
|
305
311
|
* Configuration
|
|
306
312
|
* Not all RSpec runner options are supported yet
|
|
307
313
|
* At some point, using node + Phantom's ability to read environment variables could be combined with a opal friendly optparse implementation to allow full options to be supplied/parsed
|
|
308
314
|
* Expect and should syntax are both enabled. They cannot be disabled due to past bugs with the `undef` keyword in Opal. Status of changing this via config has not been retested.
|
|
309
315
|
* Random order does not work yet due to lack of [srand/Random support](https://github.com/opal/opal/issues/639) and RSpec's bundled Random implementation, `RSpec::Core::Backports::Random`, locks the browser/Phantom. If you specify random order, it will be ignored.
|
|
310
|
-
* Nodejs runner
|
|
311
|
-
* debug mode + source map support not there yet (see source map support - https://github.com/evanw/node-source-map-support)
|
|
312
|
-
* currently running a lot slower than phantomjs, might need optimization
|
|
313
316
|
* Matchers
|
|
314
317
|
* predicate matchers (be_some_method_on_your_subject) do not currently work with delegate objects (Opal `DelegateClass` is incomplete)
|
|
315
318
|
* equal and eq matchers function largely the same right now since `==` and `equal?` in Opal are largely the same
|
|
@@ -344,6 +347,7 @@ When updating the RSpec versions, after updating the submodule revisions, you ma
|
|
|
344
347
|
|
|
345
348
|
(The MIT License)
|
|
346
349
|
|
|
350
|
+
Copyright (C) 2022 by hmdne and the Opal contributors
|
|
347
351
|
Copyright (C) 2015 by Brady Wied
|
|
348
352
|
Copyright (C) 2013 by Adam Beynon
|
|
349
353
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
**/ldiff_spec.rb
|
|
File without changes
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
2
|
+
# They are provided by a third-party and are governed by
|
|
3
|
+
# separate terms of service, privacy policy, and support
|
|
4
|
+
# documentation.
|
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
|
7
|
+
|
|
8
|
+
name: CI
|
|
9
|
+
|
|
10
|
+
on:
|
|
11
|
+
push:
|
|
12
|
+
branches: [main]
|
|
13
|
+
pull_request:
|
|
14
|
+
branches: [main]
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
test:
|
|
18
|
+
strategy:
|
|
19
|
+
matrix:
|
|
20
|
+
os:
|
|
21
|
+
- macos-10.15
|
|
22
|
+
- macos-11
|
|
23
|
+
- ubuntu-20.04
|
|
24
|
+
ruby:
|
|
25
|
+
- '2.4'
|
|
26
|
+
- '2.5'
|
|
27
|
+
- '2.6'
|
|
28
|
+
- '2.7'
|
|
29
|
+
- '3.0'
|
|
30
|
+
- '3.1'
|
|
31
|
+
- head
|
|
32
|
+
- jruby
|
|
33
|
+
- jruby-head
|
|
34
|
+
- truffleruby
|
|
35
|
+
- truffleruby-head
|
|
36
|
+
- truffleruby+graalvm
|
|
37
|
+
- truffleruby+graalvm-head
|
|
38
|
+
include:
|
|
39
|
+
- ruby: head
|
|
40
|
+
continue-on-error: true
|
|
41
|
+
- ruby: jruby-head
|
|
42
|
+
continue-on-error: true
|
|
43
|
+
- os: windows-latest
|
|
44
|
+
ruby: mingw
|
|
45
|
+
- os: windows-latest
|
|
46
|
+
ruby: mswin
|
|
47
|
+
- os: windows-latest
|
|
48
|
+
ruby: jruby
|
|
49
|
+
continue-on-error: true
|
|
50
|
+
- os: ubuntu-22.04
|
|
51
|
+
ruby: head
|
|
52
|
+
- os: ubuntu-22.04
|
|
53
|
+
ruby: '3.1'
|
|
54
|
+
runs-on: ${{ matrix.os }}
|
|
55
|
+
continue-on-error: ${{ matrix.continue-on-error || false }}
|
|
56
|
+
steps:
|
|
57
|
+
- uses: actions/checkout@v3
|
|
58
|
+
- uses: ruby/setup-ruby@v1
|
|
59
|
+
with:
|
|
60
|
+
ruby-version: ${{ matrix.ruby }}
|
|
61
|
+
rubygems: latest
|
|
62
|
+
bundler-cache: true
|
|
63
|
+
- name: Run tests
|
|
64
|
+
run: bundle exec ruby -S rake test --trace
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# For most projects, this workflow file will not need changing; you simply need
|
|
2
|
+
# to commit it to your repository.
|
|
3
|
+
#
|
|
4
|
+
# You may wish to alter this file to override the set of languages analyzed,
|
|
5
|
+
# or to provide custom queries or build logic.
|
|
6
|
+
#
|
|
7
|
+
# ******** NOTE ********
|
|
8
|
+
# We have attempted to detect the languages in your repository. Please check
|
|
9
|
+
# the `language` matrix defined below to confirm you have the correct set of
|
|
10
|
+
# supported CodeQL languages.
|
|
11
|
+
#
|
|
12
|
+
name: 'CodeQL'
|
|
13
|
+
|
|
14
|
+
on:
|
|
15
|
+
push:
|
|
16
|
+
branches: [main]
|
|
17
|
+
pull_request:
|
|
18
|
+
# The branches below must be a subset of the branches above
|
|
19
|
+
branches: [main]
|
|
20
|
+
schedule:
|
|
21
|
+
- cron: '28 4 * * 2'
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
analyze:
|
|
25
|
+
name: Analyze
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
permissions:
|
|
28
|
+
actions: read
|
|
29
|
+
contents: read
|
|
30
|
+
security-events: write
|
|
31
|
+
|
|
32
|
+
strategy:
|
|
33
|
+
fail-fast: false
|
|
34
|
+
matrix:
|
|
35
|
+
language: ['ruby']
|
|
36
|
+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
|
37
|
+
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
|
38
|
+
|
|
39
|
+
steps:
|
|
40
|
+
- name: Checkout repository
|
|
41
|
+
uses: actions/checkout@v2
|
|
42
|
+
|
|
43
|
+
# Initializes the CodeQL tools for scanning.
|
|
44
|
+
- name: Initialize CodeQL
|
|
45
|
+
uses: github/codeql-action/init@v1
|
|
46
|
+
with:
|
|
47
|
+
languages: ${{ matrix.language }}
|
|
48
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
49
|
+
# By default, queries listed here will override any specified in a config file.
|
|
50
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
|
51
|
+
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
|
52
|
+
|
|
53
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
54
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
|
55
|
+
- name: Autobuild
|
|
56
|
+
uses: github/codeql-action/autobuild@v1
|
|
57
|
+
|
|
58
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
|
59
|
+
# 📚 https://git.io/JvXDl
|
|
60
|
+
|
|
61
|
+
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
62
|
+
# and modify them (or add more) to build your code if your project
|
|
63
|
+
# uses a compiled language
|
|
64
|
+
|
|
65
|
+
#- run: |
|
|
66
|
+
# make bootstrap
|
|
67
|
+
# make release
|
|
68
|
+
|
|
69
|
+
- name: Perform CodeQL Analysis
|
|
70
|
+
uses: github/codeql-action/analyze@v1
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
*.pyc
|
|
2
|
+
*.rbc
|
|
3
|
+
*.swp
|
|
4
|
+
*~
|
|
5
|
+
.DS_Store
|
|
6
|
+
.rake_tasks~
|
|
7
|
+
.rvmrc
|
|
8
|
+
.source_index
|
|
9
|
+
Gemfile.lock
|
|
10
|
+
coverage.info
|
|
11
|
+
coverage.vim
|
|
12
|
+
coverage/
|
|
13
|
+
doc/
|
|
14
|
+
html/
|
|
15
|
+
pkg/
|
|
16
|
+
publish/
|
|
17
|
+
research/
|
|
18
|
+
spec/ldap.yml
|
|
19
|
+
website/index.html
|
|
20
|
+
.byebug_history
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
exclude: !ruby/regexp '/
|
|
3
|
+
\.(?:
|
|
4
|
+
tmp |
|
|
5
|
+
swp
|
|
6
|
+
)$
|
|
7
|
+
|
|
|
8
|
+
\.(?:
|
|
9
|
+
bundle|
|
|
10
|
+
git|
|
|
11
|
+
github|
|
|
12
|
+
hg|
|
|
13
|
+
idea|
|
|
14
|
+
svn|
|
|
15
|
+
vagrant
|
|
16
|
+
)\/
|
|
17
|
+
|
|
|
18
|
+
[gG]emfile(?:\.lock)?
|
|
19
|
+
|
|
|
20
|
+
(?:
|
|
21
|
+
support |
|
|
22
|
+
research
|
|
23
|
+
)\/
|
|
24
|
+
|
|
|
25
|
+
\.(?:
|
|
26
|
+
appveyor |
|
|
27
|
+
coveralls |
|
|
28
|
+
fasterer |
|
|
29
|
+
pullreview |
|
|
30
|
+
rubocop.* |
|
|
31
|
+
travis |
|
|
32
|
+
unused
|
|
33
|
+
)\.yml$
|
|
34
|
+
|
|
|
35
|
+
(?i:TAGS)$
|
|
36
|
+
|
|
|
37
|
+
\.(?:
|
|
38
|
+
DS_Store |
|
|
39
|
+
autotest |
|
|
40
|
+
byebug_history |
|
|
41
|
+
gemtest |
|
|
42
|
+
gitattributes |
|
|
43
|
+
gitignore |
|
|
44
|
+
hoerc |
|
|
45
|
+
minitest.rb |
|
|
46
|
+
simplecov-prelude.rb
|
|
47
|
+
)$
|
|
48
|
+
|
|
|
49
|
+
\.gemspec$
|
|
50
|
+
|
|
|
51
|
+
^Vagrantfile$
|
|
52
|
+
/x'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--colour
|