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,66 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
describe "PartialMockUsingMocksDirectly" do
|
6
|
-
before(:each) do
|
7
|
-
|
8
|
-
klass=Class.new
|
9
|
-
klass.class_eval do
|
10
|
-
def existing_method
|
11
|
-
:original_value
|
12
|
-
end
|
13
|
-
end
|
14
|
-
@obj = klass.new
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
# See http://rubyforge.org/tracker/index.php?func=detail&aid=10263&group_id=797&atid=3149
|
19
|
-
# specify "should clear expectations on verify" do
|
20
|
-
# @obj.should_receive(:msg)
|
21
|
-
# @obj.msg
|
22
|
-
# @obj.rspec_verify
|
23
|
-
# lambda do
|
24
|
-
# @obj.msg
|
25
|
-
# end.should raise_error(NoMethodError)
|
26
|
-
#
|
27
|
-
# end
|
28
|
-
it "should fail when expected message is not received" do
|
29
|
-
@obj.should_receive(:msg)
|
30
|
-
lambda do
|
31
|
-
@obj.rspec_verify
|
32
|
-
end.should raise_error(MockExpectationError)
|
33
|
-
|
34
|
-
end
|
35
|
-
it "should fail when message is received with incorrect args" do
|
36
|
-
@obj.should_receive(:msg).with(:correct_arg)
|
37
|
-
lambda do
|
38
|
-
@obj.msg(:incorrect_arg)
|
39
|
-
end.should raise_error(MockExpectationError)
|
40
|
-
@obj.msg(:correct_arg)
|
41
|
-
|
42
|
-
end
|
43
|
-
it "should pass when expected message is received" do
|
44
|
-
@obj.should_receive(:msg)
|
45
|
-
@obj.msg
|
46
|
-
@obj.rspec_verify
|
47
|
-
|
48
|
-
end
|
49
|
-
it "should pass when message is received with correct args" do
|
50
|
-
@obj.should_receive(:msg).with(:correct_arg)
|
51
|
-
@obj.msg(:correct_arg)
|
52
|
-
@obj.rspec_verify
|
53
|
-
|
54
|
-
end
|
55
|
-
it "should revert to original method if existed" do
|
56
|
-
@obj.existing_method.should equal(:original_value)
|
57
|
-
@obj.should_receive(:existing_method).and_return(:mock_value)
|
58
|
-
@obj.existing_method.should equal(:mock_value)
|
59
|
-
@obj.rspec_verify
|
60
|
-
@obj.existing_method.should equal(:original_value)
|
61
|
-
|
62
|
-
end
|
63
|
-
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
@@ -1,145 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
describe "mock argument matchers", :shared => true do
|
6
|
-
before(:each) do
|
7
|
-
@mock = Mock.new("test mock")
|
8
|
-
Kernel.stub!(:warn)
|
9
|
-
end
|
10
|
-
|
11
|
-
after(:each) do
|
12
|
-
@mock.rspec_verify
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe Methods, "handling argument matchers" do
|
17
|
-
it_should_behave_like "mock argument matchers"
|
18
|
-
|
19
|
-
it "should accept true as boolean()" do
|
20
|
-
@mock.should_receive(:random_call).with(boolean())
|
21
|
-
@mock.random_call(true)
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should accept false as boolean()" do
|
25
|
-
@mock.should_receive(:random_call).with(boolean())
|
26
|
-
@mock.random_call(false)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should accept fixnum as kind_of(Numeric)" do
|
30
|
-
@mock.should_receive(:random_call).with(kind_of(Numeric))
|
31
|
-
@mock.random_call(1)
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should accept float as an_instance_of(Numeric)" do
|
35
|
-
@mock.should_receive(:random_call).with(kind_of(Numeric))
|
36
|
-
@mock.random_call(1.5)
|
37
|
-
end
|
38
|
-
|
39
|
-
it "accepts fixnum as instance_of(Fixnum)" do
|
40
|
-
@mock.should_receive(:random_call).with(instance_of(Fixnum))
|
41
|
-
@mock.random_call(1)
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should NOT accept fixnum as instance_of(Numeric)" do
|
45
|
-
@mock.should_not_receive(:random_call).with(instance_of(Numeric))
|
46
|
-
@mock.random_call(1)
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should NOT accept float as instance_of(Numeric)" do
|
50
|
-
@mock.should_not_receive(:random_call).with(instance_of(Numeric))
|
51
|
-
@mock.random_call(1.5)
|
52
|
-
end
|
53
|
-
|
54
|
-
it "should accept string as anything()" do
|
55
|
-
@mock.should_receive(:random_call).with("a", anything(), "c")
|
56
|
-
@mock.random_call("a", "whatever", "c")
|
57
|
-
end
|
58
|
-
|
59
|
-
it "should match duck type with one method" do
|
60
|
-
@mock.should_receive(:random_call).with(duck_type(:length))
|
61
|
-
@mock.random_call([])
|
62
|
-
end
|
63
|
-
|
64
|
-
it "should match duck type with two methods" do
|
65
|
-
@mock.should_receive(:random_call).with(duck_type(:abs, :div))
|
66
|
-
@mock.random_call(1)
|
67
|
-
end
|
68
|
-
|
69
|
-
it "should match no args against any_args()" do
|
70
|
-
@mock.should_receive(:random_call).with(any_args)
|
71
|
-
@mock.random_call()
|
72
|
-
end
|
73
|
-
|
74
|
-
it "should match one arg against any_args()" do
|
75
|
-
@mock.should_receive(:random_call).with(any_args)
|
76
|
-
@mock.random_call("a string")
|
77
|
-
end
|
78
|
-
|
79
|
-
it "should match no args against no_args()" do
|
80
|
-
@mock.should_receive(:random_call).with(no_args)
|
81
|
-
@mock.random_call()
|
82
|
-
end
|
83
|
-
|
84
|
-
it "should match hash with hash_including same hash" do
|
85
|
-
@mock.should_receive(:random_call).with(hash_including(:a => 1))
|
86
|
-
@mock.random_call(:a => 1)
|
87
|
-
end
|
88
|
-
|
89
|
-
end
|
90
|
-
|
91
|
-
describe Methods, "handling block matchers" do
|
92
|
-
it_should_behave_like "mock argument matchers"
|
93
|
-
|
94
|
-
it "should match arguments against RSpec expectations" do
|
95
|
-
@mock.should_receive(:random_call).with {|arg1, arg2, arr, *rest|
|
96
|
-
arg1.should == 5
|
97
|
-
arg2.should have_at_least(3).characters
|
98
|
-
arg2.should have_at_most(10).characters
|
99
|
-
arr.map {|i| i * 2}.should == [2,4,6]
|
100
|
-
rest.should == [:fee, "fi", 4]
|
101
|
-
}
|
102
|
-
@mock.random_call 5, "hello", [1,2,3], :fee, "fi", 4
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
describe Methods, "handling non-matcher arguments" do
|
107
|
-
|
108
|
-
before(:each) do
|
109
|
-
@mock = Mock.new("test mock")
|
110
|
-
end
|
111
|
-
|
112
|
-
it "should match non special symbol (can be removed when deprecated symbols are removed)" do
|
113
|
-
@mock.should_receive(:random_call).with(:some_symbol)
|
114
|
-
@mock.random_call(:some_symbol)
|
115
|
-
end
|
116
|
-
|
117
|
-
it "should match string against regexp" do
|
118
|
-
@mock.should_receive(:random_call).with(/bcd/)
|
119
|
-
@mock.random_call("abcde")
|
120
|
-
end
|
121
|
-
|
122
|
-
it "should match regexp against regexp" do
|
123
|
-
@mock.should_receive(:random_call).with(/bcd/)
|
124
|
-
@mock.random_call(/bcd/)
|
125
|
-
end
|
126
|
-
|
127
|
-
it "should match against a hash submitted and received by value" do
|
128
|
-
@mock.should_receive(:random_call).with(:a => "a", :b => "b")
|
129
|
-
@mock.random_call(:a => "a", :b => "b")
|
130
|
-
end
|
131
|
-
|
132
|
-
it "should match against a hash submitted by reference and received by value" do
|
133
|
-
opts = {:a => "a", :b => "b"}
|
134
|
-
@mock.should_receive(:random_call).with(opts)
|
135
|
-
@mock.random_call(:a => "a", :b => "b")
|
136
|
-
end
|
137
|
-
|
138
|
-
it "should match against a hash submitted by value and received by reference" do
|
139
|
-
opts = {:a => "a", :b => "b"}
|
140
|
-
@mock.should_receive(:random_call).with(:a => "a", :b => "b")
|
141
|
-
@mock.random_call(opts)
|
142
|
-
end
|
143
|
-
end
|
144
|
-
end
|
145
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
describe "PreciseCounts" do
|
6
|
-
before(:each) do
|
7
|
-
@mock = mock("test mock")
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should fail when exactly n times method is called less than n times" do
|
11
|
-
@mock.should_receive(:random_call).exactly(3).times
|
12
|
-
@mock.random_call
|
13
|
-
@mock.random_call
|
14
|
-
lambda do
|
15
|
-
@mock.rspec_verify
|
16
|
-
end.should raise_error(MockExpectationError)
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should fail when exactly n times method is never called" do
|
20
|
-
@mock.should_receive(:random_call).exactly(3).times
|
21
|
-
lambda do
|
22
|
-
@mock.rspec_verify
|
23
|
-
end.should raise_error(MockExpectationError)
|
24
|
-
end
|
25
|
-
|
26
|
-
it "should pass if exactly n times method is called exactly n times" do
|
27
|
-
@mock.should_receive(:random_call).exactly(3).times
|
28
|
-
@mock.random_call
|
29
|
-
@mock.random_call
|
30
|
-
@mock.random_call
|
31
|
-
@mock.rspec_verify
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should pass multiple calls with different args and counts" do
|
35
|
-
@mock.should_receive(:random_call).twice.with(1)
|
36
|
-
@mock.should_receive(:random_call).once.with(2)
|
37
|
-
@mock.random_call(1)
|
38
|
-
@mock.random_call(2)
|
39
|
-
@mock.random_call(1)
|
40
|
-
@mock.rspec_verify
|
41
|
-
end
|
42
|
-
|
43
|
-
it "should pass mutiple calls with different args" do
|
44
|
-
@mock.should_receive(:random_call).once.with(1)
|
45
|
-
@mock.should_receive(:random_call).once.with(2)
|
46
|
-
@mock.random_call(1)
|
47
|
-
@mock.random_call(2)
|
48
|
-
@mock.rspec_verify
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
describe "a mock" do
|
6
|
-
before(:each) do
|
7
|
-
@mock = mock("mock", :null_object => true)
|
8
|
-
end
|
9
|
-
it "should answer false for received_message? when no messages received" do
|
10
|
-
@mock.received_message?(:message).should be_false
|
11
|
-
end
|
12
|
-
it "should answer true for received_message? when message received" do
|
13
|
-
@mock.message
|
14
|
-
@mock.received_message?(:message).should be_true
|
15
|
-
end
|
16
|
-
it "should answer true for received_message? when message received with correct args" do
|
17
|
-
@mock.message 1,2,3
|
18
|
-
@mock.received_message?(:message, 1,2,3).should be_true
|
19
|
-
end
|
20
|
-
it "should answer false for received_message? when message received with incorrect args" do
|
21
|
-
@mock.message 1,2,3
|
22
|
-
@mock.received_message?(:message, 1,2).should be_false
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
describe "A chained method stub" do
|
6
|
-
before(:each) do
|
7
|
-
@subject = Object.new
|
8
|
-
end
|
9
|
-
|
10
|
-
it "returns expected value from chaining only one method call" do
|
11
|
-
@subject.stub_chain(:msg1).and_return(:return_value)
|
12
|
-
@subject.msg1.should equal(:return_value)
|
13
|
-
end
|
14
|
-
|
15
|
-
it "returns expected value from chaining two method calls" do
|
16
|
-
@subject.stub_chain(:msg1, :msg2).and_return(:return_value)
|
17
|
-
@subject.msg1.msg2.should equal(:return_value)
|
18
|
-
end
|
19
|
-
|
20
|
-
it "returns expected value from chaining four method calls" do
|
21
|
-
@subject.stub_chain(:msg1, :msg2, :msg3, :msg4).and_return(:return_value)
|
22
|
-
@subject.msg1.msg2.msg3.msg4.should equal(:return_value)
|
23
|
-
end
|
24
|
-
|
25
|
-
it "returns expected value from two chains with shared messages at the end" do
|
26
|
-
@subject.stub_chain(:msg1, :msg2, :msg3, :msg4).and_return(:first)
|
27
|
-
@subject.stub_chain(:msg5, :msg2, :msg3, :msg4).and_return(:second)
|
28
|
-
|
29
|
-
@subject.msg1.msg2.msg3.msg4.should equal(:first)
|
30
|
-
@subject.msg5.msg2.msg3.msg4.should equal(:second)
|
31
|
-
end
|
32
|
-
|
33
|
-
it "returns expected value from two chains with shared messages at the beginning" do
|
34
|
-
@subject.stub_chain(:msg1, :msg2, :msg3, :msg4).and_return(:first)
|
35
|
-
@subject.stub_chain(:msg1, :msg2, :msg3, :msg5).and_return(:second)
|
36
|
-
|
37
|
-
@subject.msg1.msg2.msg3.msg4.should equal(:first)
|
38
|
-
@subject.msg1.msg2.msg3.msg5.should equal(:second)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
describe "stub implementation" do
|
6
|
-
context "with no args" do
|
7
|
-
it "execs the block when called" do
|
8
|
-
obj = stub()
|
9
|
-
obj.stub(:foo) { :bar }
|
10
|
-
obj.foo.should == :bar
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
context "with one arg" do
|
15
|
-
it "execs the block with that arg when called" do
|
16
|
-
obj = stub()
|
17
|
-
obj.stub(:foo) {|given| given}
|
18
|
-
obj.foo(:bar).should == :bar
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
context "with variable args" do
|
23
|
-
it "execs the block when called" do
|
24
|
-
obj = stub()
|
25
|
-
obj.stub(:foo) {|*given| given.first}
|
26
|
-
obj.foo(:bar).should == :bar
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,203 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
describe "A method stub" do
|
6
|
-
before(:each) do
|
7
|
-
@class = Class.new do
|
8
|
-
def self.existing_class_method
|
9
|
-
:original_value
|
10
|
-
end
|
11
|
-
|
12
|
-
def existing_instance_method
|
13
|
-
:original_value
|
14
|
-
end
|
15
|
-
end
|
16
|
-
@instance = @class.new
|
17
|
-
@stub = Object.new
|
18
|
-
end
|
19
|
-
|
20
|
-
[:stub!, :stub].each do |method|
|
21
|
-
context "using #{method}" do
|
22
|
-
it "should return expected value when expected message is received" do
|
23
|
-
@instance.send(method, :msg).and_return(:return_value)
|
24
|
-
@instance.msg.should equal(:return_value)
|
25
|
-
@instance.rspec_verify
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should ignore when expected message is received" do
|
31
|
-
@instance.stub!(:msg)
|
32
|
-
@instance.msg
|
33
|
-
lambda do
|
34
|
-
@instance.rspec_verify
|
35
|
-
end.should_not raise_error
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should ignore when message is received with args" do
|
39
|
-
@instance.stub!(:msg)
|
40
|
-
@instance.msg(:an_arg)
|
41
|
-
lambda do
|
42
|
-
@instance.rspec_verify
|
43
|
-
end.should_not raise_error
|
44
|
-
end
|
45
|
-
|
46
|
-
it "should ignore when expected message is not received" do
|
47
|
-
@instance.stub!(:msg)
|
48
|
-
lambda do
|
49
|
-
@instance.rspec_verify
|
50
|
-
end.should_not raise_error
|
51
|
-
end
|
52
|
-
|
53
|
-
it "should handle multiple stubbed methods" do
|
54
|
-
@instance.stub!(:msg1 => 1, :msg2 => 2)
|
55
|
-
@instance.msg1.should == 1
|
56
|
-
@instance.msg2.should == 2
|
57
|
-
end
|
58
|
-
|
59
|
-
it "should clear itself when verified" do
|
60
|
-
@instance.stub!(:this_should_go).and_return(:blah)
|
61
|
-
@instance.this_should_go.should == :blah
|
62
|
-
@instance.rspec_verify
|
63
|
-
lambda do
|
64
|
-
@instance.this_should_go
|
65
|
-
end.should raise_error(NameError)
|
66
|
-
end
|
67
|
-
|
68
|
-
it "should return values in order to consecutive calls" do
|
69
|
-
return_values = ["1",2,Object.new]
|
70
|
-
@instance.stub!(:msg).and_return(return_values[0],return_values[1],return_values[2])
|
71
|
-
@instance.msg.should == return_values[0]
|
72
|
-
@instance.msg.should == return_values[1]
|
73
|
-
@instance.msg.should == return_values[2]
|
74
|
-
end
|
75
|
-
|
76
|
-
it "should keep returning last value in consecutive calls" do
|
77
|
-
return_values = ["1",2,Object.new]
|
78
|
-
@instance.stub!(:msg).and_return(return_values[0],return_values[1],return_values[2])
|
79
|
-
@instance.msg.should == return_values[0]
|
80
|
-
@instance.msg.should == return_values[1]
|
81
|
-
@instance.msg.should == return_values[2]
|
82
|
-
@instance.msg.should == return_values[2]
|
83
|
-
@instance.msg.should == return_values[2]
|
84
|
-
end
|
85
|
-
|
86
|
-
it "should revert to original instance method if there is one" do
|
87
|
-
@instance.existing_instance_method.should equal(:original_value)
|
88
|
-
@instance.stub!(:existing_instance_method).and_return(:mock_value)
|
89
|
-
@instance.existing_instance_method.should equal(:mock_value)
|
90
|
-
@instance.rspec_verify
|
91
|
-
@instance.existing_instance_method.should equal(:original_value)
|
92
|
-
end
|
93
|
-
|
94
|
-
it "should revert to original class method if there is one" do
|
95
|
-
@class.existing_class_method.should equal(:original_value)
|
96
|
-
@class.stub!(:existing_class_method).and_return(:mock_value)
|
97
|
-
@class.existing_class_method.should equal(:mock_value)
|
98
|
-
@class.rspec_verify
|
99
|
-
@class.existing_class_method.should equal(:original_value)
|
100
|
-
end
|
101
|
-
|
102
|
-
it "should yield a specified object" do
|
103
|
-
@instance.stub!(:method_that_yields).and_yield(:yielded_obj)
|
104
|
-
current_value = :value_before
|
105
|
-
@instance.method_that_yields {|val| current_value = val}
|
106
|
-
current_value.should == :yielded_obj
|
107
|
-
@instance.rspec_verify
|
108
|
-
end
|
109
|
-
|
110
|
-
it "should yield multiple times with multiple calls to and_yield" do
|
111
|
-
@instance.stub!(:method_that_yields_multiple_times).and_yield(:yielded_value).
|
112
|
-
and_yield(:another_value)
|
113
|
-
current_value = []
|
114
|
-
@instance.method_that_yields_multiple_times {|val| current_value << val}
|
115
|
-
current_value.should == [:yielded_value, :another_value]
|
116
|
-
@instance.rspec_verify
|
117
|
-
end
|
118
|
-
|
119
|
-
it "should yield a specified object and return another specified object" do
|
120
|
-
yielded_obj = mock("my mock")
|
121
|
-
yielded_obj.should_receive(:foo).with(:bar)
|
122
|
-
@instance.stub!(:method_that_yields_and_returns).and_yield(yielded_obj).and_return(:baz)
|
123
|
-
@instance.method_that_yields_and_returns { |o| o.foo :bar }.should == :baz
|
124
|
-
end
|
125
|
-
|
126
|
-
it "should throw when told to" do
|
127
|
-
@mock.stub!(:something).and_throw(:up)
|
128
|
-
lambda do
|
129
|
-
@mock.something
|
130
|
-
end.should throw_symbol(:up)
|
131
|
-
end
|
132
|
-
|
133
|
-
it "should override a pre-existing stub" do
|
134
|
-
@stub.stub!(:existing_instance_method).and_return(:updated_stub_value)
|
135
|
-
@stub.existing_instance_method.should == :updated_stub_value
|
136
|
-
end
|
137
|
-
|
138
|
-
it "should limit " do
|
139
|
-
@stub.stub!(:foo).with("bar")
|
140
|
-
@stub.should_receive(:foo).with("baz")
|
141
|
-
@stub.foo("bar")
|
142
|
-
@stub.foo("baz")
|
143
|
-
end
|
144
|
-
|
145
|
-
it "calculates return value by executing block passed to #and_return" do
|
146
|
-
@mock.stub!(:something).with("a","b","c").and_return { |a,b,c| c+b+a }
|
147
|
-
@mock.something("a","b","c").should == "cba"
|
148
|
-
@mock.rspec_verify
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
|
-
describe "A method stub with args" do
|
153
|
-
before(:each) do
|
154
|
-
@stub = Object.new
|
155
|
-
@stub.stub!(:foo).with("bar")
|
156
|
-
end
|
157
|
-
|
158
|
-
it "should not complain if not called" do
|
159
|
-
end
|
160
|
-
|
161
|
-
it "should not complain if called with arg" do
|
162
|
-
@stub.foo("bar")
|
163
|
-
end
|
164
|
-
|
165
|
-
it "should complain if called with no arg" do
|
166
|
-
lambda do
|
167
|
-
@stub.foo
|
168
|
-
end.should raise_error(/received :foo with unexpected arguments/)
|
169
|
-
end
|
170
|
-
|
171
|
-
it "should complain if called with other arg" do
|
172
|
-
lambda do
|
173
|
-
@stub.foo("other")
|
174
|
-
end.should raise_error(/received :foo with unexpected arguments/)
|
175
|
-
end
|
176
|
-
|
177
|
-
it "should not complain if also mocked w/ different args" do
|
178
|
-
@stub.should_receive(:foo).with("baz")
|
179
|
-
@stub.foo("bar")
|
180
|
-
@stub.foo("baz")
|
181
|
-
end
|
182
|
-
|
183
|
-
it "should complain if also mocked w/ different args AND called w/ a 3rd set of args" do
|
184
|
-
@stub.should_receive(:foo).with("baz")
|
185
|
-
@stub.foo("bar")
|
186
|
-
@stub.foo("baz")
|
187
|
-
lambda do
|
188
|
-
@stub.foo("other")
|
189
|
-
end.should raise_error
|
190
|
-
end
|
191
|
-
|
192
|
-
it "should support options" do
|
193
|
-
@stub.stub!(:foo, :expected_from => "bar")
|
194
|
-
end
|
195
|
-
|
196
|
-
it "should use 'Stub' in the failure message" do
|
197
|
-
stub = stub('name')
|
198
|
-
expect {stub.foo}.to raise_error(/Stub "name" received/)
|
199
|
-
end
|
200
|
-
end
|
201
|
-
|
202
|
-
end
|
203
|
-
end
|