opal-connect-rspec 0.5.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 +7 -0
- data/.gitignore +5 -0
- data/.gitmodules +15 -0
- data/.travis.yml +51 -0
- data/.yardopts +5 -0
- data/CHANGELOG.md +54 -0
- data/Gemfile +19 -0
- data/README.md +325 -0
- data/Rakefile +169 -0
- data/config.ru +15 -0
- data/example/Gemfile +4 -0
- data/example/README.md +13 -0
- data/example/Rakefile +8 -0
- data/example/opal/user.rb +11 -0
- data/example/spec/user_spec.rb +15 -0
- data/gemfiles/opal_master.gemfile +18 -0
- data/lib/opal-rspec.rb +2 -0
- data/lib/opal/rspec.rb +39 -0
- data/lib/opal/rspec/cached_environment.rb +25 -0
- data/lib/opal/rspec/post_rack_locator.rb +20 -0
- data/lib/opal/rspec/pre_rack_locator.rb +32 -0
- data/lib/opal/rspec/rake_task.rb +132 -0
- data/lib/opal/rspec/sprockets_environment.rb +37 -0
- data/lib/opal/rspec/version.rb +5 -0
- data/opal-rspec.gemspec +21 -0
- data/opal/opal-rspec.rb +1 -0
- data/opal/opal/rspec.rb +23 -0
- data/opal/opal/rspec/async.rb +5 -0
- data/opal/opal/rspec/async/async_example.rb +96 -0
- data/opal/opal/rspec/async/example_group.rb +96 -0
- data/opal/opal/rspec/async/hooks.rb +10 -0
- data/opal/opal/rspec/async/legacy.rb +50 -0
- data/opal/opal/rspec/async/reporter.rb +9 -0
- data/opal/opal/rspec/fixes.rb +5 -0
- data/opal/opal/rspec/fixes/opal.rb +5 -0
- data/opal/opal/rspec/fixes/opal/class.rb +8 -0
- data/opal/opal/rspec/fixes/opal/compatibility.rb +228 -0
- data/opal/opal/rspec/fixes/opal/corelib.rb +3 -0
- data/opal/opal/rspec/fixes/opal/corelib/error.rb +61 -0
- data/opal/opal/rspec/fixes/opal/corelib/regexp.rb +92 -0
- data/opal/opal/rspec/fixes/opal/corelib/struct.rb +260 -0
- data/opal/opal/rspec/fixes/opal/kernel.rb +80 -0
- data/opal/opal/rspec/fixes/opal/stdlib.rb +2 -0
- data/opal/opal/rspec/fixes/opal/stdlib/pp.rb +23 -0
- data/opal/opal/rspec/fixes/opal/stdlib/set.rb +36 -0
- data/opal/opal/rspec/fixes/rspec.rb +7 -0
- data/opal/opal/rspec/fixes/rspec/caller_filter.rb +6 -0
- data/opal/opal/rspec/fixes/rspec/core.rb +9 -0
- data/opal/opal/rspec/fixes/rspec/core/configuration.rb +11 -0
- data/opal/opal/rspec/fixes/rspec/core/example.rb +20 -0
- data/opal/opal/rspec/fixes/rspec/core/example_group.rb +9 -0
- data/opal/opal/rspec/fixes/rspec/core/formatters.rb +6 -0
- data/opal/opal/rspec/fixes/rspec/core/formatters/backtrace_formatter.rb +20 -0
- data/opal/opal/rspec/fixes/rspec/core/formatters/console_codes.rb +11 -0
- data/opal/opal/rspec/fixes/rspec/core/formatters/deprecation_formatter.rb +20 -0
- data/opal/opal/rspec/fixes/rspec/core/formatters/generated_deprecation_message.rb +15 -0
- data/opal/opal/rspec/fixes/rspec/core/formatters/json_formatter.rb +10 -0
- data/opal/opal/rspec/fixes/rspec/core/formatters/loader.rb +38 -0
- data/opal/opal/rspec/fixes/rspec/core/metadata.rb +39 -0
- data/opal/opal/rspec/fixes/rspec/core/notifications.rb +3 -0
- data/opal/opal/rspec/fixes/rspec/core/notifications/examples_notification.rb +30 -0
- data/opal/opal/rspec/fixes/rspec/core/notifications/failed_example_notification.rb +20 -0
- data/opal/opal/rspec/fixes/rspec/core/notifications/summary_notification.rb +26 -0
- data/opal/opal/rspec/fixes/rspec/core/ordering.rb +1 -0
- data/opal/opal/rspec/fixes/rspec/core/ordering/random.rb +13 -0
- data/opal/opal/rspec/fixes/rspec/core/reporter.rb +14 -0
- data/opal/opal/rspec/fixes/rspec/core/warnings.rb +18 -0
- data/opal/opal/rspec/fixes/rspec/example_groups.rb +49 -0
- data/opal/opal/rspec/fixes/rspec/expectations.rb +2 -0
- data/opal/opal/rspec/fixes/rspec/expectations/fail_with.rb +21 -0
- data/opal/opal/rspec/fixes/rspec/expectations/syntax.rb +25 -0
- data/opal/opal/rspec/fixes/rspec/matchers.rb +2 -0
- data/opal/opal/rspec/fixes/rspec/matchers/built_in.rb +4 -0
- data/opal/opal/rspec/fixes/rspec/matchers/built_in/all.rb +10 -0
- data/opal/opal/rspec/fixes/rspec/matchers/built_in/compound.rb +15 -0
- data/opal/opal/rspec/fixes/rspec/matchers/built_in/start_and_end_with.rb +42 -0
- data/opal/opal/rspec/fixes/rspec/matchers/built_in/yield.rb +21 -0
- data/opal/opal/rspec/fixes/rspec/matchers/pretty.rb +15 -0
- data/opal/opal/rspec/fixes/rspec/mocks.rb +4 -0
- data/opal/opal/rspec/fixes/rspec/mocks/error_generator.rb +40 -0
- data/opal/opal/rspec/fixes/rspec/mocks/space.rb +37 -0
- data/opal/opal/rspec/fixes/rspec/mocks/test_double.rb +39 -0
- data/opal/opal/rspec/fixes/rspec/mocks/verifying_double.rb +29 -0
- data/opal/opal/rspec/fixes/rspec/support.rb +4 -0
- data/opal/opal/rspec/fixes/rspec/support/encoded_string.rb +10 -0
- data/opal/opal/rspec/fixes/rspec/support/fuzzy_matcher.rb +23 -0
- data/opal/opal/rspec/fixes/rspec/support/recursive_const_methods.rb +7 -0
- data/opal/opal/rspec/fixes/rspec/support/ruby_features.rb +8 -0
- data/opal/opal/rspec/fixes/rspec/support/warnings.rb +18 -0
- data/opal/opal/rspec/formatter/browser_formatter.rb +38 -0
- data/opal/opal/rspec/formatter/document_io.rb +27 -0
- data/opal/opal/rspec/formatter/element.rb +100 -0
- data/opal/opal/rspec/formatter/html_printer.rb +121 -0
- data/opal/opal/rspec/formatter/noop_flush_string_io.rb +9 -0
- data/opal/opal/rspec/formatter/opal_closed_tty_io.rb +27 -0
- data/opal/opal/rspec/pre_require_fixes.rb +11 -0
- data/opal/opal/rspec/requires.rb +145 -0
- data/opal/opal/rspec/runner.rb +91 -0
- data/opal/opal/rspec/spec_opts.rb.erb +28 -0
- data/opal/opal/rspec/sprockets_runner.rb.erb +13 -0
- data/rspec-core/benchmarks/call_v_yield.rb +81 -0
- data/rspec-core/benchmarks/check_inclusion.rb +125 -0
- data/rspec-core/benchmarks/define_method_v_attr_reader_v_def.rb +81 -0
- data/rspec-core/benchmarks/eager_vs_lazy_metadata.rb +126 -0
- data/rspec-core/benchmarks/eager_vs_lazy_metadata/define_examples.rb +22 -0
- data/rspec-core/benchmarks/filter_object.rb +35 -0
- data/rspec-core/benchmarks/index_v_take_while.rb +47 -0
- data/rspec-core/benchmarks/map_then_flatten_vs_flat_map_benchmarks.rb +94 -0
- data/rspec-core/benchmarks/require_relative_v_require.rb +75 -0
- data/rspec-core/benchmarks/respond_to_v_defined.rb +72 -0
- data/rspec-core/benchmarks/several_regexps_v_one_big_one.rb +86 -0
- data/rspec-core/benchmarks/sort_by_v_shuffle.rb +83 -0
- data/rspec-core/benchmarks/to_proc_v_not_to_proc.rb +539 -0
- data/rspec-core/features/step_definitions/additional_cli_steps.rb +126 -0
- data/rspec-core/features/step_definitions/core_standalone_steps.rb +12 -0
- data/rspec-core/features/support/env.rb +21 -0
- data/rspec-core/features/support/require_expect_syntax_in_aruba_specs.rb +29 -0
- data/rspec-core/features/support/rubinius.rb +6 -0
- data/rspec-core/lib/rspec/autorun.rb +2 -0
- data/rspec-core/lib/rspec/core.rb +169 -0
- data/rspec-core/lib/rspec/core/backport_random.rb +336 -0
- data/rspec-core/lib/rspec/core/backtrace_formatter.rb +66 -0
- data/rspec-core/lib/rspec/core/configuration.rb +1440 -0
- data/rspec-core/lib/rspec/core/configuration_options.rb +173 -0
- data/rspec-core/lib/rspec/core/drb.rb +111 -0
- data/rspec-core/lib/rspec/core/dsl.rb +93 -0
- data/rspec-core/lib/rspec/core/example.rb +502 -0
- data/rspec-core/lib/rspec/core/example_group.rb +606 -0
- data/rspec-core/lib/rspec/core/filter_manager.rb +259 -0
- data/rspec-core/lib/rspec/core/flat_map.rb +18 -0
- data/rspec-core/lib/rspec/core/formatters.rb +240 -0
- data/rspec-core/lib/rspec/core/formatters/base_formatter.rb +67 -0
- data/rspec-core/lib/rspec/core/formatters/base_text_formatter.rb +76 -0
- data/rspec-core/lib/rspec/core/formatters/console_codes.rb +64 -0
- data/rspec-core/lib/rspec/core/formatters/deprecation_formatter.rb +222 -0
- data/rspec-core/lib/rspec/core/formatters/documentation_formatter.rb +68 -0
- data/rspec-core/lib/rspec/core/formatters/helpers.rb +87 -0
- data/rspec-core/lib/rspec/core/formatters/html_formatter.rb +149 -0
- data/rspec-core/lib/rspec/core/formatters/html_printer.rb +403 -0
- data/rspec-core/lib/rspec/core/formatters/json_formatter.rb +94 -0
- data/rspec-core/lib/rspec/core/formatters/profile_formatter.rb +65 -0
- data/rspec-core/lib/rspec/core/formatters/progress_formatter.rb +28 -0
- data/rspec-core/lib/rspec/core/formatters/protocol.rb +163 -0
- data/rspec-core/lib/rspec/core/formatters/snippet_extractor.rb +104 -0
- data/rspec-core/lib/rspec/core/hooks.rb +591 -0
- data/rspec-core/lib/rspec/core/memoized_helpers.rb +472 -0
- data/rspec-core/lib/rspec/core/metadata.rb +437 -0
- data/rspec-core/lib/rspec/core/metadata_filter.rb +95 -0
- data/rspec-core/lib/rspec/core/minitest_assertions_adapter.rb +28 -0
- data/rspec-core/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
- data/rspec-core/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
- data/rspec-core/lib/rspec/core/mocking_adapters/null.rb +14 -0
- data/rspec-core/lib/rspec/core/mocking_adapters/rr.rb +31 -0
- data/rspec-core/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
- data/rspec-core/lib/rspec/core/notifications.rb +542 -0
- data/rspec-core/lib/rspec/core/option_parser.rb +222 -0
- data/rspec-core/lib/rspec/core/ordering.rb +155 -0
- data/rspec-core/lib/rspec/core/pending.rb +163 -0
- data/rspec-core/lib/rspec/core/project_initializer.rb +48 -0
- data/rspec-core/lib/rspec/core/project_initializer/spec/spec_helper.rb +89 -0
- data/rspec-core/lib/rspec/core/rake_task.rb +187 -0
- data/rspec-core/lib/rspec/core/reporter.rb +149 -0
- data/rspec-core/lib/rspec/core/ruby_project.rb +45 -0
- data/rspec-core/lib/rspec/core/runner.rb +158 -0
- data/rspec-core/lib/rspec/core/shared_context.rb +55 -0
- data/rspec-core/lib/rspec/core/shared_example_group.rb +182 -0
- data/rspec-core/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
- data/rspec-core/lib/rspec/core/version.rb +9 -0
- data/rspec-core/lib/rspec/core/warnings.rb +40 -0
- data/rspec-core/lib/rspec/core/world.rb +183 -0
- data/rspec-core/spec/command_line/order_spec.rb +213 -0
- data/rspec-core/spec/rspec/core/backtrace_formatter_spec.rb +306 -0
- data/rspec-core/spec/rspec/core/configuration_options_spec.rb +425 -0
- data/rspec-core/spec/rspec/core/configuration_spec.rb +1963 -0
- data/rspec-core/spec/rspec/core/drb_spec.rb +278 -0
- data/rspec-core/spec/rspec/core/dsl_spec.rb +85 -0
- data/rspec-core/spec/rspec/core/example_execution_result_spec.rb +142 -0
- data/rspec-core/spec/rspec/core/example_group_constants_spec.rb +16 -0
- data/rspec-core/spec/rspec/core/example_group_spec.rb +1621 -0
- data/rspec-core/spec/rspec/core/example_spec.rb +662 -0
- data/rspec-core/spec/rspec/core/failed_example_notification_spec.rb +25 -0
- data/rspec-core/spec/rspec/core/filter_manager_spec.rb +299 -0
- data/rspec-core/spec/rspec/core/formatters/base_text_formatter_spec.rb +182 -0
- data/rspec-core/spec/rspec/core/formatters/console_codes_spec.rb +65 -0
- data/rspec-core/spec/rspec/core/formatters/deprecation_formatter_spec.rb +225 -0
- data/rspec-core/spec/rspec/core/formatters/documentation_formatter_spec.rb +111 -0
- data/rspec-core/spec/rspec/core/formatters/helpers_spec.rb +104 -0
- data/rspec-core/spec/rspec/core/formatters/html_formatter_spec.rb +111 -0
- data/rspec-core/spec/rspec/core/formatters/json_formatter_spec.rb +183 -0
- data/rspec-core/spec/rspec/core/formatters/profile_formatter_spec.rb +99 -0
- data/rspec-core/spec/rspec/core/formatters/progress_formatter_spec.rb +55 -0
- data/rspec-core/spec/rspec/core/formatters/snippet_extractor_spec.rb +26 -0
- data/rspec-core/spec/rspec/core/formatters_spec.rb +160 -0
- data/rspec-core/spec/rspec/core/hooks_filtering_spec.rb +227 -0
- data/rspec-core/spec/rspec/core/hooks_spec.rb +447 -0
- data/rspec-core/spec/rspec/core/memoized_helpers_spec.rb +537 -0
- data/rspec-core/spec/rspec/core/metadata_filter_spec.rb +181 -0
- data/rspec-core/spec/rspec/core/metadata_spec.rb +642 -0
- data/rspec-core/spec/rspec/core/notifications_spec.rb +92 -0
- data/rspec-core/spec/rspec/core/option_parser_spec.rb +270 -0
- data/rspec-core/spec/rspec/core/ordering_spec.rb +102 -0
- data/rspec-core/spec/rspec/core/pending_example_spec.rb +221 -0
- data/rspec-core/spec/rspec/core/pending_spec.rb +8 -0
- data/rspec-core/spec/rspec/core/project_initializer_spec.rb +123 -0
- data/rspec-core/spec/rspec/core/rake_task_spec.rb +351 -0
- data/rspec-core/spec/rspec/core/random_spec.rb +47 -0
- data/rspec-core/spec/rspec/core/reporter_spec.rb +198 -0
- data/rspec-core/spec/rspec/core/resources/a_bar.rb +0 -0
- data/rspec-core/spec/rspec/core/resources/a_foo.rb +0 -0
- data/rspec-core/spec/rspec/core/resources/a_spec.rb +1 -0
- data/rspec-core/spec/rspec/core/resources/acceptance/bar.rb +0 -0
- data/rspec-core/spec/rspec/core/resources/acceptance/foo_spec.rb +0 -0
- data/rspec-core/spec/rspec/core/resources/custom_example_group_runner.rb +14 -0
- data/rspec-core/spec/rspec/core/resources/formatter_specs.rb +58 -0
- data/rspec-core/spec/rspec/core/resources/utf8_encoded.rb +9 -0
- data/rspec-core/spec/rspec/core/rspec_matchers_spec.rb +45 -0
- data/rspec-core/spec/rspec/core/ruby_project_spec.rb +26 -0
- data/rspec-core/spec/rspec/core/runner_spec.rb +309 -0
- data/rspec-core/spec/rspec/core/shared_context_spec.rb +102 -0
- data/rspec-core/spec/rspec/core/shared_example_group_spec.rb +268 -0
- data/rspec-core/spec/rspec/core/warnings_spec.rb +72 -0
- data/rspec-core/spec/rspec/core/world_spec.rb +142 -0
- data/rspec-core/spec/rspec/core_spec.rb +103 -0
- data/rspec-core/spec/spec_helper.rb +89 -0
- data/rspec-core/spec/support/config_options_helper.rb +13 -0
- data/rspec-core/spec/support/fake_minitest/minitest.rb +0 -0
- data/rspec-core/spec/support/fake_minitest/minitest/minitest_assertions.rb +4 -0
- data/rspec-core/spec/support/fake_minitest/test/unit/assertions.rb +6 -0
- data/rspec-core/spec/support/formatter_support.rb +263 -0
- data/rspec-core/spec/support/helper_methods.rb +26 -0
- data/rspec-core/spec/support/isolated_home_directory.rb +16 -0
- data/rspec-core/spec/support/matchers.rb +103 -0
- data/rspec-core/spec/support/mathn_integration_support.rb +12 -0
- data/rspec-core/spec/support/sandboxing.rb +50 -0
- data/rspec-core/spec/support/shared_example_groups.rb +43 -0
- data/rspec-core/spec/support/spec_files.rb +44 -0
- data/rspec-expectations/benchmarks/2.x_vs_3.x_matcher_dsl_implementation.rb +253 -0
- data/rspec-expectations/benchmarks/autoload_v_require.rb +25 -0
- data/rspec-expectations/benchmarks/cloning_matchers.rb +19 -0
- data/rspec-expectations/benchmarks/default_messages_as_methods_v_blocks.rb +27 -0
- data/rspec-expectations/benchmarks/example_spec.rb +9 -0
- data/rspec-expectations/benchmarks/include_v_superclass.rb +39 -0
- data/rspec-expectations/benchmarks/match_array/failing_with_distinct_items.rb +147 -0
- data/rspec-expectations/benchmarks/match_array/failing_with_duplicate_items.rb +122 -0
- data/rspec-expectations/benchmarks/match_array/passing_with_distinct_items.rb +154 -0
- data/rspec-expectations/benchmarks/match_array/passing_with_duplicate_items.rb +132 -0
- data/rspec-expectations/benchmarks/match_array/rubyprof/passing_with_distinct_items.rb +9 -0
- data/rspec-expectations/benchmarks/matcher_dsl_vs_classes.rb +180 -0
- data/rspec-expectations/benchmarks/method_to_proc.rb +72 -0
- data/rspec-expectations/benchmarks/set_vs_array_include.rb +68 -0
- data/rspec-expectations/features/step_definitions/additional_cli_steps.rb +22 -0
- data/rspec-expectations/features/support/disallow_certain_apis.rb +34 -0
- data/rspec-expectations/features/support/env.rb +21 -0
- data/rspec-expectations/features/support/rubinius.rb +6 -0
- data/rspec-expectations/lib/rspec/expectations.rb +68 -0
- data/rspec-expectations/lib/rspec/expectations/configuration.rb +147 -0
- data/rspec-expectations/lib/rspec/expectations/expectation_target.rb +119 -0
- data/rspec-expectations/lib/rspec/expectations/fail_with.rb +34 -0
- data/rspec-expectations/lib/rspec/expectations/handler.rb +167 -0
- data/rspec-expectations/lib/rspec/expectations/minitest_integration.rb +17 -0
- data/rspec-expectations/lib/rspec/expectations/syntax.rb +132 -0
- data/rspec-expectations/lib/rspec/expectations/version.rb +8 -0
- data/rspec-expectations/lib/rspec/matchers.rb +967 -0
- data/rspec-expectations/lib/rspec/matchers/aliased_matcher.rb +116 -0
- data/rspec-expectations/lib/rspec/matchers/built_in.rb +52 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/all.rb +85 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/base_matcher.rb +132 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/be.rb +277 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/be_between.rb +77 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/be_within.rb +72 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/change.rb +337 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/compound.rb +258 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/contain_exactly.rb +249 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/cover.rb +24 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/eq.rb +75 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/eql.rb +34 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/equal.rb +81 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/exist.rb +86 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/has.rb +101 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/have_attributes.rb +84 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/include.rb +105 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/match.rb +29 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/operators.rb +119 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/output.rb +152 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/raise_error.rb +174 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/respond_to.rb +91 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/satisfy.rb +39 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/start_and_end_with.rb +82 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
- data/rspec-expectations/lib/rspec/matchers/built_in/yield.rb +420 -0
- data/rspec-expectations/lib/rspec/matchers/composable.rb +183 -0
- data/rspec-expectations/lib/rspec/matchers/dsl.rb +391 -0
- data/rspec-expectations/lib/rspec/matchers/generated_descriptions.rb +42 -0
- data/rspec-expectations/lib/rspec/matchers/matcher_delegator.rb +33 -0
- data/rspec-expectations/lib/rspec/matchers/matcher_protocol.rb +99 -0
- data/rspec-expectations/lib/rspec/matchers/pretty.rb +77 -0
- data/rspec-expectations/spec/rspec/expectations/configuration_spec.rb +226 -0
- data/rspec-expectations/spec/rspec/expectations/expectation_target_spec.rb +147 -0
- data/rspec-expectations/spec/rspec/expectations/extensions/kernel_spec.rb +69 -0
- data/rspec-expectations/spec/rspec/expectations/fail_with_spec.rb +73 -0
- data/rspec-expectations/spec/rspec/expectations/handler_spec.rb +200 -0
- data/rspec-expectations/spec/rspec/expectations/minitest_integration_spec.rb +25 -0
- data/rspec-expectations/spec/rspec/expectations/syntax_spec.rb +93 -0
- data/rspec-expectations/spec/rspec/expectations_spec.rb +15 -0
- data/rspec-expectations/spec/rspec/matchers/aliased_matcher_spec.rb +113 -0
- data/rspec-expectations/spec/rspec/matchers/aliases_spec.rb +455 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/all_spec.rb +212 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/base_matcher_spec.rb +140 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/be_between_spec.rb +157 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/be_instance_of_spec.rb +61 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/be_kind_of_spec.rb +39 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/be_spec.rb +685 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/be_within_spec.rb +139 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/change_spec.rb +829 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/compound_spec.rb +537 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/contain_exactly_spec.rb +556 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/cover_spec.rb +67 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/eq_spec.rb +176 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/eql_spec.rb +39 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/equal_spec.rb +130 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/exist_spec.rb +139 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/has_spec.rb +179 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/have_attributes_spec.rb +177 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/include_spec.rb +587 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/match_spec.rb +100 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/operators_spec.rb +250 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/output_spec.rb +168 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/raise_error_spec.rb +446 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/respond_to_spec.rb +290 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/satisfy_spec.rb +42 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/start_and_end_with_spec.rb +347 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/throw_symbol_spec.rb +133 -0
- data/rspec-expectations/spec/rspec/matchers/built_in/yield_spec.rb +643 -0
- data/rspec-expectations/spec/rspec/matchers/composable_spec.rb +77 -0
- data/rspec-expectations/spec/rspec/matchers/define_negated_matcher_spec.rb +199 -0
- data/rspec-expectations/spec/rspec/matchers/description_generation_spec.rb +189 -0
- data/rspec-expectations/spec/rspec/matchers/dsl_spec.rb +1036 -0
- data/rspec-expectations/spec/rspec/matchers/legacy_spec.rb +104 -0
- data/rspec-expectations/spec/rspec/matchers_spec.rb +108 -0
- data/rspec-expectations/spec/spec_helper.rb +94 -0
- data/rspec-expectations/spec/support/matchers.rb +54 -0
- data/rspec-expectations/spec/support/shared_examples.rb +101 -0
- data/rspec-mocks/benchmarks/double_creation.rb +66 -0
- data/rspec-mocks/benchmarks/each_value_v_values_each.rb +58 -0
- data/rspec-mocks/benchmarks/find_original_method_early.rb +64 -0
- data/rspec-mocks/benchmarks/method_defined_at_any_visibility.rb +101 -0
- data/rspec-mocks/benchmarks/thread_safety.rb +24 -0
- data/rspec-mocks/benchmarks/transfer_nested_constants.rb +77 -0
- data/rspec-mocks/features/step_definitions/additional_cli_steps.rb +21 -0
- data/rspec-mocks/features/support/disallow_certain_apis.rb +24 -0
- data/rspec-mocks/features/support/env.rb +22 -0
- data/rspec-mocks/features/support/rubinius.rb +6 -0
- data/rspec-mocks/lib/rspec/mocks.rb +126 -0
- data/rspec-mocks/lib/rspec/mocks/any_instance.rb +10 -0
- data/rspec-mocks/lib/rspec/mocks/any_instance/chain.rb +109 -0
- data/rspec-mocks/lib/rspec/mocks/any_instance/expect_chain_chain.rb +35 -0
- data/rspec-mocks/lib/rspec/mocks/any_instance/expectation_chain.rb +48 -0
- data/rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb +85 -0
- data/rspec-mocks/lib/rspec/mocks/any_instance/proxy.rb +116 -0
- data/rspec-mocks/lib/rspec/mocks/any_instance/recorder.rb +267 -0
- data/rspec-mocks/lib/rspec/mocks/any_instance/stub_chain.rb +45 -0
- data/rspec-mocks/lib/rspec/mocks/any_instance/stub_chain_chain.rb +27 -0
- data/rspec-mocks/lib/rspec/mocks/argument_list_matcher.rb +72 -0
- data/rspec-mocks/lib/rspec/mocks/argument_matchers.rb +282 -0
- data/rspec-mocks/lib/rspec/mocks/configuration.rb +157 -0
- data/rspec-mocks/lib/rspec/mocks/error_generator.rb +253 -0
- data/rspec-mocks/lib/rspec/mocks/example_methods.rb +379 -0
- data/rspec-mocks/lib/rspec/mocks/instance_method_stasher.rb +135 -0
- data/rspec-mocks/lib/rspec/mocks/marshal_extension.rb +41 -0
- data/rspec-mocks/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
- data/rspec-mocks/lib/rspec/mocks/matchers/have_received.rb +121 -0
- data/rspec-mocks/lib/rspec/mocks/matchers/receive.rb +106 -0
- data/rspec-mocks/lib/rspec/mocks/matchers/receive_message_chain.rb +66 -0
- data/rspec-mocks/lib/rspec/mocks/matchers/receive_messages.rb +71 -0
- data/rspec-mocks/lib/rspec/mocks/message_chain.rb +91 -0
- data/rspec-mocks/lib/rspec/mocks/message_expectation.rb +694 -0
- data/rspec-mocks/lib/rspec/mocks/method_double.rb +260 -0
- data/rspec-mocks/lib/rspec/mocks/method_reference.rb +155 -0
- data/rspec-mocks/lib/rspec/mocks/mutate_const.rb +324 -0
- data/rspec-mocks/lib/rspec/mocks/object_reference.rb +91 -0
- data/rspec-mocks/lib/rspec/mocks/order_group.rb +81 -0
- data/rspec-mocks/lib/rspec/mocks/proxy.rb +431 -0
- data/rspec-mocks/lib/rspec/mocks/space.rb +221 -0
- data/rspec-mocks/lib/rspec/mocks/standalone.rb +3 -0
- data/rspec-mocks/lib/rspec/mocks/syntax.rb +329 -0
- data/rspec-mocks/lib/rspec/mocks/targets.rb +97 -0
- data/rspec-mocks/lib/rspec/mocks/test_double.rb +135 -0
- data/rspec-mocks/lib/rspec/mocks/verifying_double.rb +127 -0
- data/rspec-mocks/lib/rspec/mocks/verifying_message_expecation.rb +62 -0
- data/rspec-mocks/lib/rspec/mocks/verifying_proxy.rb +171 -0
- data/rspec-mocks/lib/rspec/mocks/version.rb +9 -0
- data/rspec-mocks/spec/rspec/mocks/and_call_original_spec.rb +267 -0
- data/rspec-mocks/spec/rspec/mocks/and_return_spec.rb +21 -0
- data/rspec-mocks/spec/rspec/mocks/and_wrap_original_spec.rb +63 -0
- data/rspec-mocks/spec/rspec/mocks/and_yield_spec.rb +161 -0
- data/rspec-mocks/spec/rspec/mocks/any_instance/message_chains_spec.rb +39 -0
- data/rspec-mocks/spec/rspec/mocks/any_instance_spec.rb +1242 -0
- data/rspec-mocks/spec/rspec/mocks/argument_matchers_spec.rb +336 -0
- data/rspec-mocks/spec/rspec/mocks/array_including_matcher_spec.rb +39 -0
- data/rspec-mocks/spec/rspec/mocks/at_least_spec.rb +147 -0
- data/rspec-mocks/spec/rspec/mocks/at_most_spec.rb +113 -0
- data/rspec-mocks/spec/rspec/mocks/before_all_spec.rb +75 -0
- data/rspec-mocks/spec/rspec/mocks/block_return_value_spec.rb +68 -0
- data/rspec-mocks/spec/rspec/mocks/combining_implementation_instructions_spec.rb +196 -0
- data/rspec-mocks/spec/rspec/mocks/configuration_spec.rb +175 -0
- data/rspec-mocks/spec/rspec/mocks/double_spec.rb +830 -0
- data/rspec-mocks/spec/rspec/mocks/example_methods_spec.rb +11 -0
- data/rspec-mocks/spec/rspec/mocks/expiration_spec.rb +90 -0
- data/rspec-mocks/spec/rspec/mocks/hash_excluding_matcher_spec.rb +65 -0
- data/rspec-mocks/spec/rspec/mocks/hash_including_matcher_spec.rb +92 -0
- data/rspec-mocks/spec/rspec/mocks/instance_method_stasher_spec.rb +72 -0
- data/rspec-mocks/spec/rspec/mocks/marshal_extension_spec.rb +67 -0
- data/rspec-mocks/spec/rspec/mocks/matchers/have_received_spec.rb +513 -0
- data/rspec-mocks/spec/rspec/mocks/matchers/receive_message_chain_spec.rb +227 -0
- data/rspec-mocks/spec/rspec/mocks/matchers/receive_messages_spec.rb +148 -0
- data/rspec-mocks/spec/rspec/mocks/matchers/receive_spec.rb +525 -0
- data/rspec-mocks/spec/rspec/mocks/methods_spec.rb +24 -0
- data/rspec-mocks/spec/rspec/mocks/mock_expectation_error_spec.rb +20 -0
- data/rspec-mocks/spec/rspec/mocks/mock_ordering_spec.rb +112 -0
- data/rspec-mocks/spec/rspec/mocks/multiple_return_value_spec.rb +130 -0
- data/rspec-mocks/spec/rspec/mocks/mutate_const_spec.rb +561 -0
- data/rspec-mocks/spec/rspec/mocks/nil_expectation_warning_spec.rb +52 -0
- data/rspec-mocks/spec/rspec/mocks/null_object_double_spec.rb +135 -0
- data/rspec-mocks/spec/rspec/mocks/once_counts_spec.rb +50 -0
- data/rspec-mocks/spec/rspec/mocks/order_group_spec.rb +26 -0
- data/rspec-mocks/spec/rspec/mocks/partial_double_spec.rb +379 -0
- data/rspec-mocks/spec/rspec/mocks/partial_double_using_mocks_directly_spec.rb +83 -0
- data/rspec-mocks/spec/rspec/mocks/precise_counts_spec.rb +66 -0
- data/rspec-mocks/spec/rspec/mocks/serialization_spec.rb +89 -0
- data/rspec-mocks/spec/rspec/mocks/should_syntax_spec.rb +539 -0
- data/rspec-mocks/spec/rspec/mocks/space_spec.rb +242 -0
- data/rspec-mocks/spec/rspec/mocks/spy_spec.rb +127 -0
- data/rspec-mocks/spec/rspec/mocks/stash_spec.rb +43 -0
- data/rspec-mocks/spec/rspec/mocks/stub_chain_spec.rb +166 -0
- data/rspec-mocks/spec/rspec/mocks/stub_implementation_spec.rb +98 -0
- data/rspec-mocks/spec/rspec/mocks/stub_spec.rb +520 -0
- data/rspec-mocks/spec/rspec/mocks/stubbed_message_expectations_spec.rb +56 -0
- data/rspec-mocks/spec/rspec/mocks/syntax_agnostic_message_matchers_spec.rb +99 -0
- data/rspec-mocks/spec/rspec/mocks/syntax_spec.rb +7 -0
- data/rspec-mocks/spec/rspec/mocks/test_double_spec.rb +53 -0
- data/rspec-mocks/spec/rspec/mocks/thrice_counts_spec.rb +72 -0
- data/rspec-mocks/spec/rspec/mocks/to_ary_spec.rb +52 -0
- data/rspec-mocks/spec/rspec/mocks/twice_counts_spec.rb +64 -0
- data/rspec-mocks/spec/rspec/mocks/verifying_doubles/class_double_with_class_loaded_spec.rb +118 -0
- data/rspec-mocks/spec/rspec/mocks/verifying_doubles/class_double_with_class_not_loaded_spec.rb +58 -0
- data/rspec-mocks/spec/rspec/mocks/verifying_doubles/construction_spec.rb +54 -0
- data/rspec-mocks/spec/rspec/mocks/verifying_doubles/expected_arg_verification_spec.rb +81 -0
- data/rspec-mocks/spec/rspec/mocks/verifying_doubles/instance_double_with_class_loaded_spec.rb +195 -0
- data/rspec-mocks/spec/rspec/mocks/verifying_doubles/instance_double_with_class_not_loaded_spec.rb +57 -0
- data/rspec-mocks/spec/rspec/mocks/verifying_doubles/method_visibility_spec.rb +129 -0
- data/rspec-mocks/spec/rspec/mocks/verifying_doubles/object_double_spec.rb +68 -0
- data/rspec-mocks/spec/rspec/mocks_spec.rb +199 -0
- data/rspec-mocks/spec/spec_helper.rb +131 -0
- data/rspec-mocks/spec/support/before_all_shared_example_group.rb +16 -0
- data/rspec-mocks/spec/support/doubled_classes.rb +74 -0
- data/rspec-mocks/spec/support/matchers.rb +15 -0
- data/rspec-support/benchmarks/caller.rb +81 -0
- data/rspec-support/lib/rspec/support.rb +76 -0
- data/rspec-support/lib/rspec/support/caller_filter.rb +63 -0
- data/rspec-support/lib/rspec/support/differ.rb +214 -0
- data/rspec-support/lib/rspec/support/directory_maker.rb +61 -0
- data/rspec-support/lib/rspec/support/encoded_string.rb +69 -0
- data/rspec-support/lib/rspec/support/fuzzy_matcher.rb +48 -0
- data/rspec-support/lib/rspec/support/hunk_generator.rb +47 -0
- data/rspec-support/lib/rspec/support/matcher_definition.rb +31 -0
- data/rspec-support/lib/rspec/support/method_signature_verifier.rb +272 -0
- data/rspec-support/lib/rspec/support/os.rb +18 -0
- data/rspec-support/lib/rspec/support/recursive_const_methods.rb +76 -0
- data/rspec-support/lib/rspec/support/ruby_features.rb +45 -0
- data/rspec-support/lib/rspec/support/spec.rb +72 -0
- data/rspec-support/lib/rspec/support/spec/deprecation_helpers.rb +60 -0
- data/rspec-support/lib/rspec/support/spec/formatting_support.rb +9 -0
- data/rspec-support/lib/rspec/support/spec/in_sub_process.rb +43 -0
- data/rspec-support/lib/rspec/support/spec/prevent_load_time_warnings.rb +44 -0
- data/rspec-support/lib/rspec/support/spec/shell_out.rb +69 -0
- data/rspec-support/lib/rspec/support/spec/stderr_splitter.rb +52 -0
- data/rspec-support/lib/rspec/support/spec/with_isolated_directory.rb +9 -0
- data/rspec-support/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
- data/rspec-support/lib/rspec/support/version.rb +7 -0
- data/rspec-support/lib/rspec/support/version_checker.rb +53 -0
- data/rspec-support/lib/rspec/support/warnings.rb +39 -0
- data/rspec-support/spec/rspec/support/caller_filter_spec.rb +66 -0
- data/rspec-support/spec/rspec/support/differ_spec.rb +322 -0
- data/rspec-support/spec/rspec/support/directory_maker_spec.rb +58 -0
- data/rspec-support/spec/rspec/support/encoded_string_spec.rb +86 -0
- data/rspec-support/spec/rspec/support/fuzzy_matcher_spec.rb +179 -0
- data/rspec-support/spec/rspec/support/method_signature_verifier_spec.rb +357 -0
- data/rspec-support/spec/rspec/support/os_spec.rb +36 -0
- data/rspec-support/spec/rspec/support/recursive_const_methods_spec.rb +49 -0
- data/rspec-support/spec/rspec/support/spec/in_sub_process_spec.rb +36 -0
- data/rspec-support/spec/rspec/support/spec/prevent_load_time_warnings_spec.rb +10 -0
- data/rspec-support/spec/rspec/support/spec/shell_out_spec.rb +44 -0
- data/rspec-support/spec/rspec/support/spec/stderr_splitter_spec.rb +60 -0
- data/rspec-support/spec/rspec/support/spec/with_isolated_std_err_spec.rb +21 -0
- data/rspec-support/spec/rspec/support/version_checker_spec.rb +29 -0
- data/rspec-support/spec/rspec/support/warnings_spec.rb +66 -0
- data/rspec-support/spec/rspec/support_spec.rb +119 -0
- data/rspec-support/spec/spec_helper.rb +2 -0
- data/rspec/lib/rspec.rb +3 -0
- data/rspec/lib/rspec/version.rb +5 -0
- data/spec/mri/integration/browser_spec.rb +31 -0
- data/spec/mri/integration/rack/sprockets_runner_js_errors.rb.erb +20 -0
- data/spec/mri/integration/spec_opts_spec.rb +81 -0
- data/spec/mri/unit/opal/rspec/browser_formatter_spec.rb +35 -0
- data/spec/mri/unit/opal/rspec/cached_environment_spec.rb +85 -0
- data/spec/mri/unit/opal/rspec/opal/browser_formatter_spec.rb +14 -0
- data/spec/mri/unit/opal/rspec/rack/config.ru +12 -0
- data/spec/mri/unit/opal/rspec/rake_task_spec.rb +261 -0
- data/spec/mri/unit/opal/rspec/sprockets_environment_spec.rb +55 -0
- data/spec/mri/unit/opal/rspec/temp_dir_helper.rb +19 -0
- data/spec/opal/after_hooks_spec.rb +140 -0
- data/spec/opal/around_hooks_spec.rb +164 -0
- data/spec/opal/async_spec.rb +184 -0
- data/spec/opal/before_hooks_spec.rb +183 -0
- data/spec/opal/example_spec.rb +174 -0
- data/spec/opal/expected_failures.txt +40 -0
- data/spec/opal/matchers_spec.rb +205 -0
- data/spec/opal/mock_spec.rb +63 -0
- data/spec/opal/should_syntax_spec.rb +17 -0
- data/spec/opal/skip_pending_spec.rb +43 -0
- data/spec/opal/subject_spec.rb +87 -0
- data/spec/other/color_on_by_default_spec.rb +9 -0
- data/spec/other/dummy_spec.rb +5 -0
- data/spec/other/formatter_dependency.rb +3 -0
- data/spec/other/ignored_spec.opal +5 -0
- data/spec/other/test_formatter.rb +9 -0
- data/spec/rspec/core/config.rb +5 -0
- data/spec/rspec/core/config.ru +4 -0
- data/spec/rspec/core/core_spec_loader.rb +46 -0
- data/spec/rspec/core/filter/core/async/example_group.txt +13 -0
- data/spec/rspec/core/filter/core/async/hooks.rb +12 -0
- data/spec/rspec/core/filter/core/async/memoized_helpers.txt +3 -0
- data/spec/rspec/core/filter/core/async/metadata.txt +2 -0
- data/spec/rspec/core/filter/core/bugs/filter_manager.txt +4 -0
- data/spec/rspec/core/filter/core/bugs/formatters.txt +4 -0
- data/spec/rspec/core/filter/core/bugs/memoized_helpers.rb +11 -0
- data/spec/rspec/core/filter/core/bugs/metadata.txt +5 -0
- data/spec/rspec/core/filter/core/bugs/sandbox/subject_issue_test.rb +328 -0
- data/spec/rspec/core/filter/core/bugs/warnings_deprecations.txt +3 -0
- data/spec/rspec/core/filter/core/unsupported/core.txt +5 -0
- data/spec/rspec/core/filter/core/unsupported/example.txt +7 -0
- data/spec/rspec/core/filter/core/unsupported/example_group.txt +13 -0
- data/spec/rspec/core/filter/core/unsupported/filter_manager.txt +7 -0
- data/spec/rspec/core/filter/core/unsupported/formatters.txt +27 -0
- data/spec/rspec/core/filter/core/unsupported/hooks.txt +2 -0
- data/spec/rspec/core/filter/core/unsupported/memoized_helpers.txt +6 -0
- data/spec/rspec/core/filter/core/unsupported/metadata.txt +14 -0
- data/spec/rspec/core/filter/core/unsupported/metadata_filter.txt +2 -0
- data/spec/rspec/core/filter/core/unsupported/notifications.txt +8 -0
- data/spec/rspec/core/filter/core/unsupported/world.txt +3 -0
- data/spec/rspec/core/fixes/missing_constants.rb +20 -0
- data/spec/rspec/core/fixes/opal_itself.rb +38 -0
- data/spec/rspec/core/fixes/shared_examples.rb +3 -0
- data/spec/rspec/core/opal_alternates/rspec/core/example_group_spec.rb +145 -0
- data/spec/rspec/core/opal_alternates/rspec/core/failed_example_notification_spec.rb +31 -0
- data/spec/rspec/core/opal_alternates/rspec/core/hooks_spec.rb +113 -0
- data/spec/rspec/core/opal_alternates/rspec/core/memoized_helpers_spec.rb +36 -0
- data/spec/rspec/core/opal_alternates/rspec/core/metadata_spec.rb +48 -0
- data/spec/rspec/core/require_specs.rb +25 -0
- data/spec/rspec/core/sandboxing.rb +72 -0
- data/spec/rspec/core/spec_files_exclude.txt +41 -0
- data/spec/rspec/expectations/config.rb +16 -0
- data/spec/rspec/expectations/config.ru +4 -0
- data/spec/rspec/expectations/expectation_spec_loader.rb +110 -0
- data/spec/rspec/expectations/filter/bugs/aliased_matcher.txt +2 -0
- data/spec/rspec/expectations/filter/bugs/aliases.rb +13 -0
- data/spec/rspec/expectations/filter/bugs/base_matcher.txt +2 -0
- data/spec/rspec/expectations/filter/bugs/be.rb +4 -0
- data/spec/rspec/expectations/filter/bugs/be_instance_of.rb +7 -0
- data/spec/rspec/expectations/filter/bugs/be_spec.txt +2 -0
- data/spec/rspec/expectations/filter/bugs/configuration.txt +8 -0
- data/spec/rspec/expectations/filter/bugs/contain_exactly.rb +13 -0
- data/spec/rspec/expectations/filter/bugs/define_negated_matcher.rb +9 -0
- data/spec/rspec/expectations/filter/bugs/description_generation.rb +4 -0
- data/spec/rspec/expectations/filter/bugs/dsl.txt +14 -0
- data/spec/rspec/expectations/filter/bugs/equal.txt +3 -0
- data/spec/rspec/expectations/filter/bugs/expectation_target.txt +2 -0
- data/spec/rspec/expectations/filter/bugs/expectations.txt +2 -0
- data/spec/rspec/expectations/filter/bugs/have_attributes.rb +8 -0
- data/spec/rspec/expectations/filter/bugs/include.rb +4 -0
- data/spec/rspec/expectations/filter/bugs/operators.txt +2 -0
- data/spec/rspec/expectations/filter/bugs/raise_error.txt +2 -0
- data/spec/rspec/expectations/filter/bugs/respond_to.rb +13 -0
- data/spec/rspec/expectations/filter/bugs/sandbox/undef.rb +20 -0
- data/spec/rspec/expectations/filter/unsupported/aliases.txt +5 -0
- data/spec/rspec/expectations/filter/unsupported/be.txt +2 -0
- data/spec/rspec/expectations/filter/unsupported/be_instance_of.txt +3 -0
- data/spec/rspec/expectations/filter/unsupported/change.txt +2 -0
- data/spec/rspec/expectations/filter/unsupported/configuration.txt +2 -0
- data/spec/rspec/expectations/filter/unsupported/contain_exactly.txt +2 -0
- data/spec/rspec/expectations/filter/unsupported/description_generation.txt +6 -0
- data/spec/rspec/expectations/filter/unsupported/dsl.txt +8 -0
- data/spec/rspec/expectations/filter/unsupported/eq.txt +10 -0
- data/spec/rspec/expectations/filter/unsupported/equal.txt +3 -0
- data/spec/rspec/expectations/filter/unsupported/expectation_target.txt +2 -0
- data/spec/rspec/expectations/filter/unsupported/expectations.txt +8 -0
- data/spec/rspec/expectations/filter/unsupported/has.txt +2 -0
- data/spec/rspec/expectations/filter/unsupported/include.txt +3 -0
- data/spec/rspec/expectations/filter/unsupported/match.txt +2 -0
- data/spec/rspec/expectations/filter/unsupported/matchers.txt +11 -0
- data/spec/rspec/expectations/filter/unsupported/output.txt +14 -0
- data/spec/rspec/expectations/filter/unsupported/raise_error.txt +3 -0
- data/spec/rspec/expectations/filter/unsupported/respond_to.rb +5 -0
- data/spec/rspec/expectations/filter/unsupported/syntax.txt +3 -0
- data/spec/rspec/expectations/filter/unsupported/yield.txt +2 -0
- data/spec/rspec/expectations/fixes/example_patches.rb +32 -0
- data/spec/rspec/expectations/fixes/missing_constants.rb +12 -0
- data/spec/rspec/expectations/fixes/not_compatible.rb +6 -0
- data/spec/rspec/expectations/fixes/opal_itself.rb +140 -0
- data/spec/rspec/expectations/opal_alternates/be_instance_of_spec.rb +11 -0
- data/spec/rspec/expectations/opal_alternates/dsl_spec.rb +66 -0
- data/spec/rspec/expectations/opal_alternates/expectation_target_spec.rb +21 -0
- data/spec/rspec/expectations/opal_alternates/yield_spec.rb +11 -0
- data/spec/rspec/expectations/require_specs.rb +16 -0
- data/spec/rspec/expectations/shared_examples.rb +47 -0
- data/spec/rspec/expectations/spec_files_exclude.txt +2 -0
- data/spec/rspec/expectations/spec_helper_opal.rb +13 -0
- data/spec/rspec/filter_processor.rb +77 -0
- data/spec/rspec/mocks/config.ru +4 -0
- data/spec/rspec/mocks/filter/bugs/and_call_original.txt +9 -0
- data/spec/rspec/mocks/filter/bugs/and_wrap_original.txt +2 -0
- data/spec/rspec/mocks/filter/bugs/any_instance.rb +24 -0
- data/spec/rspec/mocks/filter/bugs/argument_matchers.rb +3 -0
- data/spec/rspec/mocks/filter/bugs/configuration.txt +2 -0
- data/spec/rspec/mocks/filter/bugs/double.txt +3 -0
- data/spec/rspec/mocks/filter/bugs/expiration.txt +2 -0
- data/spec/rspec/mocks/filter/bugs/instance_method_stasher.txt +2 -0
- data/spec/rspec/mocks/filter/bugs/methods.rb +5 -0
- data/spec/rspec/mocks/filter/bugs/mocks.txt +6 -0
- data/spec/rspec/mocks/filter/bugs/mutate_const.txt +2 -0
- data/spec/rspec/mocks/filter/bugs/partial_double.rb +8 -0
- data/spec/rspec/mocks/filter/bugs/receive.txt +5 -0
- data/spec/rspec/mocks/filter/bugs/should_syntax.txt +5 -0
- data/spec/rspec/mocks/filter/bugs/space.txt +2 -0
- data/spec/rspec/mocks/filter/bugs/spy.txt +5 -0
- data/spec/rspec/mocks/filter/bugs/stub_implementation.rb +9 -0
- data/spec/rspec/mocks/filter/unsupported/and_call_original.txt +5 -0
- data/spec/rspec/mocks/filter/unsupported/and_return.txt +2 -0
- data/spec/rspec/mocks/filter/unsupported/any_instance.rb +6 -0
- data/spec/rspec/mocks/filter/unsupported/argument_matchers.rb +10 -0
- data/spec/rspec/mocks/filter/unsupported/combining_implementation_instructions.rb +9 -0
- data/spec/rspec/mocks/filter/unsupported/double.rb +16 -0
- data/spec/rspec/mocks/filter/unsupported/expected_arg_verification.txt +2 -0
- data/spec/rspec/mocks/filter/unsupported/have_received.txt +2 -0
- data/spec/rspec/mocks/filter/unsupported/instance_double_with_class_loaded.txt +8 -0
- data/spec/rspec/mocks/filter/unsupported/mocks.rb +8 -0
- data/spec/rspec/mocks/filter/unsupported/nil_expectation_warning.rb +8 -0
- data/spec/rspec/mocks/filter/unsupported/partial_double.rb +6 -0
- data/spec/rspec/mocks/filter/unsupported/receive.txt +13 -0
- data/spec/rspec/mocks/filter/unsupported/receive_message_chain.rb +4 -0
- data/spec/rspec/mocks/filter/unsupported/receive_messages.txt +2 -0
- data/spec/rspec/mocks/filter/unsupported/should_syntax.txt +1 -0
- data/spec/rspec/mocks/filter/unsupported/space.rb +7 -0
- data/spec/rspec/mocks/filter/unsupported/stub.rb +7 -0
- data/spec/rspec/mocks/fixes/doubled_classes.rb +76 -0
- data/spec/rspec/mocks/fixes/missing_constants.rb +3 -0
- data/spec/rspec/mocks/fixes/opal_itself.rb +59 -0
- data/spec/rspec/mocks/mocks_spec_loader.rb +91 -0
- data/spec/rspec/mocks/require_specs.rb +15 -0
- data/spec/rspec/mocks/spec_files_exclude.txt +11 -0
- data/spec/rspec/mocks/spec_helper_opal.rb +129 -0
- data/spec/rspec/opal_rspec_spec_loader.rb +359 -0
- data/spec/rspec/shared/opal/fixes/deprecation_helpers.rb +31 -0
- data/spec/rspec/shared/opal/fixes/rspec_helpers.rb +6 -0
- data/spec/rspec/shared/opal/progress_json_formatter.rb +29 -0
- data/spec/rspec/support/config.rb +5 -0
- data/spec/rspec/support/config.ru +4 -0
- data/spec/rspec/support/filter/bugs/recursive_const_methods.txt +3 -0
- data/spec/rspec/support/filter/bugs/sandbox/basic_object.rb +30 -0
- data/spec/rspec/support/filter/bugs/stderr_splitter_spec.txt +2 -0
- data/spec/rspec/support/filter/bugs/support.txt +2 -0
- data/spec/rspec/support/filter/unsupported/fuzzy_matcher.txt +2 -0
- data/spec/rspec/support/filter/unsupported/support.rb +7 -0
- data/spec/rspec/support/filter/unsupported/warnings.txt +6 -0
- data/spec/rspec/support/fixes/missing_constants.rb +3 -0
- data/spec/rspec/support/fixes/opal_itself.rb +13 -0
- data/spec/rspec/support/require_specs.rb +15 -0
- data/spec/rspec/support/spec_files_exclude.txt +26 -0
- data/spec/rspec/support/spec_helper.rb +27 -0
- data/spec/rspec/support/support_spec_loader.rb +38 -0
- data/util/create_requires.rb +49 -0
- data/vendor/spec_runner.js +64 -0
- metadata +774 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
class << self
|
|
4
|
+
# @private
|
|
5
|
+
attr_accessor :last_matcher, :last_expectation_handler
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
# @api private
|
|
9
|
+
# Used by rspec-core to clear the state used to generate
|
|
10
|
+
# descriptions after an example.
|
|
11
|
+
def self.clear_generated_description
|
|
12
|
+
self.last_matcher = nil
|
|
13
|
+
self.last_expectation_handler = nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @api private
|
|
17
|
+
# Generates an an example description based on the last expectation.
|
|
18
|
+
# Used by rspec-core's one-liner syntax.
|
|
19
|
+
def self.generated_description
|
|
20
|
+
return nil if last_expectation_handler.nil?
|
|
21
|
+
"#{last_expectation_handler.verb} #{last_description}"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
def self.last_description
|
|
27
|
+
last_matcher.respond_to?(:description) ? last_matcher.description : <<-MESSAGE
|
|
28
|
+
When you call a matcher in an example without a String, like this:
|
|
29
|
+
|
|
30
|
+
specify { expect(object).to matcher }
|
|
31
|
+
|
|
32
|
+
or this:
|
|
33
|
+
|
|
34
|
+
it { is_expected.to matcher }
|
|
35
|
+
|
|
36
|
+
RSpec expects the matcher to have a #description method. You should either
|
|
37
|
+
add a String to the example this matcher is being used in, or give it a
|
|
38
|
+
description method. Then you won't have to suffer this lengthy warning again.
|
|
39
|
+
MESSAGE
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
# Provides the necessary plumbing to wrap a matcher with a decorator.
|
|
4
|
+
# @private
|
|
5
|
+
class MatcherDelegator
|
|
6
|
+
include Composable
|
|
7
|
+
attr_reader :base_matcher
|
|
8
|
+
|
|
9
|
+
def initialize(base_matcher)
|
|
10
|
+
@base_matcher = base_matcher
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def method_missing(*args, &block)
|
|
14
|
+
base_matcher.__send__(*args, &block)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
if ::RUBY_VERSION.to_f > 1.8
|
|
18
|
+
def respond_to_missing?(name, include_all=false)
|
|
19
|
+
super || base_matcher.respond_to?(name, include_all)
|
|
20
|
+
end
|
|
21
|
+
else
|
|
22
|
+
def respond_to?(name, include_all=false)
|
|
23
|
+
super || base_matcher.respond_to?(name, include_all)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def initialize_copy(other)
|
|
28
|
+
@base_matcher = @base_matcher.clone
|
|
29
|
+
super
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
# rspec-expectations can work with any matcher object that implements this protocol.
|
|
4
|
+
#
|
|
5
|
+
# @note This class is not loaded at runtime by rspec-expectations. It exists
|
|
6
|
+
# purely to provide documentation for the matcher protocol.
|
|
7
|
+
class MatcherProtocol
|
|
8
|
+
# @!group Required Methods
|
|
9
|
+
|
|
10
|
+
# @method matches?
|
|
11
|
+
# @param actual [Object] The object being matched against.
|
|
12
|
+
# @yield For an expression like `expect(x).to matcher do...end`, the `do/end`
|
|
13
|
+
# block binds to `to`. It passes that block, if there is one, on to this method.
|
|
14
|
+
# @return [Boolean] true if this matcher matches the provided object.
|
|
15
|
+
|
|
16
|
+
# @method failure_message
|
|
17
|
+
# This will only be called if {#matches?} returns false.
|
|
18
|
+
# @return [String] Explanation for the failure.
|
|
19
|
+
|
|
20
|
+
# @!endgroup
|
|
21
|
+
|
|
22
|
+
# @!group Optional Methods
|
|
23
|
+
|
|
24
|
+
# @method does_not_match?
|
|
25
|
+
# In a negative expectation such as `expect(x).not_to foo`, RSpec will
|
|
26
|
+
# call `foo.does_not_match?(x)` if this method is defined. If it's not
|
|
27
|
+
# defined it will fall back to using `!foo.matches?(x)`. This allows you
|
|
28
|
+
# to provide custom logic for the negative case.
|
|
29
|
+
#
|
|
30
|
+
# @param actual [Object] The object being matched against.
|
|
31
|
+
# @yield For an expression like `expect(x).not_to matcher do...end`, the `do/end`
|
|
32
|
+
# block binds to `not_to`. It passes that block, if there is one, on to this method.
|
|
33
|
+
# @return [Boolean] true if this matcher does not match the provided object.
|
|
34
|
+
|
|
35
|
+
# @method failure_message_when_negated
|
|
36
|
+
# This will only be called when a negative match fails.
|
|
37
|
+
# @return [String] Explanation for the failure.
|
|
38
|
+
# @note This method is listed as optional because matchers do not have to
|
|
39
|
+
# support negation. But if your matcher does support negation, this is a
|
|
40
|
+
# required method -- otherwise, you'll get a `NoMethodError`.
|
|
41
|
+
|
|
42
|
+
# @method description
|
|
43
|
+
# The description is used for two things:
|
|
44
|
+
#
|
|
45
|
+
# * When using RSpec's one-liner syntax
|
|
46
|
+
# (e.g. `it { is_expected.to matcher }`), the description
|
|
47
|
+
# is used to generate the example's doc string since you
|
|
48
|
+
# have not provided one.
|
|
49
|
+
# * In a composed matcher expression, the description is used
|
|
50
|
+
# as part of the failure message (and description) of the outer
|
|
51
|
+
# matcher.
|
|
52
|
+
#
|
|
53
|
+
# @return [String] Description of the matcher.
|
|
54
|
+
|
|
55
|
+
# @method supports_block_expectations?
|
|
56
|
+
# Indicates that this matcher can be used in a block expectation expression,
|
|
57
|
+
# such as `expect { foo }.to raise_error`. Generally speaking, this is
|
|
58
|
+
# only needed for matchers which operate on a side effect of a block, rather
|
|
59
|
+
# than on a particular object.
|
|
60
|
+
# @return [Boolean] true if this matcher can be used in block expressions.
|
|
61
|
+
# @note If not defined, RSpec assumes a value of `false` for this method.
|
|
62
|
+
|
|
63
|
+
# @method expects_call_stack_jump?
|
|
64
|
+
# Indicates that when this matcher is used in a block expectation
|
|
65
|
+
# expression, it expects the block to use a ruby construct that causes
|
|
66
|
+
# a call stack jump (such as raising an error or throwing a symbol).
|
|
67
|
+
#
|
|
68
|
+
# This is used internally for compound block expressions, as matchers
|
|
69
|
+
# which expect call stack jumps must be treated with care to work properly.
|
|
70
|
+
#
|
|
71
|
+
# @return [Boolean] true if the matcher expects a call stack jump
|
|
72
|
+
#
|
|
73
|
+
# @note This method is very rarely used or needed.
|
|
74
|
+
# @note If not defined, RSpec assumes a value of `false` for this method.
|
|
75
|
+
|
|
76
|
+
# @method diffable?
|
|
77
|
+
# @return [Boolean] true if `actual` and `expected` can be diffed.
|
|
78
|
+
# Indicates that this matcher provides `actual` and `expected` attributes,
|
|
79
|
+
# and that the values returned by these can be usefully diffed, which can
|
|
80
|
+
# be included in the output.
|
|
81
|
+
|
|
82
|
+
# @method actual
|
|
83
|
+
# @return [String, Object] If an object (rather than a string) is provided,
|
|
84
|
+
# RSpec will use the `pp` library to convert it to multi-line output in
|
|
85
|
+
# order to diff.
|
|
86
|
+
# The actual value for the purposes of a diff.
|
|
87
|
+
# @note This method is required if `diffable?` returns true.
|
|
88
|
+
|
|
89
|
+
# @method expected
|
|
90
|
+
# @return [String, Object] If an object (rather than a string) is provided,
|
|
91
|
+
# RSpec will use the `pp` library to convert it to multi-line output in
|
|
92
|
+
# order to diff.
|
|
93
|
+
# The expected value for the purposes of a diff.
|
|
94
|
+
# @note This method is required if `diffable?` returns true.
|
|
95
|
+
|
|
96
|
+
# @!endgroup
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
# @api private
|
|
4
|
+
# Contains logic to facilitate converting ruby symbols and
|
|
5
|
+
# objects to english phrases.
|
|
6
|
+
module Pretty
|
|
7
|
+
# @api private
|
|
8
|
+
# Converts a symbol into an english expression.
|
|
9
|
+
def split_words(sym)
|
|
10
|
+
sym.to_s.gsub(/_/, ' ')
|
|
11
|
+
end
|
|
12
|
+
module_function :split_words
|
|
13
|
+
|
|
14
|
+
# @api private
|
|
15
|
+
# Converts a collection of objects into an english expression.
|
|
16
|
+
def to_sentence(words)
|
|
17
|
+
return " #{words.inspect}" if !words || Struct === words
|
|
18
|
+
words = Array(words).map { |w| to_word(w) }
|
|
19
|
+
case words.length
|
|
20
|
+
when 0
|
|
21
|
+
""
|
|
22
|
+
when 1
|
|
23
|
+
" #{words[0]}"
|
|
24
|
+
when 2
|
|
25
|
+
" #{words[0]} and #{words[1]}"
|
|
26
|
+
else
|
|
27
|
+
" #{words[0...-1].join(', ')}, and #{words[-1]}"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @api private
|
|
32
|
+
# Converts the given item to string suitable for use in a list expression.
|
|
33
|
+
def to_word(item)
|
|
34
|
+
is_matcher_with_description?(item) ? item.description : item.inspect
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# @private
|
|
38
|
+
# Provides an English expression for the matcher name.
|
|
39
|
+
def name_to_sentence
|
|
40
|
+
split_words(name)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @api private
|
|
44
|
+
# Provides a name for the matcher.
|
|
45
|
+
def name
|
|
46
|
+
defined?(@name) ? @name : underscore(self.class.name.split("::").last)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @private
|
|
50
|
+
# Borrowed from ActiveSupport
|
|
51
|
+
def underscore(camel_cased_word)
|
|
52
|
+
word = camel_cased_word.to_s.dup
|
|
53
|
+
word.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
|
54
|
+
word.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
|
|
55
|
+
word.tr!("-", "_")
|
|
56
|
+
word.downcase!
|
|
57
|
+
word
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
private
|
|
61
|
+
|
|
62
|
+
def is_matcher_with_description?(object)
|
|
63
|
+
RSpec::Matchers.is_a_matcher?(object) && object.respond_to?(:description)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# `{ :a => 5, :b => 2 }.inspect` produces:
|
|
67
|
+
# {:a=>5, :b=>2}
|
|
68
|
+
# ...but it looks much better as:
|
|
69
|
+
# {:a => 5, :b => 2}
|
|
70
|
+
#
|
|
71
|
+
# This is idempotent and safe to run on a string multiple times.
|
|
72
|
+
def improve_hash_formatting(inspect_string)
|
|
73
|
+
inspect_string.gsub(/(\S)=>(\S)/, '\1 => \2')
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
require 'delegate'
|
|
2
|
+
|
|
3
|
+
module RSpec
|
|
4
|
+
module Expectations
|
|
5
|
+
RSpec.describe Configuration do
|
|
6
|
+
let(:config) { Configuration.new }
|
|
7
|
+
|
|
8
|
+
describe "#backtrace_formatter" do
|
|
9
|
+
let(:original_backtrace) { %w[ clean-me/a.rb other/file.rb clean-me/b.rb ] }
|
|
10
|
+
let(:cleaned_backtrace) { %w[ other/file.rb ] }
|
|
11
|
+
|
|
12
|
+
let(:formatted_backtrace) do
|
|
13
|
+
config.backtrace_formatter.format_backtrace(original_backtrace)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
before do
|
|
17
|
+
@old_patterns = RSpec.configuration.backtrace_exclusion_patterns
|
|
18
|
+
@orig_full_backtrace = RSpec.configuration.full_backtrace?
|
|
19
|
+
RSpec.configuration.full_backtrace = false
|
|
20
|
+
RSpec.configuration.backtrace_exclusion_patterns = [/clean-me/]
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
after do
|
|
24
|
+
RSpec.configuration.backtrace_exclusion_patterns = @old_patterns
|
|
25
|
+
RSpec.configuration.full_backtrace = @orig_full_backtrace
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "defaults to rspec-core's backtrace formatter when rspec-core is loaded" do
|
|
29
|
+
expect(config.backtrace_formatter).to be(RSpec.configuration.backtrace_formatter)
|
|
30
|
+
expect(formatted_backtrace).to eq(cleaned_backtrace)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it "defaults to a null formatter when rspec-core is not loaded" do
|
|
34
|
+
RSpec::Mocks.with_temporary_scope do
|
|
35
|
+
rspec_dup = ::RSpec.dup
|
|
36
|
+
class << rspec_dup; undef configuration; end
|
|
37
|
+
stub_const("RSpec", rspec_dup)
|
|
38
|
+
|
|
39
|
+
expect(formatted_backtrace).to eq(original_backtrace)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it "can be set to another backtrace formatter" do
|
|
44
|
+
config.backtrace_formatter = double(:format_backtrace => ['a'])
|
|
45
|
+
expect(formatted_backtrace).to eq(['a'])
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
context 'on an interpreter that does not provide BasicObject', :uses_should, :unless => defined?(::BasicObject) do
|
|
50
|
+
before { RSpec::Expectations::Syntax.disable_should(Delegator) }
|
|
51
|
+
|
|
52
|
+
let(:klass) do
|
|
53
|
+
Class.new(SimpleDelegator) do
|
|
54
|
+
def delegated?; true; end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
let(:instance) { klass.new(Object.new) }
|
|
59
|
+
|
|
60
|
+
it 'provides a means to manually add it Delegator' do
|
|
61
|
+
instance.should_not respond_to(:delegated?) # because #should is being delegated...
|
|
62
|
+
config.add_should_and_should_not_to Delegator
|
|
63
|
+
instance.should respond_to(:delegated?) # now it should work!
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
describe "#include_chain_clauses_in_custom_matcher_descriptions?" do
|
|
68
|
+
it "is false by default" do
|
|
69
|
+
expect(config.include_chain_clauses_in_custom_matcher_descriptions?).to be false
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
it "can be set to true" do
|
|
73
|
+
config.include_chain_clauses_in_custom_matcher_descriptions = true
|
|
74
|
+
expect(config.include_chain_clauses_in_custom_matcher_descriptions?).to be true
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
it "can be set back to false" do
|
|
78
|
+
config.include_chain_clauses_in_custom_matcher_descriptions = true
|
|
79
|
+
config.include_chain_clauses_in_custom_matcher_descriptions = false
|
|
80
|
+
expect(config.include_chain_clauses_in_custom_matcher_descriptions?).to be false
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
shared_examples "configuring the expectation syntax" do
|
|
85
|
+
before do
|
|
86
|
+
@orig_syntax = RSpec::Matchers.configuration.syntax
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
after do
|
|
90
|
+
configure_syntax(@orig_syntax)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
it 'can limit the syntax to :should' do
|
|
94
|
+
configure_syntax :should
|
|
95
|
+
configured_syntax.should eq([:should])
|
|
96
|
+
|
|
97
|
+
3.should eq(3)
|
|
98
|
+
3.should_not eq(4)
|
|
99
|
+
lambda { expect(6).to eq(6) }.should raise_error(NameError)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
it 'is a no-op when configured to :should twice' do
|
|
103
|
+
configure_syntax :should
|
|
104
|
+
method_added_count = 0
|
|
105
|
+
allow(Expectations::Syntax.default_should_host).to receive(:method_added) { method_added_count += 1 }
|
|
106
|
+
configure_syntax :should
|
|
107
|
+
|
|
108
|
+
method_added_count.should eq(0)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
it 'can limit the syntax to :expect' do
|
|
112
|
+
configure_syntax :expect
|
|
113
|
+
expect(configured_syntax).to eq([:expect])
|
|
114
|
+
|
|
115
|
+
expect(3).to eq(3)
|
|
116
|
+
expect { 3.should eq(3) }.to raise_error(NameError)
|
|
117
|
+
expect { 3.should_not eq(3) }.to raise_error(NameError)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
it 'is a no-op when configured to :expect twice' do
|
|
121
|
+
allow(RSpec::Matchers).to receive(:method_added).and_raise("no methods should be added here")
|
|
122
|
+
|
|
123
|
+
configure_syntax :expect
|
|
124
|
+
configure_syntax :expect
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
describe "`:should` being enabled by default deprecation" do
|
|
128
|
+
before { configure_default_syntax }
|
|
129
|
+
|
|
130
|
+
it "warns when the should syntax is called by default" do
|
|
131
|
+
expected_arguments = [
|
|
132
|
+
/Using.*without explicitly enabling/,
|
|
133
|
+
{:replacement=>"the new `:expect` syntax or explicitly enable `:should`"}
|
|
134
|
+
]
|
|
135
|
+
|
|
136
|
+
expect(RSpec).to receive(:deprecate).with(*expected_arguments)
|
|
137
|
+
3.should eq(3)
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
it "includes the call site in the deprecation warning by default" do
|
|
141
|
+
expect_deprecation_with_call_site(__FILE__, __LINE__ + 1)
|
|
142
|
+
3.should eq(3)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
it "does not warn when only the should syntax is explicitly configured" do
|
|
146
|
+
configure_syntax(:should)
|
|
147
|
+
RSpec.should_not receive(:deprecate)
|
|
148
|
+
3.should eq(3)
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
it "does not warn when both the should and expect syntaxes are explicitly configured" do
|
|
152
|
+
configure_syntax([:should, :expect])
|
|
153
|
+
expect(RSpec).not_to receive(:deprecate)
|
|
154
|
+
3.should eq(3)
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
it 'can re-enable the :should syntax' do
|
|
159
|
+
configure_syntax :expect
|
|
160
|
+
configure_syntax [:should, :expect]
|
|
161
|
+
configured_syntax.should eq([:should, :expect])
|
|
162
|
+
|
|
163
|
+
3.should eq(3)
|
|
164
|
+
3.should_not eq(4)
|
|
165
|
+
expect(3).to eq(3)
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
it 'can re-enable the :expect syntax' do
|
|
169
|
+
configure_syntax :should
|
|
170
|
+
configure_syntax [:should, :expect]
|
|
171
|
+
configured_syntax.should eq([:should, :expect])
|
|
172
|
+
|
|
173
|
+
3.should eq(3)
|
|
174
|
+
3.should_not eq(4)
|
|
175
|
+
expect(3).to eq(3)
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
def configure_default_syntax
|
|
180
|
+
RSpec::Matchers.configuration.reset_syntaxes_to_default
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
describe "configuring rspec-expectations directly" do
|
|
184
|
+
it_behaves_like "configuring the expectation syntax" do
|
|
185
|
+
def configure_syntax(syntax)
|
|
186
|
+
RSpec::Matchers.configuration.syntax = syntax
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
def configured_syntax
|
|
190
|
+
RSpec::Matchers.configuration.syntax
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
describe "configuring using the rspec-core config API" do
|
|
196
|
+
it_behaves_like "configuring the expectation syntax" do
|
|
197
|
+
def configure_syntax(syntax)
|
|
198
|
+
RSpec.configure do |rspec|
|
|
199
|
+
rspec.expect_with :rspec do |c|
|
|
200
|
+
c.syntax = syntax
|
|
201
|
+
end
|
|
202
|
+
end
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
def configured_syntax
|
|
207
|
+
RSpec.configure do |rspec|
|
|
208
|
+
rspec.expect_with :rspec do |c|
|
|
209
|
+
return c.syntax
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
it 'enables both syntaxes by default' do
|
|
217
|
+
# This is kinda a hack, but since we want to enforce use of
|
|
218
|
+
# the expect syntax within our specs here, we have modified the
|
|
219
|
+
# config setting, which makes it hard to get at the original
|
|
220
|
+
# default value. in spec_helper.rb we store the default value
|
|
221
|
+
# in $default_expectation_syntax so we can use it here.
|
|
222
|
+
expect($default_expectation_syntax).to contain_exactly(:expect, :should)
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
end
|
|
226
|
+
end
|