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,61 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
# Lightweight proxy for an example group. This is the object that is passed
|
4
|
-
# to Spec::Runner::Formatter::BaseFormatter#example_group_started
|
5
|
-
class ExampleGroupProxy
|
6
|
-
|
7
|
-
def initialize(example_group) # :nodoc:
|
8
|
-
@description = example_group.description
|
9
|
-
@nested_descriptions = example_group.nested_descriptions
|
10
|
-
@examples = example_group.example_proxies
|
11
|
-
@location = example_group.location
|
12
|
-
@backtrace = example_group.location # deprecated - see the backtrace method below
|
13
|
-
@options = example_group.options.dup
|
14
|
-
@options.delete(:location)
|
15
|
-
@options.delete(:scope)
|
16
|
-
end
|
17
|
-
|
18
|
-
# Optional hash passed to the example group declaration. Note that RSpec uses
|
19
|
-
# this hash internally and reserves the keys :location and :scope for its own
|
20
|
-
# use (and removes them from this hash)
|
21
|
-
attr_reader :options
|
22
|
-
|
23
|
-
# This is the description passed to the <tt>describe()</tt> method or any
|
24
|
-
# of its aliases
|
25
|
-
attr_reader :description
|
26
|
-
|
27
|
-
# Used by Spec::Runner::Formatter::NestedTextFormatter to access the
|
28
|
-
# description of each example group in a nested group separately.
|
29
|
-
attr_reader :nested_descriptions
|
30
|
-
|
31
|
-
# A collection of ExampleGroupProxy objects, one for each example
|
32
|
-
# declared in this group.
|
33
|
-
attr_reader :examples
|
34
|
-
|
35
|
-
# The file and line number at which the proxied example group
|
36
|
-
# was declared. This is extracted from <tt>caller</tt>, and is therefore
|
37
|
-
# formatted as an individual line in a backtrace.
|
38
|
-
attr_reader :location
|
39
|
-
|
40
|
-
# Deprecated - use location() instead
|
41
|
-
def backtrace
|
42
|
-
Spec::deprecate("ExampleGroupProxy#backtrace","ExampleGroupProxy#location")
|
43
|
-
@backtrace
|
44
|
-
end
|
45
|
-
|
46
|
-
# Deprecated - just use gsub on the description instead.
|
47
|
-
def filtered_description(regexp)
|
48
|
-
Spec::deprecate("ExampleGroupProxy#filtered_description","gsub (or similar) to modify ExampleGroupProxy#description")
|
49
|
-
ExampleGroupMethods.build_description_from(
|
50
|
-
*nested_descriptions.collect do |description|
|
51
|
-
description =~ regexp ? description.gsub($1, "") : description
|
52
|
-
end
|
53
|
-
)
|
54
|
-
end
|
55
|
-
|
56
|
-
def ==(other) # :nodoc:
|
57
|
-
other.description == description
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
class ExampleMatcher
|
4
|
-
def initialize(example_group_description, example_name)
|
5
|
-
@example_group_description = example_group_description
|
6
|
-
@example_name = example_name
|
7
|
-
end
|
8
|
-
|
9
|
-
def matches?(specified_examples)
|
10
|
-
specified_examples.any? do |specified_example|
|
11
|
-
matches_literal_example?(specified_example) || matches_example_not_considering_modules?(specified_example)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
protected
|
16
|
-
def matches_literal_example?(specified_example)
|
17
|
-
specified_example =~ /(^#{example_group_regex} #{example_regexp}$|^#{example_group_regex}$|^#{example_group_with_before_all_regexp}$|^#{example_regexp}$)/
|
18
|
-
end
|
19
|
-
|
20
|
-
def matches_example_not_considering_modules?(specified_example)
|
21
|
-
specified_example =~ /(^#{example_group_regex_not_considering_modules} #{example_regexp}$|^#{example_group_regex_not_considering_modules}$|^#{example_regexp}$)/
|
22
|
-
end
|
23
|
-
|
24
|
-
def example_group_regex
|
25
|
-
Regexp.escape(@example_group_description)
|
26
|
-
end
|
27
|
-
|
28
|
-
def example_group_with_before_all_regexp
|
29
|
-
Regexp.escape("#{@example_group_description} before(:all)")
|
30
|
-
end
|
31
|
-
|
32
|
-
def example_group_regex_not_considering_modules
|
33
|
-
Regexp.escape(@example_group_description.split('::').last)
|
34
|
-
end
|
35
|
-
|
36
|
-
def example_regexp
|
37
|
-
Regexp.escape(@example_name) if @example_name
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
ExampleGroupMethods.matcher_class = ExampleMatcher
|
42
|
-
end
|
43
|
-
end
|
@@ -1,152 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
module ExampleMethods
|
4
|
-
|
5
|
-
extend Spec::Example::ModuleReopeningFix
|
6
|
-
include Spec::Example::Subject::ExampleMethods
|
7
|
-
|
8
|
-
def violated(message="")
|
9
|
-
raise Spec::Expectations::ExpectationNotMetError.new(message)
|
10
|
-
end
|
11
|
-
|
12
|
-
# Declared description for this example:
|
13
|
-
#
|
14
|
-
# describe Account do
|
15
|
-
# it "should start with a balance of 0" do
|
16
|
-
# ...
|
17
|
-
#
|
18
|
-
# description
|
19
|
-
# => "should start with a balance of 0"
|
20
|
-
def description
|
21
|
-
if description = @_proxy.description || ::Spec::Matchers.generated_description
|
22
|
-
description
|
23
|
-
else
|
24
|
-
Spec.warn Spec::Example::NoDescriptionError.message("example", @_proxy.location)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def options # :nodoc:
|
29
|
-
@_proxy.options
|
30
|
-
end
|
31
|
-
|
32
|
-
def execute(run_options, instance_variables) # :nodoc:
|
33
|
-
run_options.reporter.example_started(@_proxy)
|
34
|
-
set_instance_variables_from_hash(instance_variables)
|
35
|
-
|
36
|
-
execution_error = nil
|
37
|
-
Timeout.timeout(run_options.timeout) do
|
38
|
-
begin
|
39
|
-
before_each_example
|
40
|
-
instance_eval(&@_implementation)
|
41
|
-
rescue Interrupt
|
42
|
-
exit 1
|
43
|
-
rescue Exception => e
|
44
|
-
execution_error ||= e
|
45
|
-
end
|
46
|
-
begin
|
47
|
-
after_each_example
|
48
|
-
rescue Interrupt
|
49
|
-
exit 1
|
50
|
-
rescue Exception => e
|
51
|
-
execution_error ||= e
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
run_options.reporter.example_finished(@_proxy.update(description), execution_error)
|
56
|
-
success = execution_error.nil? || ExamplePendingError === execution_error
|
57
|
-
end
|
58
|
-
|
59
|
-
module BlockAliases
|
60
|
-
alias_method :to, :should
|
61
|
-
alias_method :to_not, :should_not
|
62
|
-
end
|
63
|
-
|
64
|
-
# Extends the submitted block with aliases to and to_not
|
65
|
-
# for should and should_not. Allows expectations like this:
|
66
|
-
#
|
67
|
-
# expect { this_block }.to change{this.expression}.from(old_value).to(new_value)
|
68
|
-
# expect { this_block }.to raise_error
|
69
|
-
def expect(&block)
|
70
|
-
block.extend BlockAliases
|
71
|
-
end
|
72
|
-
|
73
|
-
def eval_each_fail_fast(blocks) # :nodoc:
|
74
|
-
blocks.each {|block| instance_eval(&block)}
|
75
|
-
end
|
76
|
-
|
77
|
-
def eval_each_fail_slow(blocks) # :nodoc:
|
78
|
-
first_exception = nil
|
79
|
-
blocks.each do |block|
|
80
|
-
begin
|
81
|
-
instance_eval(&block)
|
82
|
-
rescue Exception => e
|
83
|
-
first_exception ||= e
|
84
|
-
end
|
85
|
-
end
|
86
|
-
raise first_exception if first_exception
|
87
|
-
end
|
88
|
-
|
89
|
-
def instance_variable_hash # :nodoc:
|
90
|
-
instance_variables.inject({}) do |variable_hash, variable_name|
|
91
|
-
variable_hash[variable_name] = instance_variable_get(variable_name)
|
92
|
-
variable_hash
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
|
-
def set_instance_variables_from_hash(ivars) # :nodoc:
|
97
|
-
ivars.each do |variable_name, value|
|
98
|
-
# Ruby 1.9 requires variable.to_s on the next line
|
99
|
-
unless ['@_proxy', '@_implementation', '@method_name'].include?(variable_name.to_s)
|
100
|
-
instance_variable_set variable_name, value
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
# Run all the before(:each) blocks for this example
|
106
|
-
def run_before_each
|
107
|
-
example_group_hierarchy.run_before_each(self)
|
108
|
-
end
|
109
|
-
|
110
|
-
# Run all the after(:each) blocks for this example
|
111
|
-
def run_after_each
|
112
|
-
example_group_hierarchy.run_after_each(self)
|
113
|
-
end
|
114
|
-
|
115
|
-
def initialize(example_proxy, &implementation)
|
116
|
-
@_proxy = example_proxy
|
117
|
-
@_implementation = implementation
|
118
|
-
@_backtrace = caller
|
119
|
-
end
|
120
|
-
|
121
|
-
private
|
122
|
-
|
123
|
-
include Matchers
|
124
|
-
include Pending
|
125
|
-
|
126
|
-
def before_each_example
|
127
|
-
setup_mocks_for_rspec
|
128
|
-
run_before_each
|
129
|
-
end
|
130
|
-
|
131
|
-
def after_each_example
|
132
|
-
run_after_each
|
133
|
-
verify_mocks_for_rspec
|
134
|
-
ensure
|
135
|
-
teardown_mocks_for_rspec
|
136
|
-
end
|
137
|
-
|
138
|
-
def described_class
|
139
|
-
self.class.described_class
|
140
|
-
end
|
141
|
-
|
142
|
-
def description_args
|
143
|
-
self.class.description_args
|
144
|
-
end
|
145
|
-
|
146
|
-
def example_group_hierarchy
|
147
|
-
self.class.example_group_hierarchy
|
148
|
-
end
|
149
|
-
|
150
|
-
end
|
151
|
-
end
|
152
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
# Lightweight proxy for an example. This is the object that is passed to
|
4
|
-
# example-related methods in Spec::Runner::Formatter::BaseFormatter
|
5
|
-
class ExampleProxy
|
6
|
-
|
7
|
-
def initialize(description=nil, options={}, location=nil) # :nodoc:
|
8
|
-
@description, @options, @location = description, options, location
|
9
|
-
end
|
10
|
-
|
11
|
-
# Optional hash passed to the example declaration
|
12
|
-
attr_reader :options
|
13
|
-
|
14
|
-
# This is the docstring passed to the <tt>it()</tt> method or any
|
15
|
-
# of its aliases
|
16
|
-
attr_reader :description
|
17
|
-
|
18
|
-
# The file and line number at which the represented example
|
19
|
-
# was declared. This is extracted from <tt>caller</tt>, and is therefore
|
20
|
-
# formatted as an individual line in a backtrace.
|
21
|
-
attr_reader :location
|
22
|
-
|
23
|
-
# Deprecated - use location()
|
24
|
-
def backtrace
|
25
|
-
Spec.deprecate("ExampleProxy#backtrace","ExampleProxy#location")
|
26
|
-
location
|
27
|
-
end
|
28
|
-
|
29
|
-
# Convenience method for example group - updates the value of
|
30
|
-
# <tt>description</tt> and returns self.
|
31
|
-
def update(description) # :nodoc:
|
32
|
-
@description = description
|
33
|
-
self
|
34
|
-
end
|
35
|
-
|
36
|
-
def ==(other) # :nodoc:
|
37
|
-
(other.description == description) & (other.location == location)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
# When you reopen a module that is included in another module that is included in a class,
|
4
|
-
# the new material you define does not make it to the class. This fixes that.
|
5
|
-
#
|
6
|
-
# == Example
|
7
|
-
#
|
8
|
-
# module M1; end
|
9
|
-
#
|
10
|
-
# module M2
|
11
|
-
# def foo; "FOO"; end
|
12
|
-
# end
|
13
|
-
#
|
14
|
-
# class C
|
15
|
-
# include M1
|
16
|
-
# end
|
17
|
-
#
|
18
|
-
# module M1
|
19
|
-
# include M2
|
20
|
-
# end
|
21
|
-
#
|
22
|
-
# c = C.new
|
23
|
-
# c.foo
|
24
|
-
# NoMethodError: undefined method `foo' for #<C:0x5e89a4>
|
25
|
-
# from (irb):12
|
26
|
-
module ModuleReopeningFix
|
27
|
-
def child_modules
|
28
|
-
@child_modules ||= []
|
29
|
-
end
|
30
|
-
|
31
|
-
def included(mod)
|
32
|
-
child_modules << mod
|
33
|
-
end
|
34
|
-
|
35
|
-
def include(mod)
|
36
|
-
super
|
37
|
-
child_modules.each do |child_module|
|
38
|
-
child_module.__send__(:include, mod)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
data/lib/spec/example/pending.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
module Pending
|
4
|
-
def pending(message = "TODO")
|
5
|
-
if block_given?
|
6
|
-
begin
|
7
|
-
yield
|
8
|
-
rescue Exception
|
9
|
-
raise Spec::Example::ExamplePendingError.new(message)
|
10
|
-
end
|
11
|
-
raise Spec::Example::PendingExampleFixedError.new("Expected pending '#{message}' to fail. No Error was raised.")
|
12
|
-
else
|
13
|
-
raise Spec::Example::ExamplePendingError.new(message)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
module PredicateMatchers
|
4
|
-
# :call-seq:
|
5
|
-
# predicate_matchers[matcher_name] = method_on_object
|
6
|
-
# predicate_matchers[matcher_name] = [method1_on_object, method2_on_object]
|
7
|
-
#
|
8
|
-
# Dynamically generates a custom matcher that will match
|
9
|
-
# a predicate on your class. RSpec provides a couple of these
|
10
|
-
# out of the box:
|
11
|
-
#
|
12
|
-
# exist (for state expectations)
|
13
|
-
# File.should exist("path/to/file")
|
14
|
-
#
|
15
|
-
# an_instance_of (for mock argument matchers)
|
16
|
-
# mock.should_receive(:message).with(an_instance_of(String))
|
17
|
-
#
|
18
|
-
# == Examples
|
19
|
-
#
|
20
|
-
# class Fish
|
21
|
-
# def can_swim?
|
22
|
-
# true
|
23
|
-
# end
|
24
|
-
# end
|
25
|
-
#
|
26
|
-
# describe Fish do
|
27
|
-
# predicate_matchers[:swim] = :can_swim?
|
28
|
-
# it "should swim" do
|
29
|
-
# Fish.new.should swim
|
30
|
-
# end
|
31
|
-
# end
|
32
|
-
def predicate_matchers
|
33
|
-
@predicate_matchers ||= Spec::HashWithDeprecationNotice.new("predicate_matchers", "the new Matcher DSL")
|
34
|
-
end
|
35
|
-
|
36
|
-
def define_methods_from_predicate_matchers # :nodoc:
|
37
|
-
predicate_matchers.each_pair do |matcher_method, method_on_object|
|
38
|
-
define_method matcher_method do |*args|
|
39
|
-
eval("be_#{method_on_object.to_s.gsub('?','')}(*args)")
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
class SharedExampleGroup < Module
|
4
|
-
module ClassMethods
|
5
|
-
def register(*args, &block)
|
6
|
-
new_example_group = new(*args, &block)
|
7
|
-
shared_example_groups << new_example_group unless already_registered?(new_example_group)
|
8
|
-
new_example_group
|
9
|
-
end
|
10
|
-
|
11
|
-
def find(example_group_description)
|
12
|
-
shared_example_groups.find {|b| b.description == example_group_description}
|
13
|
-
end
|
14
|
-
|
15
|
-
def clear
|
16
|
-
shared_example_groups.clear
|
17
|
-
end
|
18
|
-
|
19
|
-
def include?(group)
|
20
|
-
shared_example_groups.include?(group)
|
21
|
-
end
|
22
|
-
|
23
|
-
def count
|
24
|
-
shared_example_groups.length
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def shared_example_groups
|
30
|
-
@shared_example_groups ||= []
|
31
|
-
end
|
32
|
-
|
33
|
-
def already_registered?(new_example_group)
|
34
|
-
existing_example_group = find(new_example_group.description)
|
35
|
-
return false unless existing_example_group
|
36
|
-
return true if new_example_group.equal?(existing_example_group)
|
37
|
-
return true if expanded_path(new_example_group) == expanded_path(existing_example_group)
|
38
|
-
raise ArgumentError.new("Shared Example '#{existing_example_group.description}' already exists")
|
39
|
-
end
|
40
|
-
|
41
|
-
def expanded_path(example_group)
|
42
|
-
File.expand_path(example_group.location)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
extend ClassMethods
|
47
|
-
include ExampleGroupMethods
|
48
|
-
|
49
|
-
def initialize(*args, &example_group_block)
|
50
|
-
set_description(*args)
|
51
|
-
@example_group_block = example_group_block
|
52
|
-
end
|
53
|
-
|
54
|
-
def included(mod) # :nodoc:
|
55
|
-
mod.module_eval(&@example_group_block)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|