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,446 @@
|
|
|
1
|
+
RSpec.describe "expect { ... }.to raise_error" do
|
|
2
|
+
it_behaves_like("an RSpec matcher", :valid_value => lambda { raise "boom" },
|
|
3
|
+
:invalid_value => lambda { }) do
|
|
4
|
+
let(:matcher) { raise_error }
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it "passes if anything is raised" do
|
|
8
|
+
expect {raise}.to raise_error
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it "passes if an error instance is expected" do
|
|
12
|
+
s = StandardError.new
|
|
13
|
+
expect {raise s}.to raise_error(s)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "fails if a different error instance is thrown from the one that is expected" do
|
|
17
|
+
s = StandardError.new("Error 1")
|
|
18
|
+
to_raise = StandardError.new("Error 2")
|
|
19
|
+
expect do
|
|
20
|
+
expect {raise to_raise}.to raise_error(s)
|
|
21
|
+
end.to fail_with(Regexp.new("expected #{s.inspect}, got #{to_raise.inspect} with backtrace"))
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "passes if an error class is expected and an instance of that class is thrown" do
|
|
25
|
+
s = StandardError.new :bees
|
|
26
|
+
|
|
27
|
+
expect { raise s }.to raise_error(StandardError)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it "fails if nothing is raised" do
|
|
31
|
+
expect {
|
|
32
|
+
expect {}.to raise_error
|
|
33
|
+
}.to fail_with("expected Exception but nothing was raised")
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
RSpec.describe "raise_exception aliased to raise_error" do
|
|
38
|
+
it "passes if anything is raised" do
|
|
39
|
+
expect {raise}.to raise_exception
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
RSpec.describe "expect { ... }.to raise_error {|err| ... }" do
|
|
44
|
+
it "passes if there is an error" do
|
|
45
|
+
ran = false
|
|
46
|
+
expect { non_existent_method }.to raise_error {|e|
|
|
47
|
+
ran = true
|
|
48
|
+
}
|
|
49
|
+
expect(ran).to be_truthy
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it "passes the error to the block" do
|
|
53
|
+
error = nil
|
|
54
|
+
expect { non_existent_method }.to raise_error {|e|
|
|
55
|
+
error = e
|
|
56
|
+
}
|
|
57
|
+
expect(error).to be_kind_of(NameError)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
RSpec.describe "expect { ... }.to raise_error do |err| ... end" do
|
|
62
|
+
it "passes the error to the block" do
|
|
63
|
+
error = nil
|
|
64
|
+
expect { non_existent_method }.to raise_error do |e|
|
|
65
|
+
error = e
|
|
66
|
+
end
|
|
67
|
+
expect(error).to be_kind_of(NameError)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
RSpec.describe "expect { ... }.to(raise_error { |err| ... }) do |err| ... end" do
|
|
72
|
+
it "passes the error only to the block taken directly by #raise_error" do
|
|
73
|
+
error_passed_to_curly = nil
|
|
74
|
+
error_passed_to_do_end = nil
|
|
75
|
+
|
|
76
|
+
expect { non_existent_method }.to(raise_error { |e| error_passed_to_curly = e }) do |e|
|
|
77
|
+
error_passed_to_do_end = e
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
expect(error_passed_to_curly).to be_kind_of(NameError)
|
|
81
|
+
expect(error_passed_to_do_end).to be_nil
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
RSpec.describe "expect { ... }.not_to raise_error" do
|
|
86
|
+
|
|
87
|
+
context "with a specific error class" do
|
|
88
|
+
it "is invalid" do
|
|
89
|
+
expect {
|
|
90
|
+
expect {"bees"}.not_to raise_error(RuntimeError)
|
|
91
|
+
}.to raise_error(/`expect \{ \}\.not_to raise_error\(SpecificErrorClass\)` is not valid/)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
context "with no specific error class" do
|
|
96
|
+
it "passes if nothing is raised" do
|
|
97
|
+
expect {}.not_to raise_error
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
it "fails if anything is raised" do
|
|
101
|
+
expect {
|
|
102
|
+
expect { raise RuntimeError, "example message" }.not_to raise_error
|
|
103
|
+
}.to fail_with(/expected no Exception, got #<RuntimeError: example message>/)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
it 'includes the backtrace of the error that was raised in the error message' do
|
|
107
|
+
expect {
|
|
108
|
+
expect { raise "boom" }.not_to raise_error
|
|
109
|
+
}.to raise_error { |e|
|
|
110
|
+
backtrace_line = "#{File.basename(__FILE__)}:#{__LINE__ - 2}"
|
|
111
|
+
expect(e.message).to include("with backtrace", backtrace_line)
|
|
112
|
+
}
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
it 'formats the backtrace using the configured backtrace formatter' do
|
|
116
|
+
allow(RSpec::Matchers.configuration.backtrace_formatter).
|
|
117
|
+
to receive(:format_backtrace).
|
|
118
|
+
and_return("formatted-backtrace")
|
|
119
|
+
|
|
120
|
+
expect {
|
|
121
|
+
expect { raise "boom" }.not_to raise_error
|
|
122
|
+
}.to raise_error { |e|
|
|
123
|
+
expect(e.message).to include("with backtrace", "formatted-backtrace")
|
|
124
|
+
}
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
RSpec.describe "expect { ... }.to raise_error(message)" do
|
|
130
|
+
it "passes if RuntimeError is raised with the right message" do
|
|
131
|
+
expect {raise 'blah'}.to raise_error('blah')
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
it "passes if RuntimeError is raised with a matching message" do
|
|
135
|
+
expect {raise 'blah'}.to raise_error(/blah/)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
it "passes if any other error is raised with the right message" do
|
|
139
|
+
expect {raise NameError.new('blah')}.to raise_error('blah')
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
it "fails if RuntimeError error is raised with the wrong message" do
|
|
143
|
+
expect do
|
|
144
|
+
expect {raise 'blarg'}.to raise_error('blah')
|
|
145
|
+
end.to fail_with(/expected Exception with \"blah\", got #<RuntimeError: blarg>/)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
it "fails if any other error is raised with the wrong message" do
|
|
149
|
+
expect do
|
|
150
|
+
expect {raise NameError.new('blarg')}.to raise_error('blah')
|
|
151
|
+
end.to fail_with(/expected Exception with \"blah\", got #<NameError: blarg>/)
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
it 'includes the backtrace of any other error in the failure message' do
|
|
155
|
+
expect {
|
|
156
|
+
expect { raise "boom" }.to raise_error(ArgumentError)
|
|
157
|
+
}.to raise_error { |e|
|
|
158
|
+
backtrace_line = "#{File.basename(__FILE__)}:#{__LINE__ - 2}"
|
|
159
|
+
expect(e.message).to include("with backtrace", backtrace_line)
|
|
160
|
+
}
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
RSpec.describe "expect { ... }.to raise_error.with_message(message)" do
|
|
165
|
+
it "raises an argument error if raise_error itself expects a message" do
|
|
166
|
+
expect {
|
|
167
|
+
expect { }.to raise_error("bees").with_message("sup")
|
|
168
|
+
}.to raise_error.with_message(/`expect \{ \}\.to raise_error\(message\)\.with_message\(message\)` is not valid/)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
it "passes if RuntimeError is raised with the right message" do
|
|
172
|
+
expect {raise 'blah'}.to raise_error.with_message('blah')
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
it "passes if RuntimeError is raised with a matching message" do
|
|
176
|
+
expect {raise 'blah'}.to raise_error.with_message(/blah/)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
it "passes if any other error is raised with the right message" do
|
|
180
|
+
expect {raise NameError.new('blah')}.to raise_error.with_message('blah')
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
it "fails if RuntimeError error is raised with the wrong message" do
|
|
184
|
+
expect do
|
|
185
|
+
expect {raise 'blarg'}.to raise_error.with_message('blah')
|
|
186
|
+
end.to fail_with(/expected Exception with \"blah\", got #<RuntimeError: blarg>/)
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
it "fails if any other error is raised with the wrong message" do
|
|
190
|
+
expect do
|
|
191
|
+
expect {raise NameError.new('blarg')}.to raise_error.with_message('blah')
|
|
192
|
+
end.to fail_with(/expected Exception with \"blah\", got #<NameError: blarg>/)
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
RSpec.describe "expect { ... }.not_to raise_error(message)" do
|
|
197
|
+
it "is invalid" do
|
|
198
|
+
expect {
|
|
199
|
+
expect {raise 'blarg'}.not_to raise_error(/blah/)
|
|
200
|
+
}.to raise_error(/`expect \{ \}\.not_to raise_error\(message\)` is not valid/)
|
|
201
|
+
end
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
RSpec.describe "expect { ... }.to raise_error(NamedError)" do
|
|
205
|
+
it "passes if named error is raised" do
|
|
206
|
+
expect { non_existent_method }.to raise_error(NameError)
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
it "fails if nothing is raised" do
|
|
210
|
+
expect {
|
|
211
|
+
expect { }.to raise_error(NameError)
|
|
212
|
+
}.to fail_with(/expected NameError but nothing was raised/)
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
it "fails if another error is raised (NameError)" do
|
|
216
|
+
expect {
|
|
217
|
+
expect { raise RuntimeError, "example message" }.to raise_error(NameError)
|
|
218
|
+
}.to fail_with(/expected NameError, got #<RuntimeError: example message>/)
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
it "fails if another error is raised (NameError)" do
|
|
222
|
+
expect {
|
|
223
|
+
expect { load "non/existent/file" }.to raise_error(NameError)
|
|
224
|
+
}.to fail_with(/expected NameError, got #<LoadError/)
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
RSpec.describe "expect { ... }.not_to raise_error(NamedError)" do
|
|
229
|
+
it "is invalid" do
|
|
230
|
+
expect {
|
|
231
|
+
expect { }.not_to raise_error(NameError)
|
|
232
|
+
}.to raise_error(/`expect \{ \}\.not_to raise_error\(SpecificErrorClass\)` is not valid/)
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
RSpec.describe "expect { ... }.to raise_error(NamedError, error_message) with String" do
|
|
237
|
+
it "passes if named error is raised with same message" do
|
|
238
|
+
expect { raise "example message" }.to raise_error(RuntimeError, "example message")
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
it "fails if nothing is raised" do
|
|
242
|
+
expect {
|
|
243
|
+
expect {}.to raise_error(RuntimeError, "example message")
|
|
244
|
+
}.to fail_with(/expected RuntimeError with \"example message\" but nothing was raised/)
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
it "fails if incorrect error is raised" do
|
|
248
|
+
expect {
|
|
249
|
+
expect { raise RuntimeError, "example message" }.to raise_error(NameError, "example message")
|
|
250
|
+
}.to fail_with(/expected NameError with \"example message\", got #<RuntimeError: example message>/)
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
it "fails if correct error is raised with incorrect message" do
|
|
254
|
+
expect {
|
|
255
|
+
expect { raise RuntimeError.new("not the example message") }.to raise_error(RuntimeError, "example message")
|
|
256
|
+
}.to fail_with(/expected RuntimeError with \"example message\", got #<RuntimeError: not the example message/)
|
|
257
|
+
end
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
RSpec.describe "expect { ... }.not_to raise_error(NamedError, error_message) with String" do
|
|
261
|
+
it "is invalid" do
|
|
262
|
+
expect {
|
|
263
|
+
expect {}.not_to raise_error(RuntimeError, "example message")
|
|
264
|
+
}.to raise_error(/`expect \{ \}\.not_to raise_error\(SpecificErrorClass, message\)` is not valid/)
|
|
265
|
+
end
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
RSpec.describe "expect { ... }.to raise_error(NamedError, error_message) with Regexp" do
|
|
269
|
+
it "passes if named error is raised with matching message" do
|
|
270
|
+
expect { raise "example message" }.to raise_error(RuntimeError, /ample mess/)
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
it "fails if nothing is raised" do
|
|
274
|
+
expect {
|
|
275
|
+
expect {}.to raise_error(RuntimeError, /ample mess/)
|
|
276
|
+
}.to fail_with(/expected RuntimeError with message matching \/ample mess\/ but nothing was raised/)
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
it "fails if incorrect error is raised" do
|
|
280
|
+
expect {
|
|
281
|
+
expect { raise RuntimeError, "example message" }.to raise_error(NameError, /ample mess/)
|
|
282
|
+
}.to fail_with(/expected NameError with message matching \/ample mess\/, got #<RuntimeError: example message>/)
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
it "fails if correct error is raised with incorrect message" do
|
|
286
|
+
expect {
|
|
287
|
+
expect { raise RuntimeError.new("not the example message") }.to raise_error(RuntimeError, /less than ample mess/)
|
|
288
|
+
}.to fail_with(/expected RuntimeError with message matching \/less than ample mess\/, got #<RuntimeError: not the example message>/)
|
|
289
|
+
end
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
RSpec.describe "expect { ... }.not_to raise_error(NamedError, error_message) with Regexp" do
|
|
293
|
+
it "is invalid" do
|
|
294
|
+
expect {
|
|
295
|
+
expect {}.not_to raise_error(RuntimeError, /ample mess/)
|
|
296
|
+
}.to raise_error(/`expect \{ \}\.not_to raise_error\(SpecificErrorClass, message\)` is not valid/)
|
|
297
|
+
end
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
RSpec.describe "expect { ... }.to raise_error(NamedError, error_message) { |err| ... }" do
|
|
301
|
+
it "yields exception if named error is raised with same message" do
|
|
302
|
+
ran = false
|
|
303
|
+
|
|
304
|
+
expect {
|
|
305
|
+
raise "example message"
|
|
306
|
+
}.to raise_error(RuntimeError, "example message") { |err|
|
|
307
|
+
ran = true
|
|
308
|
+
expect(err.class).to eq RuntimeError
|
|
309
|
+
expect(err.message).to eq "example message"
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
expect(ran).to be(true)
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
it "yielded block fails on it's own right" do
|
|
316
|
+
ran, passed = false, false
|
|
317
|
+
|
|
318
|
+
expect {
|
|
319
|
+
expect {
|
|
320
|
+
raise "example message"
|
|
321
|
+
}.to raise_error(RuntimeError, "example message") { |err|
|
|
322
|
+
ran = true
|
|
323
|
+
expect(5).to eq 4
|
|
324
|
+
passed = true
|
|
325
|
+
}
|
|
326
|
+
}.to fail_with(/expected: 4/m)
|
|
327
|
+
|
|
328
|
+
expect(ran).to be_truthy
|
|
329
|
+
expect(passed).to be_falsey
|
|
330
|
+
end
|
|
331
|
+
|
|
332
|
+
it "does NOT yield exception if no error was thrown" do
|
|
333
|
+
ran = false
|
|
334
|
+
|
|
335
|
+
expect {
|
|
336
|
+
expect {}.to raise_error(RuntimeError, "example message") { |err|
|
|
337
|
+
ran = true
|
|
338
|
+
}
|
|
339
|
+
}.to fail_with(/expected RuntimeError with \"example message\" but nothing was raised/)
|
|
340
|
+
|
|
341
|
+
expect(ran).to eq false
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
it "does not yield exception if error class is not matched" do
|
|
345
|
+
ran = false
|
|
346
|
+
|
|
347
|
+
expect {
|
|
348
|
+
expect {
|
|
349
|
+
raise "example message"
|
|
350
|
+
}.to raise_error(SyntaxError, "example message") { |err|
|
|
351
|
+
ran = true
|
|
352
|
+
}
|
|
353
|
+
}.to fail_with(/expected SyntaxError with \"example message\", got #<RuntimeError: example message>/)
|
|
354
|
+
|
|
355
|
+
expect(ran).to eq false
|
|
356
|
+
end
|
|
357
|
+
|
|
358
|
+
it "does NOT yield exception if error message is not matched" do
|
|
359
|
+
ran = false
|
|
360
|
+
|
|
361
|
+
expect {
|
|
362
|
+
expect {
|
|
363
|
+
raise "example message"
|
|
364
|
+
}.to raise_error(RuntimeError, "different message") { |err|
|
|
365
|
+
ran = true
|
|
366
|
+
}
|
|
367
|
+
}.to fail_with(/expected RuntimeError with \"different message\", got #<RuntimeError: example message>/)
|
|
368
|
+
|
|
369
|
+
expect(ran).to eq false
|
|
370
|
+
end
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
RSpec.describe "expect { ... }.not_to raise_error(NamedError, error_message) { |err| ... }" do
|
|
374
|
+
it "is invalid" do
|
|
375
|
+
expect {
|
|
376
|
+
expect {}.not_to raise_error(RuntimeError, "example message") { |err| }
|
|
377
|
+
}.to raise_error(/`expect \{ \}\.not_to raise_error\(SpecificErrorClass, message\)` is not valid/)
|
|
378
|
+
end
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
RSpec.describe "Composing matchers with `raise_error`" do
|
|
382
|
+
matcher :an_error_with_attribute do |attr|
|
|
383
|
+
chain :equal_to do |value|
|
|
384
|
+
@expected_value = value
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
match do |error|
|
|
388
|
+
error.__send__(attr) == @expected_value
|
|
389
|
+
end
|
|
390
|
+
end
|
|
391
|
+
|
|
392
|
+
class FooError < StandardError
|
|
393
|
+
def foo; :bar; end
|
|
394
|
+
end
|
|
395
|
+
|
|
396
|
+
describe "expect { }.to raise_error(matcher)" do
|
|
397
|
+
it 'passes when the matcher matches the raised error' do
|
|
398
|
+
expect { raise FooError }.to raise_error(an_error_with_attribute(:foo).equal_to(:bar))
|
|
399
|
+
end
|
|
400
|
+
|
|
401
|
+
it 'fails with a clear message when the matcher does not match the raised error' do
|
|
402
|
+
expect {
|
|
403
|
+
expect { raise FooError }.to raise_error(an_error_with_attribute(:foo).equal_to(3))
|
|
404
|
+
}.to fail_matching("expected an error with attribute :foo equal to 3, got #<FooError: FooError>")
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
it 'provides a description' do
|
|
408
|
+
description = raise_error(an_error_with_attribute(:foo).equal_to(3)).description
|
|
409
|
+
expect(description).to eq("raise an error with attribute :foo equal to 3")
|
|
410
|
+
end
|
|
411
|
+
end
|
|
412
|
+
|
|
413
|
+
describe "expect { }.to raise_error(ErrorClass, matcher)" do
|
|
414
|
+
it 'passes when the class and matcher match the raised error' do
|
|
415
|
+
expect { raise FooError, "food" }.to raise_error(FooError, a_string_including("foo"))
|
|
416
|
+
end
|
|
417
|
+
|
|
418
|
+
it 'fails with a clear message when the matcher does not match the raised error' do
|
|
419
|
+
expect {
|
|
420
|
+
expect { raise FooError, "food" }.to raise_error(FooError, a_string_including("bar"))
|
|
421
|
+
}.to fail_matching('expected FooError with a string including "bar", got #<FooError: food')
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
it 'provides a description' do
|
|
425
|
+
description = raise_error(FooError, a_string_including("foo")).description
|
|
426
|
+
expect(description).to eq('raise FooError with a string including "foo"')
|
|
427
|
+
end
|
|
428
|
+
end
|
|
429
|
+
|
|
430
|
+
describe "expect { }.to raise_error(ErrorClass).with_message(matcher)" do
|
|
431
|
+
it 'passes when the class and matcher match the raised error' do
|
|
432
|
+
expect { raise FooError, "food" }.to raise_error(FooError).with_message(a_string_including("foo"))
|
|
433
|
+
end
|
|
434
|
+
|
|
435
|
+
it 'fails with a clear message when the matcher does not match the raised error' do
|
|
436
|
+
expect {
|
|
437
|
+
expect { raise FooError, "food" }.to raise_error(FooError).with_message(a_string_including("bar"))
|
|
438
|
+
}.to fail_matching('expected FooError with a string including "bar", got #<FooError: food')
|
|
439
|
+
end
|
|
440
|
+
|
|
441
|
+
it 'provides a description' do
|
|
442
|
+
description = raise_error(FooError).with_message(a_string_including("foo")).description
|
|
443
|
+
expect(description).to eq('raise FooError with a string including "foo"')
|
|
444
|
+
end
|
|
445
|
+
end
|
|
446
|
+
end
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
RSpec.describe "expect(...).to respond_to(:sym)" do
|
|
2
|
+
it_behaves_like "an RSpec matcher", :valid_value => "s", :invalid_value => 5 do
|
|
3
|
+
let(:matcher) { respond_to(:upcase) }
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
it "passes if target responds to :sym" do
|
|
7
|
+
expect(Object.new).to respond_to(:methods)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it "fails if target does not respond to :sym" do
|
|
11
|
+
expect {
|
|
12
|
+
expect("this string").to respond_to(:some_method)
|
|
13
|
+
}.to fail_with(%q|expected "this string" to respond to :some_method|)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
RSpec.describe "expect(...).to respond_to(:sym).with(1).argument" do
|
|
18
|
+
it "passes if target responds to :sym with 1 arg" do
|
|
19
|
+
obj = Object.new
|
|
20
|
+
def obj.foo(arg); end
|
|
21
|
+
expect(obj).to respond_to(:foo).with(1).argument
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "passes if target responds to any number of arguments" do
|
|
25
|
+
obj = Object.new
|
|
26
|
+
def obj.foo(*args); end
|
|
27
|
+
expect(obj).to respond_to(:foo).with(1).argument
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it "passes if target responds to one or more arguments" do
|
|
31
|
+
obj = Object.new
|
|
32
|
+
def obj.foo(a, *args); end
|
|
33
|
+
expect(obj).to respond_to(:foo).with(1).argument
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it "fails if target does not respond to :sym" do
|
|
37
|
+
obj = Object.new
|
|
38
|
+
expect {
|
|
39
|
+
expect(obj).to respond_to(:some_method).with(1).argument
|
|
40
|
+
}.to fail_with(/expected .* to respond to :some_method/)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it "fails if :sym expects 0 args" do
|
|
44
|
+
obj = Object.new
|
|
45
|
+
def obj.foo; end
|
|
46
|
+
expect {
|
|
47
|
+
expect(obj).to respond_to(:foo).with(1).argument
|
|
48
|
+
}.to fail_with(/expected #<Object.*> to respond to :foo with 1 argument/)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it "fails if :sym expects 2 args" do
|
|
52
|
+
obj = Object.new
|
|
53
|
+
def obj.foo(arg, arg2); end
|
|
54
|
+
expect {
|
|
55
|
+
expect(obj).to respond_to(:foo).with(1).argument
|
|
56
|
+
}.to fail_with(/expected #<Object.*> to respond to :foo with 1 argument/)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
it "fails if :sym expects 2 or more args" do
|
|
60
|
+
obj = Object.new
|
|
61
|
+
def obj.foo(arg, arg2, *args); end
|
|
62
|
+
expect {
|
|
63
|
+
expect(obj).to respond_to(:foo).with(1).argument
|
|
64
|
+
}.to fail_with(/expected #<Object.*> to respond to :foo with 1 argument/)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
RSpec.describe "expect(...).to respond_to(message1, message2)" do
|
|
69
|
+
it "passes if target responds to both messages" do
|
|
70
|
+
expect(Object.new).to respond_to('methods', 'inspect')
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "fails if target does not respond to first message" do
|
|
74
|
+
expect {
|
|
75
|
+
expect(Object.new).to respond_to('method_one', 'inspect')
|
|
76
|
+
}.to fail_with(/expected #<Object:.*> to respond to "method_one"/)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
it "fails if target does not respond to second message" do
|
|
80
|
+
expect {
|
|
81
|
+
expect(Object.new).to respond_to('inspect', 'method_one')
|
|
82
|
+
}.to fail_with(/expected #<Object:.*> to respond to "method_one"/)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
it "fails if target does not respond to either message" do
|
|
86
|
+
expect {
|
|
87
|
+
expect(Object.new).to respond_to('method_one', 'method_two')
|
|
88
|
+
}.to fail_with(/expected #<Object:.*> to respond to "method_one", "method_two"/)
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
RSpec.describe "expect(...).to respond_to(:sym).with(2).arguments" do
|
|
93
|
+
it "passes if target responds to :sym with 2 args" do
|
|
94
|
+
obj = Object.new
|
|
95
|
+
def obj.foo(a1, a2); end
|
|
96
|
+
expect(obj).to respond_to(:foo).with(2).arguments
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
it "passes if target responds to any number of arguments" do
|
|
100
|
+
obj = Object.new
|
|
101
|
+
def obj.foo(*args); end
|
|
102
|
+
expect(obj).to respond_to(:foo).with(2).arguments
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
it "passes if target responds to one or more arguments" do
|
|
106
|
+
obj = Object.new
|
|
107
|
+
def obj.foo(a, *args); end
|
|
108
|
+
expect(obj).to respond_to(:foo).with(2).arguments
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
it "passes if target responds to two or more arguments" do
|
|
112
|
+
obj = Object.new
|
|
113
|
+
def obj.foo(a, b, *args); end
|
|
114
|
+
expect(obj).to respond_to(:foo).with(2).arguments
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
it "fails if target does not respond to :sym" do
|
|
118
|
+
obj = Object.new
|
|
119
|
+
expect {
|
|
120
|
+
expect(obj).to respond_to(:some_method).with(2).arguments
|
|
121
|
+
}.to fail_with(/expected .* to respond to :some_method/)
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
it "fails if :sym expects 0 args" do
|
|
125
|
+
obj = Object.new
|
|
126
|
+
def obj.foo; end
|
|
127
|
+
expect {
|
|
128
|
+
expect(obj).to respond_to(:foo).with(2).arguments
|
|
129
|
+
}.to fail_with(/expected #<Object.*> to respond to :foo with 2 arguments/)
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
it "fails if :sym expects 1 args" do
|
|
133
|
+
obj = Object.new
|
|
134
|
+
def obj.foo(arg); end
|
|
135
|
+
expect {
|
|
136
|
+
expect(obj).to respond_to(:foo).with(2).arguments
|
|
137
|
+
}.to fail_with(/expected #<Object.*> to respond to :foo with 2 arguments/)
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
it "fails if :sym expects 3 or more args" do
|
|
141
|
+
obj = Object.new
|
|
142
|
+
def obj.foo(arg, arg2, arg3, *args); end
|
|
143
|
+
expect {
|
|
144
|
+
expect(obj).to respond_to(:foo).with(2).arguments
|
|
145
|
+
}.to fail_with(/expected #<Object.*> to respond to :foo with 2 arguments/)
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
RSpec.describe "expect(...).not_to respond_to(:sym)" do
|
|
150
|
+
it "passes if target does not respond to :sym" do
|
|
151
|
+
expect(Object.new).not_to respond_to(:some_method)
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
it "fails if target responds to :sym" do
|
|
155
|
+
expect {
|
|
156
|
+
expect(Object.new).not_to respond_to(:methods)
|
|
157
|
+
}.to fail_with(/expected #<Object:.*> not to respond to :methods/)
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
RSpec.describe "expect(...).not_to respond_to(:sym).with(1).argument" do
|
|
162
|
+
it "fails if target responds to :sym with 1 arg" do
|
|
163
|
+
obj = Object.new
|
|
164
|
+
def obj.foo(arg); end
|
|
165
|
+
expect {
|
|
166
|
+
expect(obj).not_to respond_to(:foo).with(1).argument
|
|
167
|
+
}.to fail_with(/expected #<Object:.*> not to respond to :foo with 1 argument/)
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
it "fails if target responds to :sym with any number of args" do
|
|
171
|
+
obj = Object.new
|
|
172
|
+
def obj.foo(*args); end
|
|
173
|
+
expect {
|
|
174
|
+
expect(obj).not_to respond_to(:foo).with(1).argument
|
|
175
|
+
}.to fail_with(/expected #<Object:.*> not to respond to :foo with 1 argument/)
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
it "fails if target responds to :sym with one or more args" do
|
|
179
|
+
obj = Object.new
|
|
180
|
+
def obj.foo(a, *args); end
|
|
181
|
+
expect {
|
|
182
|
+
expect(obj).not_to respond_to(:foo).with(1).argument
|
|
183
|
+
}.to fail_with(/expected #<Object:.*> not to respond to :foo with 1 argument/)
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
it "passes if target does not respond to :sym" do
|
|
187
|
+
obj = Object.new
|
|
188
|
+
expect(obj).not_to respond_to(:some_method).with(1).argument
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
it "passes if :sym expects 0 args" do
|
|
192
|
+
obj = Object.new
|
|
193
|
+
def obj.foo; end
|
|
194
|
+
expect(obj).not_to respond_to(:foo).with(1).argument
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
it "passes if :sym expects 2 args" do
|
|
198
|
+
obj = Object.new
|
|
199
|
+
def obj.foo(arg, arg2); end
|
|
200
|
+
expect(obj).not_to respond_to(:foo).with(1).argument
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
it "passes if :sym expects 2 or more args" do
|
|
204
|
+
obj = Object.new
|
|
205
|
+
def obj.foo(arg, arg2, *args); end
|
|
206
|
+
expect(obj).not_to respond_to(:foo).with(1).argument
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
RSpec.describe "expect(...).not_to respond_to(message1, message2)" do
|
|
211
|
+
it "passes if target does not respond to either message1 or message2" do
|
|
212
|
+
expect(Object.new).not_to respond_to(:some_method, :some_other_method)
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
it "fails if target responds to message1 but not message2" do
|
|
216
|
+
expect {
|
|
217
|
+
expect(Object.new).not_to respond_to(:object_id, :some_method)
|
|
218
|
+
}.to fail_with(/expected #<Object:.*> not to respond to :object_id/)
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
it "fails if target responds to message2 but not message1" do
|
|
222
|
+
expect {
|
|
223
|
+
expect(Object.new).not_to respond_to(:some_method, :object_id)
|
|
224
|
+
}.to fail_with(/expected #<Object:.*> not to respond to :object_id/)
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
it "fails if target responds to both message1 and message2" do
|
|
228
|
+
expect {
|
|
229
|
+
expect(Object.new).not_to respond_to(:class, :object_id)
|
|
230
|
+
}.to fail_with(/expected #<Object:.*> not to respond to :class, :object_id/)
|
|
231
|
+
end
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
RSpec.describe "expect(...).not_to respond_to(:sym).with(2).arguments" do
|
|
235
|
+
it "fails if target responds to :sym with 2 args" do
|
|
236
|
+
obj = Object.new
|
|
237
|
+
def obj.foo(a1, a2); end
|
|
238
|
+
expect {
|
|
239
|
+
expect(obj).not_to respond_to(:foo).with(2).arguments
|
|
240
|
+
}.to fail_with(/expected .* not to respond to :foo with 2 arguments/)
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
it "fails if target responds to :sym with any number args" do
|
|
244
|
+
obj = Object.new
|
|
245
|
+
def obj.foo(*args); end
|
|
246
|
+
expect {
|
|
247
|
+
expect(obj).not_to respond_to(:foo).with(2).arguments
|
|
248
|
+
}.to fail_with(/expected .* not to respond to :foo with 2 arguments/)
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
it "fails if target responds to :sym with one or more args" do
|
|
252
|
+
obj = Object.new
|
|
253
|
+
def obj.foo(a, *args); end
|
|
254
|
+
expect {
|
|
255
|
+
expect(obj).not_to respond_to(:foo).with(2).arguments
|
|
256
|
+
}.to fail_with(/expected .* not to respond to :foo with 2 arguments/)
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
it "fails if target responds to :sym with two or more args" do
|
|
260
|
+
obj = Object.new
|
|
261
|
+
def obj.foo(a, b, *args); end
|
|
262
|
+
expect {
|
|
263
|
+
expect(obj).not_to respond_to(:foo).with(2).arguments
|
|
264
|
+
}.to fail_with(/expected .* not to respond to :foo with 2 arguments/)
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
it "passes if target does not respond to :sym" do
|
|
268
|
+
obj = Object.new
|
|
269
|
+
expect(obj).not_to respond_to(:some_method).with(2).arguments
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
it "passes if :sym expects 0 args" do
|
|
273
|
+
obj = Object.new
|
|
274
|
+
def obj.foo; end
|
|
275
|
+
expect(obj).not_to respond_to(:foo).with(2).arguments
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
it "passes if :sym expects 2 args" do
|
|
279
|
+
obj = Object.new
|
|
280
|
+
def obj.foo(arg); end
|
|
281
|
+
expect(obj).not_to respond_to(:foo).with(2).arguments
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
it "passes if :sym expects 3 or more args" do
|
|
285
|
+
obj = Object.new
|
|
286
|
+
def obj.foo(a, b, c, *arg); end
|
|
287
|
+
expect(obj).not_to respond_to(:foo).with(2).arguments
|
|
288
|
+
end
|
|
289
|
+
end
|
|
290
|
+
|