rspec 1.3.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +1 -6
- data/.gitignore +7 -0
- data/Gemfile +6 -0
- data/License.txt +1 -1
- data/README.markdown +30 -0
- data/Rakefile +10 -143
- data/lib/rspec/version.rb +5 -0
- data/lib/rspec.rb +4 -0
- data/rspec.gemspec +29 -0
- metadata +69 -462
- data/History.rdoc +0 -1529
- data/Manifest.txt +0 -384
- data/README.rdoc +0 -54
- data/Ruby1.9.rdoc +0 -31
- data/TODO.txt +0 -17
- data/Upgrade.rdoc +0 -260
- data/bin/autospec +0 -4
- data/bin/spec +0 -5
- data/cucumber.yml +0 -5
- data/examples/failing/README.txt +0 -11
- data/examples/failing/diffing_spec.rb +0 -36
- data/examples/failing/failing_implicit_docstrings_example.rb +0 -17
- data/examples/failing/failure_in_after.rb +0 -10
- data/examples/failing/failure_in_before.rb +0 -10
- data/examples/failing/mocking_example.rb +0 -38
- data/examples/failing/mocking_with_flexmock.rb +0 -26
- data/examples/failing/mocking_with_mocha.rb +0 -25
- data/examples/failing/mocking_with_rr.rb +0 -27
- data/examples/failing/partial_mock_example.rb +0 -18
- data/examples/failing/pending_example.rb +0 -7
- data/examples/failing/predicate_example.rb +0 -32
- data/examples/failing/raising_example.rb +0 -47
- data/examples/failing/syntax_error_example.rb +0 -7
- data/examples/failing/team_spec.rb +0 -41
- data/examples/failing/timeout_behaviour.rb +0 -5
- data/examples/passing/custom_formatter.rb +0 -11
- data/examples/passing/custom_matchers.rb +0 -54
- data/examples/passing/dynamic_spec.rb +0 -7
- data/examples/passing/file_accessor.rb +0 -18
- data/examples/passing/file_accessor_spec.rb +0 -37
- data/examples/passing/filtered_formatter.rb +0 -17
- data/examples/passing/filtered_formatter_example.rb +0 -31
- data/examples/passing/greeter_spec.rb +0 -30
- data/examples/passing/helper_method_example.rb +0 -12
- data/examples/passing/implicit_docstrings_example.rb +0 -16
- data/examples/passing/io_processor.rb +0 -8
- data/examples/passing/io_processor_spec.rb +0 -20
- data/examples/passing/mocking_example.rb +0 -25
- data/examples/passing/multi_threaded_example_group_runner.rb +0 -26
- data/examples/passing/nested_classes_example.rb +0 -35
- data/examples/passing/options_example.rb +0 -29
- data/examples/passing/options_formatter.rb +0 -20
- data/examples/passing/partial_mock_example.rb +0 -27
- data/examples/passing/pending_example.rb +0 -18
- data/examples/passing/predicate_example.rb +0 -25
- data/examples/passing/shared_example_group_example.rb +0 -79
- data/examples/passing/shared_stack_examples.rb +0 -36
- data/examples/passing/simple_matcher_example.rb +0 -29
- data/examples/passing/stack.rb +0 -36
- data/examples/passing/stack_spec.rb +0 -63
- data/examples/passing/stack_spec_with_nested_example_groups.rb +0 -66
- data/examples/passing/stubbing_example.rb +0 -67
- data/examples/passing/yielding_example.rb +0 -31
- data/examples/ruby1.9.compatibility/access_to_constants_spec.rb +0 -85
- data/features/before_and_after_blocks/before_and_after_blocks.feature +0 -167
- data/features/command_line/line_number_option.feature +0 -56
- data/features/command_line/line_number_option_with_example_with_no_name.feature +0 -22
- data/features/example_groups/define_example_attribute.feature +0 -41
- data/features/example_groups/example_group_with_should_methods.feature +0 -29
- data/features/example_groups/implicit_docstrings.feature +0 -59
- data/features/example_groups/nested_groups.feature +0 -32
- data/features/expectations/customized_message.feature +0 -54
- data/features/expectations/expect_change.feature +0 -65
- data/features/expectations/expect_error.feature +0 -44
- data/features/extensions/custom_example_group.feature +0 -19
- data/features/formatters/custom_formatter.feature +0 -30
- data/features/formatters/nested_formatter.feature +0 -32
- data/features/interop/cucumber_stubs_dont_leak.feature +0 -11
- data/features/interop/examples_and_tests_together.feature +0 -84
- data/features/interop/rspec_output.feature +0 -25
- data/features/interop/test_but_not_test_unit.feature +0 -26
- data/features/interop/test_case_with_should_methods.feature +0 -46
- data/features/load_paths/add_lib_to_load_path.feature +0 -20
- data/features/load_paths/add_spec_to_load_path.feature +0 -20
- data/features/matchers/define_diffable_matcher.feature +0 -26
- data/features/matchers/define_matcher.feature +0 -179
- data/features/matchers/define_matcher_outside_rspec.feature +0 -38
- data/features/matchers/define_matcher_with_fluent_interface.feature +0 -48
- data/features/matchers/define_wrapped_matcher.feature +0 -56
- data/features/matchers/match_unless_raises.feature +0 -60
- data/features/matchers/match_unless_raises_unexpected_error.feature +0 -39
- data/features/mock_framework_integration/use_flexmock.feature +0 -27
- data/features/mock_framework_integration/use_mocha.feature +0 -27
- data/features/mock_framework_integration/use_rr.feature +0 -27
- data/features/mocks/block_local_expectations.feature +0 -62
- data/features/mocks/mix_stubs_and_mocks.feature +0 -22
- data/features/mocks/stub_implementation.feature +0 -26
- data/features/pending/pending_examples.feature +0 -81
- data/features/runner/specify_line_number.feature +0 -32
- data/features/spec_helper/spec_helper.feature +0 -25
- data/features/step_definitions/running_rspec_steps.rb +0 -52
- data/features/step_definitions/stubbing_steps.rb +0 -16
- data/features/subject/explicit_subject.feature +0 -31
- data/features/subject/implicit_subject.feature +0 -43
- data/features/support/env.rb +0 -83
- data/features/support/matchers/smart_match.rb +0 -31
- data/geminstaller.yml +0 -28
- data/init.rb +0 -9
- data/lib/autotest/discover.rb +0 -3
- data/lib/autotest/rspec.rb +0 -54
- data/lib/spec/adapters/mock_frameworks/flexmock.rb +0 -24
- data/lib/spec/adapters/mock_frameworks/mocha.rb +0 -25
- data/lib/spec/adapters/mock_frameworks/rr.rb +0 -22
- data/lib/spec/adapters/mock_frameworks/rspec.rb +0 -21
- data/lib/spec/autorun.rb +0 -3
- data/lib/spec/deprecation.rb +0 -40
- data/lib/spec/dsl/main.rb +0 -92
- data/lib/spec/dsl.rb +0 -1
- data/lib/spec/example/args_and_options.rb +0 -27
- data/lib/spec/example/before_and_after_hooks.rb +0 -93
- data/lib/spec/example/errors.rb +0 -25
- data/lib/spec/example/example_group.rb +0 -10
- data/lib/spec/example/example_group_factory.rb +0 -82
- data/lib/spec/example/example_group_hierarchy.rb +0 -53
- data/lib/spec/example/example_group_methods.rb +0 -282
- data/lib/spec/example/example_group_proxy.rb +0 -61
- data/lib/spec/example/example_matcher.rb +0 -43
- data/lib/spec/example/example_methods.rb +0 -152
- data/lib/spec/example/example_proxy.rb +0 -41
- data/lib/spec/example/module_reopening_fix.rb +0 -43
- data/lib/spec/example/pending.rb +0 -18
- data/lib/spec/example/predicate_matchers.rb +0 -46
- data/lib/spec/example/shared_example_group.rb +0 -59
- data/lib/spec/example/subject.rb +0 -108
- data/lib/spec/example.rb +0 -164
- data/lib/spec/expectations/errors.rb +0 -12
- data/lib/spec/expectations/extensions/kernel.rb +0 -52
- data/lib/spec/expectations/extensions.rb +0 -1
- data/lib/spec/expectations/fail_with.rb +0 -45
- data/lib/spec/expectations/handler.rb +0 -50
- data/lib/spec/expectations.rb +0 -35
- data/lib/spec/extensions/instance_exec.rb +0 -31
- data/lib/spec/interop/test/unit/autorunner.rb +0 -6
- data/lib/spec/interop/test/unit/testcase.rb +0 -56
- data/lib/spec/interop/test/unit/testresult.rb +0 -6
- data/lib/spec/interop/test/unit/testsuite_adapter.rb +0 -34
- data/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
- data/lib/spec/interop/test.rb +0 -44
- data/lib/spec/matchers/be.rb +0 -249
- data/lib/spec/matchers/be_close.rb +0 -32
- data/lib/spec/matchers/be_instance_of.rb +0 -26
- data/lib/spec/matchers/be_kind_of.rb +0 -26
- data/lib/spec/matchers/change.rb +0 -151
- data/lib/spec/matchers/compatibility.rb +0 -14
- data/lib/spec/matchers/dsl.rb +0 -20
- data/lib/spec/matchers/eql.rb +0 -42
- data/lib/spec/matchers/equal.rb +0 -53
- data/lib/spec/matchers/errors.rb +0 -5
- data/lib/spec/matchers/exist.rb +0 -16
- data/lib/spec/matchers/generated_descriptions.rb +0 -36
- data/lib/spec/matchers/has.rb +0 -35
- data/lib/spec/matchers/have.rb +0 -152
- data/lib/spec/matchers/include.rb +0 -44
- data/lib/spec/matchers/match.rb +0 -21
- data/lib/spec/matchers/match_array.rb +0 -71
- data/lib/spec/matchers/matcher.rb +0 -132
- data/lib/spec/matchers/method_missing.rb +0 -9
- data/lib/spec/matchers/operator_matcher.rb +0 -78
- data/lib/spec/matchers/pretty.rb +0 -37
- data/lib/spec/matchers/raise_exception.rb +0 -131
- data/lib/spec/matchers/respond_to.rb +0 -71
- data/lib/spec/matchers/satisfy.rb +0 -47
- data/lib/spec/matchers/simple_matcher.rb +0 -133
- data/lib/spec/matchers/throw_symbol.rb +0 -100
- data/lib/spec/matchers/wrap_expectation.rb +0 -55
- data/lib/spec/matchers.rb +0 -214
- data/lib/spec/mocks/argument_expectation.rb +0 -51
- data/lib/spec/mocks/argument_matchers.rb +0 -237
- data/lib/spec/mocks/error_generator.rb +0 -92
- data/lib/spec/mocks/errors.rb +0 -10
- data/lib/spec/mocks/example_methods.rb +0 -69
- data/lib/spec/mocks/extensions/object.rb +0 -3
- data/lib/spec/mocks/extensions.rb +0 -1
- data/lib/spec/mocks/framework.rb +0 -15
- data/lib/spec/mocks/message_expectation.rb +0 -344
- data/lib/spec/mocks/methods.rb +0 -94
- data/lib/spec/mocks/mock.rb +0 -71
- data/lib/spec/mocks/order_group.rb +0 -29
- data/lib/spec/mocks/proxy.rb +0 -266
- data/lib/spec/mocks/space.rb +0 -28
- data/lib/spec/mocks.rb +0 -200
- data/lib/spec/rake/spectask.rb +0 -230
- data/lib/spec/rake/verify_rcov.rb +0 -52
- data/lib/spec/ruby.rb +0 -9
- data/lib/spec/runner/backtrace_tweaker.rb +0 -77
- data/lib/spec/runner/class_and_arguments_parser.rb +0 -14
- data/lib/spec/runner/command_line.rb +0 -15
- data/lib/spec/runner/configuration.rb +0 -194
- data/lib/spec/runner/differs/default.rb +0 -93
- data/lib/spec/runner/differs/load-diff-lcs.rb +0 -12
- data/lib/spec/runner/drb_command_line.rb +0 -32
- data/lib/spec/runner/example_group_runner.rb +0 -58
- data/lib/spec/runner/extensions/kernel.rb +0 -9
- data/lib/spec/runner/formatter/base_formatter.rb +0 -139
- data/lib/spec/runner/formatter/base_text_formatter.rb +0 -142
- data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -25
- data/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -20
- data/lib/spec/runner/formatter/html_formatter.rb +0 -338
- data/lib/spec/runner/formatter/nested_text_formatter.rb +0 -50
- data/lib/spec/runner/formatter/no_op_method_missing.rb +0 -21
- data/lib/spec/runner/formatter/profile_formatter.rb +0 -47
- data/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -33
- data/lib/spec/runner/formatter/silent_formatter.rb +0 -10
- data/lib/spec/runner/formatter/snippet_extractor.rb +0 -52
- data/lib/spec/runner/formatter/specdoc_formatter.rb +0 -33
- data/lib/spec/runner/formatter/text_mate_formatter.rb +0 -16
- data/lib/spec/runner/heckle_runner.rb +0 -72
- data/lib/spec/runner/heckle_runner_unsupported.rb +0 -10
- data/lib/spec/runner/line_number_query.rb +0 -78
- data/lib/spec/runner/option_parser.rb +0 -225
- data/lib/spec/runner/options.rb +0 -405
- data/lib/spec/runner/reporter.rb +0 -171
- data/lib/spec/runner.rb +0 -66
- data/lib/spec/stubs/cucumber.rb +0 -5
- data/lib/spec/test/unit.rb +0 -10
- data/lib/spec/version.rb +0 -14
- data/lib/spec.rb +0 -8
- data/resources/helpers/cmdline.rb +0 -8
- data/resources/rake/examples.rake +0 -7
- data/resources/rake/examples_with_rcov.rake +0 -9
- data/resources/rake/failing_examples_with_html.rake +0 -9
- data/resources/rake/verify_rcov.rake +0 -7
- data/spec/README.jruby +0 -15
- data/spec/autotest/autotest_helper.rb +0 -8
- data/spec/autotest/autotest_matchers.rb +0 -38
- data/spec/autotest/discover_spec.rb +0 -8
- data/spec/autotest/failed_results_re_spec.rb +0 -31
- data/spec/autotest/rspec_spec.rb +0 -126
- data/spec/ruby_forker.rb +0 -13
- data/spec/spec/dsl/main_spec.rb +0 -95
- data/spec/spec/example/example_group_class_definition_spec.rb +0 -51
- data/spec/spec/example/example_group_factory_spec.rb +0 -180
- data/spec/spec/example/example_group_methods_spec.rb +0 -759
- data/spec/spec/example/example_group_proxy_spec.rb +0 -107
- data/spec/spec/example/example_group_spec.rb +0 -643
- data/spec/spec/example/example_matcher_spec.rb +0 -86
- data/spec/spec/example/example_methods_spec.rb +0 -162
- data/spec/spec/example/example_proxy_spec.rb +0 -57
- data/spec/spec/example/helper_method_spec.rb +0 -24
- data/spec/spec/example/nested_example_group_spec.rb +0 -71
- data/spec/spec/example/pending_module_spec.rb +0 -58
- data/spec/spec/example/predicate_matcher_spec.rb +0 -41
- data/spec/spec/example/shared_example_group_spec.rb +0 -257
- data/spec/spec/example/subclassing_example_group_spec.rb +0 -25
- data/spec/spec/example/subject_spec.rb +0 -103
- data/spec/spec/expectations/differs/default_spec.rb +0 -194
- data/spec/spec/expectations/extensions/kernel_spec.rb +0 -45
- data/spec/spec/expectations/fail_with_spec.rb +0 -96
- data/spec/spec/expectations/handler_spec.rb +0 -206
- data/spec/spec/expectations/wrap_expectation_spec.rb +0 -30
- data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
- data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
- data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
- data/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +0 -13
- data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
- data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
- data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
- data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +0 -22
- data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
- data/spec/spec/interop/test/unit/spec_spec.rb +0 -48
- data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -18
- data/spec/spec/interop/test/unit/testcase_spec.rb +0 -50
- data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
- data/spec/spec/matchers/be_close_spec.rb +0 -50
- data/spec/spec/matchers/be_instance_of_spec.rb +0 -36
- data/spec/spec/matchers/be_kind_of_spec.rb +0 -33
- data/spec/spec/matchers/be_spec.rb +0 -460
- data/spec/spec/matchers/change_spec.rb +0 -349
- data/spec/spec/matchers/compatibility_spec.rb +0 -28
- data/spec/spec/matchers/description_generation_spec.rb +0 -160
- data/spec/spec/matchers/dsl_spec.rb +0 -34
- data/spec/spec/matchers/eql_spec.rb +0 -33
- data/spec/spec/matchers/equal_spec.rb +0 -57
- data/spec/spec/matchers/exist_spec.rb +0 -65
- data/spec/spec/matchers/has_spec.rb +0 -190
- data/spec/spec/matchers/have_spec.rb +0 -396
- data/spec/spec/matchers/include_spec.rb +0 -88
- data/spec/spec/matchers/match_array_spec.rb +0 -108
- data/spec/spec/matchers/match_spec.rb +0 -57
- data/spec/spec/matchers/matcher_spec.rb +0 -289
- data/spec/spec/matchers/matchers_spec.rb +0 -2
- data/spec/spec/matchers/operator_matcher_spec.rb +0 -191
- data/spec/spec/matchers/raise_exception_spec.rb +0 -345
- data/spec/spec/matchers/respond_to_spec.rb +0 -116
- data/spec/spec/matchers/satisfy_spec.rb +0 -36
- data/spec/spec/matchers/simple_matcher_spec.rb +0 -93
- data/spec/spec/matchers/throw_symbol_spec.rb +0 -121
- data/spec/spec/mocks/and_yield_spec.rb +0 -117
- data/spec/spec/mocks/any_number_of_times_spec.rb +0 -36
- data/spec/spec/mocks/argument_expectation_spec.rb +0 -23
- data/spec/spec/mocks/argument_matchers_spec.rb +0 -19
- data/spec/spec/mocks/at_least_spec.rb +0 -97
- data/spec/spec/mocks/at_most_spec.rb +0 -93
- data/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
- data/spec/spec/mocks/bug_report_10263_spec.rb +0 -27
- data/spec/spec/mocks/bug_report_11545_spec.rb +0 -32
- data/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
- data/spec/spec/mocks/bug_report_496_spec.rb +0 -19
- data/spec/spec/mocks/bug_report_600_spec.rb +0 -22
- data/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
- data/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
- data/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
- data/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
- data/spec/spec/mocks/bug_report_830_spec.rb +0 -21
- data/spec/spec/mocks/double_spec.rb +0 -12
- data/spec/spec/mocks/failing_argument_matchers_spec.rb +0 -95
- data/spec/spec/mocks/hash_including_matcher_spec.rb +0 -90
- data/spec/spec/mocks/hash_not_including_matcher_spec.rb +0 -67
- data/spec/spec/mocks/mock_ordering_spec.rb +0 -94
- data/spec/spec/mocks/mock_space_spec.rb +0 -54
- data/spec/spec/mocks/mock_spec.rb +0 -594
- data/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
- data/spec/spec/mocks/nil_expectation_warning_spec.rb +0 -53
- data/spec/spec/mocks/null_object_mock_spec.rb +0 -54
- data/spec/spec/mocks/once_counts_spec.rb +0 -53
- data/spec/spec/mocks/options_hash_spec.rb +0 -35
- data/spec/spec/mocks/partial_mock_spec.rb +0 -164
- data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
- data/spec/spec/mocks/passing_argument_matchers_spec.rb +0 -145
- data/spec/spec/mocks/precise_counts_spec.rb +0 -52
- data/spec/spec/mocks/record_messages_spec.rb +0 -26
- data/spec/spec/mocks/stub_chain_spec.rb +0 -42
- data/spec/spec/mocks/stub_implementation_spec.rb +0 -31
- data/spec/spec/mocks/stub_spec.rb +0 -203
- data/spec/spec/mocks/stubbed_message_expectations_spec.rb +0 -26
- data/spec/spec/mocks/twice_counts_spec.rb +0 -67
- data/spec/spec/mocks/unstub_spec.rb +0 -127
- data/spec/spec/package/bin_spec_spec.rb +0 -16
- data/spec/spec/rake/spectask_spec.rb +0 -150
- data/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
- data/spec/spec/runner/command_line_spec.rb +0 -162
- data/spec/spec/runner/configuration_spec.rb +0 -320
- data/spec/spec/runner/drb_command_line_spec.rb +0 -146
- data/spec/spec/runner/empty_file.txt +0 -0
- data/spec/spec/runner/example_group_runner_spec.rb +0 -26
- data/spec/spec/runner/examples.txt +0 -2
- data/spec/spec/runner/failed.txt +0 -3
- data/spec/spec/runner/formatter/base_formatter_spec.rb +0 -30
- data/spec/spec/runner/formatter/base_text_formatter_spec.rb +0 -113
- data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
- data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
- data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -377
- data/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -377
- data/spec/spec/runner/formatter/html_formatted-1.8.7.html +0 -377
- data/spec/spec/runner/formatter/html_formatted-1.9.1.html +0 -377
- data/spec/spec/runner/formatter/html_formatter_spec.rb +0 -118
- data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +0 -329
- data/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -70
- data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -149
- data/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
- data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -159
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +0 -371
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -371
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +0 -371
- data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +0 -371
- data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +0 -106
- data/spec/spec/runner/heckle_runner_spec.rb +0 -78
- data/spec/spec/runner/heckler_spec.rb +0 -20
- data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +0 -70
- data/spec/spec/runner/line_number_query_spec.rb +0 -129
- data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -51
- data/spec/spec/runner/option_parser_spec.rb +0 -551
- data/spec/spec/runner/options_spec.rb +0 -554
- data/spec/spec/runner/output_one_time_fixture.rb +0 -7
- data/spec/spec/runner/output_one_time_fixture_runner.rb +0 -7
- data/spec/spec/runner/output_one_time_spec.rb +0 -15
- data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -123
- data/spec/spec/runner/reporter_spec.rb +0 -244
- data/spec/spec/runner/resources/a_bar.rb +0 -0
- data/spec/spec/runner/resources/a_foo.rb +0 -0
- data/spec/spec/runner/resources/a_spec.rb +0 -1
- data/spec/spec/runner/resources/custom_example_group_runner.rb +0 -14
- data/spec/spec/runner/resources/utf8_encoded.rb +0 -8
- data/spec/spec/runner/spec.opts +0 -2
- data/spec/spec/runner/spec_drb.opts +0 -2
- data/spec/spec/runner/spec_spaced.opts +0 -2
- data/spec/spec/runner_spec.rb +0 -13
- data/spec/spec.opts +0 -6
- data/spec/spec_helper.rb +0 -112
- data/spec/support/macros.rb +0 -29
- data/spec/support/spec_classes.rb +0 -133
data/lib/spec/matchers/be.rb
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
require 'spec/matchers/dsl'
|
|
2
|
-
|
|
3
|
-
Spec::Matchers.define :be_true do
|
|
4
|
-
match do |actual|
|
|
5
|
-
!!actual
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
Spec::Matchers.define :be_false do
|
|
10
|
-
match do |actual|
|
|
11
|
-
!actual
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
Spec::Matchers.define :be_nil do
|
|
16
|
-
match do |actual|
|
|
17
|
-
actual.nil?
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
failure_message_for_should do |actual|
|
|
21
|
-
"expected nil, got #{actual.inspect}"
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
failure_message_for_should_not do
|
|
25
|
-
"expected not nil, got nil"
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
module Spec
|
|
30
|
-
module Matchers
|
|
31
|
-
|
|
32
|
-
class Be #:nodoc:
|
|
33
|
-
include Spec::Matchers::Pretty
|
|
34
|
-
|
|
35
|
-
def initialize(*args, &block)
|
|
36
|
-
@args = args
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def matches?(actual)
|
|
40
|
-
@actual = actual
|
|
41
|
-
!!@actual
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def failure_message_for_should
|
|
45
|
-
"expected #{@actual.inspect} to evaluate to true"
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def failure_message_for_should_not
|
|
49
|
-
"expected #{@actual.inspect} to evaluate to false"
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def description
|
|
53
|
-
"be"
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
[:==, :<, :<=, :>=, :>, :===].each do |operator|
|
|
57
|
-
define_method operator do |operand|
|
|
58
|
-
BeComparedTo.new(operand, operator)
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
private
|
|
63
|
-
|
|
64
|
-
def args_to_s
|
|
65
|
-
@args.empty? ? "" : parenthesize(inspected_args.join(', '))
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def parenthesize(string)
|
|
69
|
-
return "(#{string})"
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def inspected_args
|
|
73
|
-
@args.collect{|a| a.inspect}
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
def expected_to_sentence
|
|
77
|
-
split_words(@expected)
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
def args_to_sentence
|
|
81
|
-
to_sentence(@args)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
class BeComparedTo < Be
|
|
87
|
-
|
|
88
|
-
def initialize(operand, operator)
|
|
89
|
-
@expected, @operator = operand, operator
|
|
90
|
-
@args = []
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
def matches?(actual)
|
|
94
|
-
@actual = actual
|
|
95
|
-
@actual.__send__(@operator, @expected)
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
def failure_message_for_should
|
|
99
|
-
"expected #{@operator} #{@expected}, got #{@actual.inspect}"
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
def failure_message_for_should_not
|
|
103
|
-
message = <<-MESSAGE
|
|
104
|
-
'should_not be #{@operator} #{@expected}' not only FAILED,
|
|
105
|
-
it is a bit confusing.
|
|
106
|
-
MESSAGE
|
|
107
|
-
|
|
108
|
-
raise message << ([:===,:==].include?(@operator) ?
|
|
109
|
-
"It might be more clearly expressed without the \"be\"?" :
|
|
110
|
-
"It might be more clearly expressed in the positive?")
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
def description
|
|
114
|
-
"be #{@operator} #{expected_to_sentence}#{args_to_sentence}"
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
class BePredicate < Be
|
|
120
|
-
|
|
121
|
-
def initialize(*args, &block)
|
|
122
|
-
@expected = parse_expected(args.shift)
|
|
123
|
-
@args = args
|
|
124
|
-
@block = block
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
def matches?(actual)
|
|
128
|
-
@actual = actual
|
|
129
|
-
begin
|
|
130
|
-
return @result = actual.__send__(predicate, *@args, &@block)
|
|
131
|
-
rescue NameError => predicate_missing_error
|
|
132
|
-
"this needs to be here or rcov will not count this branch even though it's executed in a code example"
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
begin
|
|
136
|
-
return @result = actual.__send__(present_tense_predicate, *@args, &@block)
|
|
137
|
-
rescue NameError
|
|
138
|
-
raise predicate_missing_error
|
|
139
|
-
end
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
def failure_message_for_should
|
|
143
|
-
"expected #{predicate}#{args_to_s} to return true, got #{@result.inspect}"
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
def failure_message_for_should_not
|
|
147
|
-
"expected #{predicate}#{args_to_s} to return false, got #{@result.inspect}"
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
def description
|
|
151
|
-
"#{prefix_to_sentence}#{expected_to_sentence}#{args_to_sentence}"
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
private
|
|
155
|
-
|
|
156
|
-
def predicate
|
|
157
|
-
"#{@expected}?".to_sym
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
def present_tense_predicate
|
|
161
|
-
"#{@expected}s?".to_sym
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
def parse_expected(expected)
|
|
165
|
-
@prefix, expected = prefix_and_expected(expected)
|
|
166
|
-
expected
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
def prefix_and_expected(symbol)
|
|
170
|
-
symbol.to_s =~ /^(be_(an?_)?)(.*)/
|
|
171
|
-
return $1, $3
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
def prefix_to_sentence
|
|
175
|
-
split_words(@prefix)
|
|
176
|
-
end
|
|
177
|
-
|
|
178
|
-
end
|
|
179
|
-
|
|
180
|
-
class BeSameAs < Be
|
|
181
|
-
|
|
182
|
-
def initialize(*args, &block)
|
|
183
|
-
@expected = args.shift
|
|
184
|
-
@args = args
|
|
185
|
-
end
|
|
186
|
-
|
|
187
|
-
def matches?(actual)
|
|
188
|
-
@actual = actual
|
|
189
|
-
@actual.equal?(@expected)
|
|
190
|
-
end
|
|
191
|
-
|
|
192
|
-
def failure_message_for_should
|
|
193
|
-
"expected #{@expected}, got #{@actual.inspect}"
|
|
194
|
-
end
|
|
195
|
-
|
|
196
|
-
def failure_message_for_should_not
|
|
197
|
-
"expected not #{@expected}, got #{@actual.inspect}"
|
|
198
|
-
end
|
|
199
|
-
|
|
200
|
-
def description
|
|
201
|
-
"be #{expected_to_sentence}#{args_to_sentence}"
|
|
202
|
-
end
|
|
203
|
-
|
|
204
|
-
end
|
|
205
|
-
|
|
206
|
-
# :call-seq:
|
|
207
|
-
# should be_true
|
|
208
|
-
# should be_false
|
|
209
|
-
# should be_nil
|
|
210
|
-
# should be_[arbitrary_predicate](*args)
|
|
211
|
-
# should_not be_nil
|
|
212
|
-
# should_not be_[arbitrary_predicate](*args)
|
|
213
|
-
#
|
|
214
|
-
# Given true, false, or nil, will pass if actual value is
|
|
215
|
-
# true, false or nil (respectively). Given no args means
|
|
216
|
-
# the caller should satisfy an if condition (to be or not to be).
|
|
217
|
-
#
|
|
218
|
-
# Predicates are any Ruby method that ends in a "?" and returns true or false.
|
|
219
|
-
# Given be_ followed by arbitrary_predicate (without the "?"), RSpec will match
|
|
220
|
-
# convert that into a query against the target object.
|
|
221
|
-
#
|
|
222
|
-
# The arbitrary_predicate feature will handle any predicate
|
|
223
|
-
# prefixed with "be_an_" (e.g. be_an_instance_of), "be_a_" (e.g. be_a_kind_of)
|
|
224
|
-
# or "be_" (e.g. be_empty), letting you choose the prefix that best suits the predicate.
|
|
225
|
-
#
|
|
226
|
-
# == Examples
|
|
227
|
-
#
|
|
228
|
-
# target.should be_true
|
|
229
|
-
# target.should be_false
|
|
230
|
-
# target.should be_nil
|
|
231
|
-
# target.should_not be_nil
|
|
232
|
-
#
|
|
233
|
-
# collection.should be_empty #passes if target.empty?
|
|
234
|
-
# target.should_not be_empty #passes unless target.empty?
|
|
235
|
-
# target.should_not be_old_enough(16) #passes unless target.old_enough?(16)
|
|
236
|
-
def be(*args)
|
|
237
|
-
args.empty? ?
|
|
238
|
-
Matchers::Be.new :
|
|
239
|
-
Matchers::BeSameAs.new(*args)
|
|
240
|
-
end
|
|
241
|
-
|
|
242
|
-
# passes if target.kind_of?(klass)
|
|
243
|
-
def be_a(klass)
|
|
244
|
-
be_a_kind_of(klass)
|
|
245
|
-
end
|
|
246
|
-
|
|
247
|
-
alias_method :be_an, :be_a
|
|
248
|
-
end
|
|
249
|
-
end
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
module Spec
|
|
2
|
-
module Matchers
|
|
3
|
-
# :call-seq:
|
|
4
|
-
# should be_close(expected, delta)
|
|
5
|
-
# should_not be_close(expected, delta)
|
|
6
|
-
#
|
|
7
|
-
# Passes if actual == expected +/- delta
|
|
8
|
-
#
|
|
9
|
-
# == Example
|
|
10
|
-
#
|
|
11
|
-
# result.should be_close(3.0, 0.5)
|
|
12
|
-
def be_close(expected, delta)
|
|
13
|
-
Matcher.new :be_close, expected, delta do |_expected_, _delta_|
|
|
14
|
-
match do |actual|
|
|
15
|
-
(actual - _expected_).abs < _delta_
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
failure_message_for_should do |actual|
|
|
19
|
-
"expected #{_expected_} +/- (< #{_delta_}), got #{actual}"
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
failure_message_for_should_not do |actual|
|
|
23
|
-
"expected #{_expected_} +/- (< #{_delta_}), got #{actual}"
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
description do
|
|
27
|
-
"be close to #{_expected_} (within +- #{_delta_})"
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Spec
|
|
2
|
-
module Matchers
|
|
3
|
-
# :call-seq:
|
|
4
|
-
# should be_instance_of(expected)
|
|
5
|
-
# should be_an_instance_of(expected)
|
|
6
|
-
# should_not be_instance_of(expected)
|
|
7
|
-
# should_not be_an_instance_of(expected)
|
|
8
|
-
#
|
|
9
|
-
# Passes if actual.instance_of?(expected)
|
|
10
|
-
#
|
|
11
|
-
# == Examples
|
|
12
|
-
#
|
|
13
|
-
# 5.should be_instance_of(Fixnum)
|
|
14
|
-
# 5.should_not be_instance_of(Numeric)
|
|
15
|
-
# 5.should_not be_instance_of(Float)
|
|
16
|
-
def be_an_instance_of(expected)
|
|
17
|
-
Matcher.new :be_an_instance_of, expected do |_expected_|
|
|
18
|
-
match do |actual|
|
|
19
|
-
actual.instance_of?(_expected_)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
alias_method :be_instance_of, :be_an_instance_of
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Spec
|
|
2
|
-
module Matchers
|
|
3
|
-
# :call-seq:
|
|
4
|
-
# should be_kind_of(expected)
|
|
5
|
-
# should be_a_kind_of(expected)
|
|
6
|
-
# should_not be_kind_of(expected)
|
|
7
|
-
# should_not be_a_kind_of(expected)
|
|
8
|
-
#
|
|
9
|
-
# Passes if actual.kind_of?(expected)
|
|
10
|
-
#
|
|
11
|
-
# == Examples
|
|
12
|
-
#
|
|
13
|
-
# 5.should be_kind_of(Fixnum)
|
|
14
|
-
# 5.should be_kind_of(Numeric)
|
|
15
|
-
# 5.should_not be_kind_of(Float)
|
|
16
|
-
def be_a_kind_of(expected)
|
|
17
|
-
Matcher.new :be_a_kind_of, expected do |_expected_|
|
|
18
|
-
match do |actual|
|
|
19
|
-
actual.kind_of?(_expected_)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
alias_method :be_kind_of, :be_a_kind_of
|
|
25
|
-
end
|
|
26
|
-
end
|
data/lib/spec/matchers/change.rb
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
module Spec
|
|
2
|
-
module Matchers
|
|
3
|
-
|
|
4
|
-
#Based on patch from Wilson Bilkovich
|
|
5
|
-
class Change #:nodoc:
|
|
6
|
-
def initialize(receiver=nil, message=nil, &block)
|
|
7
|
-
@message = message || "result"
|
|
8
|
-
@value_proc = block || lambda {receiver.__send__(message)}
|
|
9
|
-
@to = @from = @minimum = @maximum = @amount = nil
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def matches?(event_proc)
|
|
13
|
-
raise_block_syntax_error if block_given?
|
|
14
|
-
|
|
15
|
-
@before = evaluate_value_proc
|
|
16
|
-
event_proc.call
|
|
17
|
-
@after = evaluate_value_proc
|
|
18
|
-
|
|
19
|
-
return (@to = false) if @from unless @from == @before
|
|
20
|
-
return false if @to unless @to == @after
|
|
21
|
-
return (@before + @amount == @after) if @amount
|
|
22
|
-
return ((@after - @before) >= @minimum) if @minimum
|
|
23
|
-
return ((@after - @before) <= @maximum) if @maximum
|
|
24
|
-
return @before != @after
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def raise_block_syntax_error
|
|
28
|
-
raise MatcherError.new(<<-MESSAGE
|
|
29
|
-
block passed to should or should_not change must use {} instead of do/end
|
|
30
|
-
MESSAGE
|
|
31
|
-
)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def evaluate_value_proc
|
|
35
|
-
@value_proc.call
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def failure_message_for_should
|
|
39
|
-
if @to
|
|
40
|
-
"#{@message} should have been changed to #{@to.inspect}, but is now #{@after.inspect}"
|
|
41
|
-
elsif @from
|
|
42
|
-
"#{@message} should have initially been #{@from.inspect}, but was #{@before.inspect}"
|
|
43
|
-
elsif @amount
|
|
44
|
-
"#{@message} should have been changed by #{@amount.inspect}, but was changed by #{actual_delta.inspect}"
|
|
45
|
-
elsif @minimum
|
|
46
|
-
"#{@message} should have been changed by at least #{@minimum.inspect}, but was changed by #{actual_delta.inspect}"
|
|
47
|
-
elsif @maximum
|
|
48
|
-
"#{@message} should have been changed by at most #{@maximum.inspect}, but was changed by #{actual_delta.inspect}"
|
|
49
|
-
else
|
|
50
|
-
"#{@message} should have changed, but is still #{@before.inspect}"
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def actual_delta
|
|
55
|
-
@after - @before
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def failure_message_for_should_not
|
|
59
|
-
"#{@message} should not have changed, but did change from #{@before.inspect} to #{@after.inspect}"
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
def by(amount)
|
|
63
|
-
@amount = amount
|
|
64
|
-
self
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def by_at_least(minimum)
|
|
68
|
-
@minimum = minimum
|
|
69
|
-
self
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def by_at_most(maximum)
|
|
73
|
-
@maximum = maximum
|
|
74
|
-
self
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def to(to)
|
|
78
|
-
@to = to
|
|
79
|
-
self
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
def from (from)
|
|
83
|
-
@from = from
|
|
84
|
-
self
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
def description
|
|
88
|
-
"change ##{@message}"
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
# :call-seq:
|
|
93
|
-
# should change(receiver, message, &block)
|
|
94
|
-
# should change(receiver, message, &block).by(value)
|
|
95
|
-
# should change(receiver, message, &block).from(old).to(new)
|
|
96
|
-
# should_not change(receiver, message, &block)
|
|
97
|
-
#
|
|
98
|
-
# Allows you to specify that a Proc will cause some value to change.
|
|
99
|
-
#
|
|
100
|
-
# == Examples
|
|
101
|
-
#
|
|
102
|
-
# lambda {
|
|
103
|
-
# team.add_player(player)
|
|
104
|
-
# }.should change(roster, :count)
|
|
105
|
-
#
|
|
106
|
-
# lambda {
|
|
107
|
-
# team.add_player(player)
|
|
108
|
-
# }.should change(roster, :count).by(1)
|
|
109
|
-
#
|
|
110
|
-
# lambda {
|
|
111
|
-
# team.add_player(player)
|
|
112
|
-
# }.should change(roster, :count).by_at_least(1)
|
|
113
|
-
#
|
|
114
|
-
# lambda {
|
|
115
|
-
# team.add_player(player)
|
|
116
|
-
# }.should change(roster, :count).by_at_most(1)
|
|
117
|
-
#
|
|
118
|
-
# string = "string"
|
|
119
|
-
# lambda {
|
|
120
|
-
# string.reverse!
|
|
121
|
-
# }.should change { string }.from("string").to("gnirts")
|
|
122
|
-
#
|
|
123
|
-
# lambda {
|
|
124
|
-
# person.happy_birthday
|
|
125
|
-
# }.should change(person, :birthday).from(32).to(33)
|
|
126
|
-
#
|
|
127
|
-
# lambda {
|
|
128
|
-
# employee.develop_great_new_social_networking_app
|
|
129
|
-
# }.should change(employee, :title).from("Mail Clerk").to("CEO")
|
|
130
|
-
#
|
|
131
|
-
# Evaluates <tt>receiver.message</tt> or <tt>block</tt> before and after
|
|
132
|
-
# it evaluates the c object (generated by the lambdas in the examples
|
|
133
|
-
# above).
|
|
134
|
-
#
|
|
135
|
-
# Then compares the values before and after the <tt>receiver.message</tt>
|
|
136
|
-
# and evaluates the difference compared to the expected difference.
|
|
137
|
-
#
|
|
138
|
-
# == WARNING
|
|
139
|
-
# <tt>should_not change</tt> only supports the form with no
|
|
140
|
-
# subsequent calls to <tt>by</tt>, <tt>by_at_least</tt>,
|
|
141
|
-
# <tt>by_at_most</tt>, <tt>to</tt> or <tt>from</tt>.
|
|
142
|
-
#
|
|
143
|
-
# blocks passed to <tt>should</tt> <tt>change</tt> and <tt>should_not</tt>
|
|
144
|
-
# <tt>change</tt> must use the <tt>{}</tt> form (<tt>do/end</tt> is not
|
|
145
|
-
# supported).
|
|
146
|
-
#
|
|
147
|
-
def change(receiver=nil, message=nil, &block)
|
|
148
|
-
Matchers::Change.new(receiver, message, &block)
|
|
149
|
-
end
|
|
150
|
-
end
|
|
151
|
-
end
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
Spec::Matchers.constants.each do |c|
|
|
2
|
-
if Class === (klass = Spec::Matchers.const_get(c))
|
|
3
|
-
if klass.public_instance_methods.any? {|m| ['failure_message_for_should',:failure_message_for_should].include?(m)}
|
|
4
|
-
klass.class_eval do
|
|
5
|
-
alias_method :failure_message, :failure_message_for_should
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
if klass.public_instance_methods.any? {|m| ['failure_message_for_should_not',:failure_message_for_should_not].include?(m)}
|
|
9
|
-
klass.class_eval do
|
|
10
|
-
alias_method :negative_failure_message, :failure_message_for_should_not
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
data/lib/spec/matchers/dsl.rb
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
module Spec
|
|
2
|
-
module Matchers
|
|
3
|
-
module DSL
|
|
4
|
-
# See Spec::Matchers
|
|
5
|
-
def define(name, &declarations)
|
|
6
|
-
define_method name do |*expected|
|
|
7
|
-
Spec::Matchers::Matcher.new name, *expected, &declarations
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
# Deprecated - use define
|
|
12
|
-
def create(name, &declarations)
|
|
13
|
-
Spec.deprecate("Spec::Matchers.create","Spec::Matchers.define")
|
|
14
|
-
define(name, &declarations)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
Spec::Matchers.extend Spec::Matchers::DSL
|
data/lib/spec/matchers/eql.rb
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
module Spec
|
|
2
|
-
module Matchers
|
|
3
|
-
# :call-seq:
|
|
4
|
-
# should eql(expected)
|
|
5
|
-
# should_not eql(expected)
|
|
6
|
-
#
|
|
7
|
-
# Passes if actual and expected are of equal value, but not necessarily the same object.
|
|
8
|
-
#
|
|
9
|
-
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more information about equality in Ruby.
|
|
10
|
-
#
|
|
11
|
-
# == Examples
|
|
12
|
-
#
|
|
13
|
-
# 5.should eql(5)
|
|
14
|
-
# 5.should_not eql(3)
|
|
15
|
-
def eql(expected)
|
|
16
|
-
Matcher.new :eql, expected do |_expected_|
|
|
17
|
-
match do |actual|
|
|
18
|
-
actual.eql?(_expected_)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
failure_message_for_should do |actual|
|
|
22
|
-
<<-MESSAGE
|
|
23
|
-
|
|
24
|
-
expected #{_expected_.inspect}
|
|
25
|
-
got #{actual.inspect}
|
|
26
|
-
|
|
27
|
-
(compared using eql?)
|
|
28
|
-
MESSAGE
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
failure_message_for_should_not do |actual|
|
|
32
|
-
<<-MESSAGE
|
|
33
|
-
|
|
34
|
-
expected #{actual.inspect} not to equal #{_expected_.inspect}
|
|
35
|
-
|
|
36
|
-
(compared using eql?)
|
|
37
|
-
MESSAGE
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
data/lib/spec/matchers/equal.rb
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
module Spec
|
|
2
|
-
module Matchers
|
|
3
|
-
|
|
4
|
-
# :call-seq:
|
|
5
|
-
# should equal(expected)
|
|
6
|
-
# should_not equal(expected)
|
|
7
|
-
#
|
|
8
|
-
# Passes if actual and expected are the same object (object identity).
|
|
9
|
-
#
|
|
10
|
-
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more information about equality in Ruby.
|
|
11
|
-
#
|
|
12
|
-
# == Examples
|
|
13
|
-
#
|
|
14
|
-
# 5.should equal(5) #Fixnums are equal
|
|
15
|
-
# "5".should_not equal("5") #Strings that look the same are not the same object
|
|
16
|
-
def equal(expected)
|
|
17
|
-
Matcher.new :equal, expected do |_expected_|
|
|
18
|
-
match do |actual|
|
|
19
|
-
actual.equal?(_expected_)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def inspect_object(o)
|
|
23
|
-
"#<#{o.class}:#{o.object_id}> => #{o.inspect}"
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
failure_message_for_should do |actual|
|
|
27
|
-
<<-MESSAGE
|
|
28
|
-
|
|
29
|
-
expected #{inspect_object(_expected_)}
|
|
30
|
-
got #{inspect_object(actual)}
|
|
31
|
-
|
|
32
|
-
Compared using equal?, which compares object identity,
|
|
33
|
-
but expected and actual are not the same object. Use
|
|
34
|
-
'actual.should == expected' if you don't care about
|
|
35
|
-
object identity in this example.
|
|
36
|
-
|
|
37
|
-
MESSAGE
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
failure_message_for_should_not do |actual|
|
|
41
|
-
<<-MESSAGE
|
|
42
|
-
|
|
43
|
-
expected not #{inspect_object(actual)}
|
|
44
|
-
got #{inspect_object(_expected_)}
|
|
45
|
-
|
|
46
|
-
Compared using equal?, which compares object identity.
|
|
47
|
-
|
|
48
|
-
MESSAGE
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
data/lib/spec/matchers/errors.rb
DELETED
data/lib/spec/matchers/exist.rb
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
module Spec
|
|
2
|
-
module Matchers
|
|
3
|
-
# :call-seq:
|
|
4
|
-
# should exist
|
|
5
|
-
# should_not exist
|
|
6
|
-
#
|
|
7
|
-
# Passes if actual.exist?
|
|
8
|
-
def exist(arg=nil)
|
|
9
|
-
Matcher.new :exist do
|
|
10
|
-
match do |actual|
|
|
11
|
-
arg ? actual.exist?(arg) : actual.exist?
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
module Spec
|
|
2
|
-
module Matchers
|
|
3
|
-
class << self
|
|
4
|
-
attr_accessor :last_matcher, :last_should # :nodoc:
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
def self.clear_generated_description
|
|
8
|
-
self.last_matcher = nil
|
|
9
|
-
self.last_should = nil
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.generated_description
|
|
13
|
-
return nil if last_should.nil?
|
|
14
|
-
"#{last_should.to_s.gsub('_',' ')} #{last_description}"
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
private
|
|
18
|
-
|
|
19
|
-
def self.last_description
|
|
20
|
-
last_matcher.respond_to?(:description) ? last_matcher.description : <<-MESSAGE
|
|
21
|
-
When you call a matcher in an example without a String, like this:
|
|
22
|
-
|
|
23
|
-
specify { object.should matcher }
|
|
24
|
-
|
|
25
|
-
or this:
|
|
26
|
-
|
|
27
|
-
it { should matcher }
|
|
28
|
-
|
|
29
|
-
RSpec expects the matcher to have a #description method. You should either
|
|
30
|
-
add a String to the example this matcher is being used in, or give it a
|
|
31
|
-
description method. Then you won't have to suffer this lengthy warning again.
|
|
32
|
-
MESSAGE
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|