rspec 1.3.2 → 2.0.0.a2
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 +4 -6
- data/.gitignore +4 -14
- data/License.txt +1 -1
- data/README.markdown +46 -0
- data/Rakefile +26 -100
- data/lib/rspec.rb +4 -0
- data/lib/rspec/version.rb +14 -0
- data/rspec.gemspec +46 -19
- metadata +72 -673
- data/.autotest +0 -5
- data/Gemfile +0 -20
- data/History.rdoc +0 -1560
- data/README.rdoc +0 -44
- 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/example_spec.rb +0 -4
- 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 -43
- 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-pending/cli/conditional_exclusion.feature +0 -39
- data/features-pending/heckle/heckle.feature +0 -56
- 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 -37
- 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/init.rb +0 -9
- data/lib/autotest/discover.rb +0 -3
- data/lib/autotest/rspec.rb +0 -54
- data/lib/spec.rb +0 -8
- 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 -41
- data/lib/spec/dsl.rb +0 -1
- data/lib/spec/dsl/main.rb +0 -93
- data/lib/spec/example.rb +0 -164
- 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 -287
- 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 -114
- data/lib/spec/expectations.rb +0 -35
- data/lib/spec/expectations/errors.rb +0 -12
- data/lib/spec/expectations/extensions.rb +0 -1
- data/lib/spec/expectations/extensions/kernel.rb +0 -52
- data/lib/spec/expectations/fail_with.rb +0 -45
- data/lib/spec/expectations/handler.rb +0 -50
- data/lib/spec/extensions/instance_exec.rb +0 -31
- data/lib/spec/interop/test.rb +0 -44
- 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 -36
- data/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
- data/lib/spec/matchers.rb +0 -214
- 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 -83
- 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 -134
- data/lib/spec/matchers/throw_symbol.rb +0 -100
- data/lib/spec/matchers/wrap_expectation.rb +0 -55
- data/lib/spec/mocks.rb +0 -200
- 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.rb +0 -1
- data/lib/spec/mocks/extensions/object.rb +0 -3
- 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 -254
- data/lib/spec/mocks/space.rb +0 -28
- 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.rb +0 -66
- data/lib/spec/runner/backtrace_tweaker.rb +0 -78
- 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 -202
- 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 -77
- 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 -406
- data/lib/spec/runner/reporter.rb +0 -171
- data/lib/spec/stubs/cucumber.rb +0 -5
- data/lib/spec/test/unit.rb +0 -10
- data/lib/spec/version.rb +0 -14
- 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.opts +0 -6
- data/spec/spec/dsl/main_spec.rb +0 -103
- 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 -778
- data/spec/spec/example/example_group_proxy_spec.rb +0 -107
- data/spec/spec/example/example_group_spec.rb +0 -632
- data/spec/spec/example/example_matcher_spec.rb +0 -85
- 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 -110
- 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 -31
- 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 -381
- data/spec/spec/matchers/include_spec.rb +0 -88
- data/spec/spec/matchers/match_array_spec.rb +0 -115
- 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/pretty_spec.rb +0 -22
- 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 -100
- 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_1049_spec.rb +0 -30
- 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 -17
- 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/bug_report_957_spec.rb +0 -22
- 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 -601
- 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_formatted-1.9.2.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_formatted-1.9.2.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_helper.rb +0 -113
- data/spec/support/macros.rb +0 -29
- data/spec/support/spec_classes.rb +0 -133
@@ -1,92 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Mocks
|
3
|
-
class ErrorGenerator
|
4
|
-
attr_writer :opts
|
5
|
-
|
6
|
-
def initialize(target, name, options={})
|
7
|
-
@declared_as = options[:__declared_as] || 'Mock'
|
8
|
-
@target = target
|
9
|
-
@name = name
|
10
|
-
end
|
11
|
-
|
12
|
-
def opts
|
13
|
-
@opts ||= {}
|
14
|
-
end
|
15
|
-
|
16
|
-
def raise_unexpected_message_error(sym, *args)
|
17
|
-
__raise "#{intro} received unexpected message :#{sym}#{arg_message(*args)}"
|
18
|
-
end
|
19
|
-
|
20
|
-
def raise_unexpected_message_args_error(expectation, *args)
|
21
|
-
expected_args = format_args(*expectation.expected_args)
|
22
|
-
actual_args = args.empty? ? "(no args)" : format_args(*args)
|
23
|
-
__raise "#{intro} received #{expectation.sym.inspect} with unexpected arguments\n expected: #{expected_args}\n got: #{actual_args}"
|
24
|
-
end
|
25
|
-
|
26
|
-
def raise_expectation_error(sym, expected_received_count, actual_received_count, *args)
|
27
|
-
__raise "#{intro} expected :#{sym}#{arg_message(*args)} #{count_message(expected_received_count)}, but received it #{count_message(actual_received_count)}"
|
28
|
-
end
|
29
|
-
|
30
|
-
def raise_out_of_order_error(sym)
|
31
|
-
__raise "#{intro} received :#{sym} out of order"
|
32
|
-
end
|
33
|
-
|
34
|
-
def raise_block_failed_error(sym, detail)
|
35
|
-
__raise "#{intro} received :#{sym} but passed block failed with: #{detail}"
|
36
|
-
end
|
37
|
-
|
38
|
-
def raise_missing_block_error(args_to_yield)
|
39
|
-
__raise "#{intro} asked to yield |#{arg_list(*args_to_yield)}| but no block was passed"
|
40
|
-
end
|
41
|
-
|
42
|
-
def raise_wrong_arity_error(args_to_yield, arity)
|
43
|
-
__raise "#{intro} yielded |#{arg_list(*args_to_yield)}| to block with arity of #{arity}"
|
44
|
-
end
|
45
|
-
|
46
|
-
private
|
47
|
-
|
48
|
-
def intro
|
49
|
-
if @name
|
50
|
-
"#{@declared_as} #{@name.inspect}"
|
51
|
-
elsif Mock === @target
|
52
|
-
@declared_as
|
53
|
-
elsif Class === @target
|
54
|
-
"<#{@target.inspect} (class)>"
|
55
|
-
elsif @target
|
56
|
-
@target
|
57
|
-
else
|
58
|
-
"nil"
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
def __raise(message)
|
63
|
-
message = opts[:message] unless opts[:message].nil?
|
64
|
-
Kernel::raise(Spec::Mocks::MockExpectationError, message)
|
65
|
-
end
|
66
|
-
|
67
|
-
def arg_message(*args)
|
68
|
-
" with " + format_args(*args)
|
69
|
-
end
|
70
|
-
|
71
|
-
def format_args(*args)
|
72
|
-
args.empty? ? "(no args)" : "(" + arg_list(*args) + ")"
|
73
|
-
end
|
74
|
-
|
75
|
-
def arg_list(*args)
|
76
|
-
args.collect {|arg| arg.respond_to?(:description) ? arg.description : arg.inspect}.join(", ")
|
77
|
-
end
|
78
|
-
|
79
|
-
def count_message(count)
|
80
|
-
return "at least #{pretty_print(count.abs)}" if count < 0
|
81
|
-
return pretty_print(count)
|
82
|
-
end
|
83
|
-
|
84
|
-
def pretty_print(count)
|
85
|
-
return "once" if count == 1
|
86
|
-
return "twice" if count == 2
|
87
|
-
return "#{count} times"
|
88
|
-
end
|
89
|
-
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
data/lib/spec/mocks/errors.rb
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Mocks
|
3
|
-
module ExampleMethods
|
4
|
-
include Spec::Mocks::ArgumentMatchers
|
5
|
-
|
6
|
-
# Shortcut for creating an instance of Spec::Mocks::Mock.
|
7
|
-
#
|
8
|
-
# +name+ is used for failure reporting, so you should use the
|
9
|
-
# role that the double is playing in the example.
|
10
|
-
#
|
11
|
-
# +stubs_and_options+ lets you assign options and stub values
|
12
|
-
# at the same time. The only option available is :null_object.
|
13
|
-
# Anything else is treated as a stub value.
|
14
|
-
#
|
15
|
-
# == Examples
|
16
|
-
#
|
17
|
-
# thing = double("thing", :a => "A")
|
18
|
-
# thing.a == "A" => true
|
19
|
-
#
|
20
|
-
# person = double("thing", :name => "Joe", :email => "joe@domain.com")
|
21
|
-
# person.name => "Joe"
|
22
|
-
# person.email => "joe@domain.com"
|
23
|
-
def double(*args)
|
24
|
-
__declare_double('Double', *args)
|
25
|
-
end
|
26
|
-
|
27
|
-
# Alias for double
|
28
|
-
def mock(*args)
|
29
|
-
__declare_double('Mock', *args)
|
30
|
-
end
|
31
|
-
|
32
|
-
# Alias for double
|
33
|
-
def stub(*args)
|
34
|
-
__declare_double('Stub', *args)
|
35
|
-
end
|
36
|
-
|
37
|
-
def __declare_double(declared_as, *args) # :nodoc:
|
38
|
-
args << {} unless Hash === args.last
|
39
|
-
args.last[:__declared_as] = declared_as
|
40
|
-
Spec::Mocks::Mock.new(*args)
|
41
|
-
end
|
42
|
-
|
43
|
-
# DEPRECATED - use double('name').as_null_object instead
|
44
|
-
#
|
45
|
-
# Shortcut for creating a mock object that will return itself in response
|
46
|
-
# to any message it receives that it hasn't been explicitly instructed
|
47
|
-
# to respond to.
|
48
|
-
def stub_everything(name = 'stub')
|
49
|
-
Spec.warn(<<-WARNING)
|
50
|
-
|
51
|
-
DEPRECATION: stub_everything('#{name}') is deprecated and will be removed
|
52
|
-
from a future version of rspec. Please use double('#{name}').as_null_object
|
53
|
-
(or stub('#{name}').as_null_object or mock('#{name}').as_null_object instead.
|
54
|
-
|
55
|
-
WARNING
|
56
|
-
mock(name, :null_object => true)
|
57
|
-
end
|
58
|
-
|
59
|
-
# Disables warning messages about expectations being set on nil.
|
60
|
-
#
|
61
|
-
# By default warning messages are issued when expectations are set on nil. This is to
|
62
|
-
# prevent false-positives and to catch potential bugs early on.
|
63
|
-
def allow_message_expectations_on_nil
|
64
|
-
Proxy.allow_message_expectations_on_nil
|
65
|
-
end
|
66
|
-
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
require 'spec/mocks/extensions/object'
|
data/lib/spec/mocks/framework.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# Require everything except the global extensions of class and object. This
|
2
|
-
# supports wrapping rspec's mocking functionality without invading every
|
3
|
-
# object in the system.
|
4
|
-
|
5
|
-
require 'spec/mocks/methods'
|
6
|
-
require 'spec/mocks/argument_matchers'
|
7
|
-
require 'spec/mocks/example_methods'
|
8
|
-
require 'spec/mocks/proxy'
|
9
|
-
require 'spec/mocks/mock'
|
10
|
-
require 'spec/mocks/argument_expectation'
|
11
|
-
require 'spec/mocks/message_expectation'
|
12
|
-
require 'spec/mocks/order_group'
|
13
|
-
require 'spec/mocks/errors'
|
14
|
-
require 'spec/mocks/error_generator'
|
15
|
-
require 'spec/mocks/space'
|
@@ -1,344 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Mocks
|
3
|
-
|
4
|
-
class BaseExpectation
|
5
|
-
attr_reader :sym
|
6
|
-
attr_writer :expected_received_count, :method_block, :expected_from
|
7
|
-
protected :expected_received_count=, :method_block=, :expected_from=
|
8
|
-
attr_accessor :error_generator
|
9
|
-
protected :error_generator, :error_generator=
|
10
|
-
|
11
|
-
def initialize(error_generator, expectation_ordering, expected_from, sym, method_block, expected_received_count=1, opts={}, &implementation)
|
12
|
-
@error_generator = error_generator
|
13
|
-
@error_generator.opts = opts
|
14
|
-
@expected_from = expected_from
|
15
|
-
@sym = sym
|
16
|
-
@method_block = method_block
|
17
|
-
@actual_received_count = 0
|
18
|
-
@expected_received_count = expected_received_count
|
19
|
-
@args_expectation = ArgumentExpectation.new([ArgumentMatchers::AnyArgsMatcher.new])
|
20
|
-
@consecutive = false
|
21
|
-
@exception_to_raise = nil
|
22
|
-
@symbol_to_throw = nil
|
23
|
-
@order_group = expectation_ordering
|
24
|
-
@at_least = nil
|
25
|
-
@at_most = nil
|
26
|
-
@args_to_yield = []
|
27
|
-
@failed_fast = nil
|
28
|
-
@args_to_yield_were_cloned = false
|
29
|
-
@return_block = implementation
|
30
|
-
@eval_context = nil
|
31
|
-
end
|
32
|
-
|
33
|
-
def build_child(expected_from, method_block, expected_received_count, opts={})
|
34
|
-
child = clone
|
35
|
-
child.expected_from = expected_from
|
36
|
-
child.method_block = method_block
|
37
|
-
child.expected_received_count = expected_received_count
|
38
|
-
child.clear_actual_received_count!
|
39
|
-
new_gen = error_generator.clone
|
40
|
-
new_gen.opts = opts
|
41
|
-
child.error_generator = new_gen
|
42
|
-
child.clone_args_to_yield @args_to_yield
|
43
|
-
child
|
44
|
-
end
|
45
|
-
|
46
|
-
def expected_args
|
47
|
-
@args_expectation.args
|
48
|
-
end
|
49
|
-
|
50
|
-
def and_return(*values, &return_block)
|
51
|
-
Kernel::raise AmbiguousReturnError unless @method_block.nil?
|
52
|
-
case values.size
|
53
|
-
when 0 then value = nil
|
54
|
-
when 1 then value = values[0]
|
55
|
-
else
|
56
|
-
value = values
|
57
|
-
@consecutive = true
|
58
|
-
@expected_received_count = values.size if !ignoring_args? &&
|
59
|
-
@expected_received_count < values.size
|
60
|
-
end
|
61
|
-
@return_block = block_given? ? return_block : lambda { value }
|
62
|
-
end
|
63
|
-
|
64
|
-
# :call-seq:
|
65
|
-
# and_raise()
|
66
|
-
# and_raise(Exception) #any exception class
|
67
|
-
# and_raise(exception) #any exception object
|
68
|
-
#
|
69
|
-
# == Warning
|
70
|
-
#
|
71
|
-
# When you pass an exception class, the MessageExpectation will
|
72
|
-
# raise an instance of it, creating it with +new+. If the exception
|
73
|
-
# class initializer requires any parameters, you must pass in an
|
74
|
-
# instance and not the class.
|
75
|
-
def and_raise(exception=Exception)
|
76
|
-
@exception_to_raise = exception
|
77
|
-
end
|
78
|
-
|
79
|
-
def and_throw(symbol)
|
80
|
-
@symbol_to_throw = symbol
|
81
|
-
end
|
82
|
-
|
83
|
-
def and_yield(*args, &block)
|
84
|
-
if @args_to_yield_were_cloned
|
85
|
-
@args_to_yield.clear
|
86
|
-
@args_to_yield_were_cloned = false
|
87
|
-
end
|
88
|
-
|
89
|
-
if block
|
90
|
-
require 'spec/extensions/instance_exec'
|
91
|
-
@eval_context = Object.new
|
92
|
-
@eval_context.extend Spec::Matchers::InstanceExec
|
93
|
-
yield @eval_context
|
94
|
-
end
|
95
|
-
@args_to_yield << args
|
96
|
-
self
|
97
|
-
end
|
98
|
-
|
99
|
-
def matches(sym, args)
|
100
|
-
@sym == sym and @args_expectation.args_match?(args)
|
101
|
-
end
|
102
|
-
|
103
|
-
def invoke(*args, &block)
|
104
|
-
if @expected_received_count == 0
|
105
|
-
@failed_fast = true
|
106
|
-
@actual_received_count += 1
|
107
|
-
@error_generator.raise_expectation_error @sym, @expected_received_count, @actual_received_count, *args
|
108
|
-
end
|
109
|
-
|
110
|
-
@order_group.handle_order_constraint self
|
111
|
-
|
112
|
-
begin
|
113
|
-
Kernel::raise @exception_to_raise unless @exception_to_raise.nil?
|
114
|
-
Kernel::throw @symbol_to_throw unless @symbol_to_throw.nil?
|
115
|
-
|
116
|
-
|
117
|
-
if !@method_block.nil?
|
118
|
-
default_return_val = invoke_method_block(*args)
|
119
|
-
elsif @args_to_yield.size > 0 || @eval_context
|
120
|
-
default_return_val = invoke_with_yield(&block)
|
121
|
-
else
|
122
|
-
default_return_val = nil
|
123
|
-
end
|
124
|
-
|
125
|
-
if @consecutive
|
126
|
-
return invoke_consecutive_return_block(*args, &block)
|
127
|
-
elsif @return_block
|
128
|
-
return invoke_return_block(*args, &block)
|
129
|
-
else
|
130
|
-
return default_return_val
|
131
|
-
end
|
132
|
-
ensure
|
133
|
-
@actual_received_count += 1
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
def called_max_times?
|
138
|
-
@expected_received_count != :any && @expected_received_count > 0 &&
|
139
|
-
@actual_received_count >= @expected_received_count
|
140
|
-
end
|
141
|
-
|
142
|
-
def invoke_return_block(*args, &block)
|
143
|
-
args << block unless block.nil?
|
144
|
-
# Ruby 1.9 - when we set @return_block to return values
|
145
|
-
# regardless of arguments, any arguments will result in
|
146
|
-
# a "wrong number of arguments" error
|
147
|
-
@return_block.arity == 0 ? @return_block.call : @return_block.call(*args)
|
148
|
-
end
|
149
|
-
|
150
|
-
protected
|
151
|
-
|
152
|
-
def invoke_method_block(*args)
|
153
|
-
begin
|
154
|
-
@method_block.call(*args)
|
155
|
-
rescue => detail
|
156
|
-
@error_generator.raise_block_failed_error @sym, detail.message
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
def invoke_with_yield(&block)
|
161
|
-
if block.nil?
|
162
|
-
@error_generator.raise_missing_block_error @args_to_yield
|
163
|
-
end
|
164
|
-
value = nil
|
165
|
-
@args_to_yield.each do |args_to_yield_this_time|
|
166
|
-
if block.arity > -1 && args_to_yield_this_time.length != block.arity
|
167
|
-
@error_generator.raise_wrong_arity_error args_to_yield_this_time, block.arity
|
168
|
-
end
|
169
|
-
value = eval_block(*args_to_yield_this_time, &block)
|
170
|
-
end
|
171
|
-
value
|
172
|
-
end
|
173
|
-
|
174
|
-
def eval_block(*args, &block)
|
175
|
-
if @eval_context
|
176
|
-
@eval_context.instance_exec(*args, &block)
|
177
|
-
else
|
178
|
-
block.call(*args)
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
def invoke_consecutive_return_block(*args, &block)
|
183
|
-
value = invoke_return_block(*args, &block)
|
184
|
-
index = [@actual_received_count, value.size-1].min
|
185
|
-
value[index]
|
186
|
-
end
|
187
|
-
|
188
|
-
def clone_args_to_yield(args)
|
189
|
-
@args_to_yield = args.clone
|
190
|
-
@args_to_yield_were_cloned = true
|
191
|
-
end
|
192
|
-
|
193
|
-
def failed_fast?
|
194
|
-
@failed_fast
|
195
|
-
end
|
196
|
-
end
|
197
|
-
|
198
|
-
class MessageExpectation < BaseExpectation
|
199
|
-
|
200
|
-
def matches_name?(sym)
|
201
|
-
@sym == sym
|
202
|
-
end
|
203
|
-
|
204
|
-
def matches_name_but_not_args(sym, args)
|
205
|
-
matches_name?(sym) and not @args_expectation.args_match?(args)
|
206
|
-
end
|
207
|
-
|
208
|
-
def verify_messages_received
|
209
|
-
return if expected_messages_received? || failed_fast?
|
210
|
-
|
211
|
-
generate_error
|
212
|
-
rescue Spec::Mocks::MockExpectationError => error
|
213
|
-
error.backtrace.insert(0, @expected_from)
|
214
|
-
Kernel::raise error
|
215
|
-
end
|
216
|
-
|
217
|
-
def expected_messages_received?
|
218
|
-
ignoring_args? || matches_exact_count? ||
|
219
|
-
matches_at_least_count? || matches_at_most_count?
|
220
|
-
end
|
221
|
-
|
222
|
-
def ignoring_args?
|
223
|
-
@expected_received_count == :any
|
224
|
-
end
|
225
|
-
|
226
|
-
def matches_at_least_count?
|
227
|
-
@at_least && @actual_received_count >= @expected_received_count
|
228
|
-
end
|
229
|
-
|
230
|
-
def matches_at_most_count?
|
231
|
-
@at_most && @actual_received_count <= @expected_received_count
|
232
|
-
end
|
233
|
-
|
234
|
-
def matches_exact_count?
|
235
|
-
@expected_received_count == @actual_received_count
|
236
|
-
end
|
237
|
-
|
238
|
-
def similar_messages
|
239
|
-
@similar_messages ||= []
|
240
|
-
end
|
241
|
-
|
242
|
-
def advise(*args)
|
243
|
-
similar_messages << args
|
244
|
-
end
|
245
|
-
|
246
|
-
def generate_error
|
247
|
-
if similar_messages.empty?
|
248
|
-
@error_generator.raise_expectation_error(@sym, @expected_received_count, @actual_received_count, *@args_expectation.args)
|
249
|
-
else
|
250
|
-
@error_generator.raise_unexpected_message_args_error(self, *@similar_messages)
|
251
|
-
end
|
252
|
-
end
|
253
|
-
|
254
|
-
def with(*args, &block)
|
255
|
-
@args_expectation = ArgumentExpectation.new(args, &block)
|
256
|
-
self
|
257
|
-
end
|
258
|
-
|
259
|
-
def exactly(n)
|
260
|
-
set_expected_received_count :exactly, n
|
261
|
-
self
|
262
|
-
end
|
263
|
-
|
264
|
-
def at_least(n)
|
265
|
-
set_expected_received_count :at_least, n
|
266
|
-
self
|
267
|
-
end
|
268
|
-
|
269
|
-
def at_most(n)
|
270
|
-
set_expected_received_count :at_most, n
|
271
|
-
self
|
272
|
-
end
|
273
|
-
|
274
|
-
def times(&block)
|
275
|
-
@method_block = block if block
|
276
|
-
self
|
277
|
-
end
|
278
|
-
|
279
|
-
def any_number_of_times(&block)
|
280
|
-
@method_block = block if block
|
281
|
-
@expected_received_count = :any
|
282
|
-
self
|
283
|
-
end
|
284
|
-
|
285
|
-
def never
|
286
|
-
@expected_received_count = 0
|
287
|
-
self
|
288
|
-
end
|
289
|
-
|
290
|
-
def once(&block)
|
291
|
-
@method_block = block if block
|
292
|
-
@expected_received_count = 1
|
293
|
-
self
|
294
|
-
end
|
295
|
-
|
296
|
-
def twice(&block)
|
297
|
-
@method_block = block if block
|
298
|
-
@expected_received_count = 2
|
299
|
-
self
|
300
|
-
end
|
301
|
-
|
302
|
-
def ordered(&block)
|
303
|
-
@method_block = block if block
|
304
|
-
@order_group.register(self)
|
305
|
-
@ordered = true
|
306
|
-
self
|
307
|
-
end
|
308
|
-
|
309
|
-
def negative_expectation_for?(sym)
|
310
|
-
return false
|
311
|
-
end
|
312
|
-
|
313
|
-
protected
|
314
|
-
def set_expected_received_count(relativity, n)
|
315
|
-
@at_least = (relativity == :at_least)
|
316
|
-
@at_most = (relativity == :at_most)
|
317
|
-
@expected_received_count = case n
|
318
|
-
when Numeric
|
319
|
-
n
|
320
|
-
when :once
|
321
|
-
1
|
322
|
-
when :twice
|
323
|
-
2
|
324
|
-
end
|
325
|
-
end
|
326
|
-
|
327
|
-
def clear_actual_received_count!
|
328
|
-
@actual_received_count = 0
|
329
|
-
end
|
330
|
-
|
331
|
-
end
|
332
|
-
|
333
|
-
class NegativeMessageExpectation < MessageExpectation
|
334
|
-
def initialize(message, expectation_ordering, expected_from, sym, method_block)
|
335
|
-
super(message, expectation_ordering, expected_from, sym, method_block, 0)
|
336
|
-
end
|
337
|
-
|
338
|
-
def negative_expectation_for?(sym)
|
339
|
-
return @sym == sym
|
340
|
-
end
|
341
|
-
end
|
342
|
-
|
343
|
-
end
|
344
|
-
end
|