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,27 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
module ArgsAndOptions
|
4
|
-
def args_and_options(*args) # :nodoc:
|
5
|
-
options = Hash === args.last ? args.pop : {}
|
6
|
-
return args, options
|
7
|
-
end
|
8
|
-
|
9
|
-
def add_options(args, options={}) # :nodoc:
|
10
|
-
args << {} unless Hash === args.last
|
11
|
-
args.extend WithOptions
|
12
|
-
args.options.merge!(options)
|
13
|
-
args.options
|
14
|
-
end
|
15
|
-
|
16
|
-
def set_location(options, location) # :nodoc:
|
17
|
-
options[:location] ||= location
|
18
|
-
end
|
19
|
-
|
20
|
-
module WithOptions # :nodoc:
|
21
|
-
def options
|
22
|
-
last
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,93 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
module BeforeAndAfterHooks
|
4
|
-
class << self
|
5
|
-
def before_suite_parts # :nodoc:
|
6
|
-
@before_suite_parts ||= []
|
7
|
-
end
|
8
|
-
|
9
|
-
def after_suite_parts # :nodoc:
|
10
|
-
@after_suite_parts ||= []
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
# Registers a block to be executed before examples. <tt>scope</tt> can be
|
15
|
-
# <tt>:each</tt> (default), <tt>:all</tt>, or <tt>:suite</tt>. When
|
16
|
-
# <tt>:each</tt>, the block is executed before each example. When
|
17
|
-
# <tt>:all</tt>, the block is executed only once before any examples are
|
18
|
-
# run.
|
19
|
-
def append_before(scope = :each, &block)
|
20
|
-
before_parts(scope) << block
|
21
|
-
end
|
22
|
-
alias_method :before, :append_before
|
23
|
-
|
24
|
-
# Registers a block to be executed before each example.
|
25
|
-
# This method prepends +block+ to existing before blocks.
|
26
|
-
#
|
27
|
-
# See <tt>append_before</tt> for scoping semantics.
|
28
|
-
def prepend_before(scope = :each, &block)
|
29
|
-
before_parts(scope).unshift(block)
|
30
|
-
end
|
31
|
-
|
32
|
-
# Registers a block to be executed after each example.
|
33
|
-
# This method prepends +block+ to existing after blocks.
|
34
|
-
#
|
35
|
-
# See <tt>append_before</tt> for scoping semantics.
|
36
|
-
def prepend_after(scope = :each, &block)
|
37
|
-
after_parts(scope).unshift(block)
|
38
|
-
end
|
39
|
-
alias_method :after, :prepend_after
|
40
|
-
|
41
|
-
# Registers a block to be executed after each example.
|
42
|
-
# This method appends +block+ to existing after blocks.
|
43
|
-
#
|
44
|
-
# See <tt>append_before</tt> for scoping semantics.
|
45
|
-
def append_after(scope = :each, &block)
|
46
|
-
after_parts(scope) << block
|
47
|
-
end
|
48
|
-
|
49
|
-
def before_each_parts # :nodoc:
|
50
|
-
@before_each_parts ||= []
|
51
|
-
end
|
52
|
-
|
53
|
-
def after_each_parts # :nodoc:
|
54
|
-
@after_each_parts ||= []
|
55
|
-
end
|
56
|
-
|
57
|
-
def before_all_parts # :nodoc:
|
58
|
-
@before_all_parts ||= []
|
59
|
-
end
|
60
|
-
|
61
|
-
def after_all_parts # :nodoc:
|
62
|
-
@after_all_parts ||= []
|
63
|
-
end
|
64
|
-
|
65
|
-
def before_suite_parts # :nodoc:
|
66
|
-
BeforeAndAfterHooks.before_suite_parts
|
67
|
-
end
|
68
|
-
|
69
|
-
def after_suite_parts # :nodoc:
|
70
|
-
BeforeAndAfterHooks.after_suite_parts
|
71
|
-
end
|
72
|
-
|
73
|
-
private
|
74
|
-
|
75
|
-
def before_parts(scope)
|
76
|
-
case scope
|
77
|
-
when :each; before_each_parts
|
78
|
-
when :all; before_all_parts
|
79
|
-
when :suite; before_suite_parts
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
def after_parts(scope)
|
84
|
-
case scope
|
85
|
-
when :each; after_each_parts
|
86
|
-
when :all; after_all_parts
|
87
|
-
when :suite; after_suite_parts
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
data/lib/spec/example/errors.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
class ExamplePendingError < StandardError; end
|
4
|
-
|
5
|
-
class NotYetImplementedError < ExamplePendingError
|
6
|
-
MESSAGE = "Not Yet Implemented"
|
7
|
-
def initialize
|
8
|
-
super(MESSAGE)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
class PendingExampleFixedError < StandardError; end
|
13
|
-
|
14
|
-
class NoDescriptionError < ArgumentError
|
15
|
-
class << self
|
16
|
-
def message(kind, location)
|
17
|
-
"No description supplied for #{kind} declared on #{location}"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
def initialize(kind, location)
|
21
|
-
super(self.class.message(kind, location))
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,82 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
|
4
|
-
class ExampleGroupFactory
|
5
|
-
module ClassMethods
|
6
|
-
include Spec::Example::ArgsAndOptions
|
7
|
-
|
8
|
-
def reset
|
9
|
-
@example_group_types = nil
|
10
|
-
default(ExampleGroup)
|
11
|
-
end
|
12
|
-
|
13
|
-
def example_group_creation_listeners
|
14
|
-
@example_group_creation_listeners ||= []
|
15
|
-
end
|
16
|
-
|
17
|
-
def register_example_group(klass)
|
18
|
-
example_group_creation_listeners.each do |listener|
|
19
|
-
listener.register_example_group(klass)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def create_shared_example_group(*args, &example_group_block) # :nodoc:
|
24
|
-
::Spec::Example::SharedExampleGroup.register(*args, &example_group_block)
|
25
|
-
end
|
26
|
-
|
27
|
-
def create_example_group(*args, &block)
|
28
|
-
raise ArgumentError if args.empty? || block.nil?
|
29
|
-
add_options(args)
|
30
|
-
superclass = determine_superclass(args.last)
|
31
|
-
superclass.describe(*args, &block)
|
32
|
-
end
|
33
|
-
|
34
|
-
# Registers an example group class +klass+ with the symbol +type+. For
|
35
|
-
# example:
|
36
|
-
#
|
37
|
-
# Spec::Example::ExampleGroupFactory.register(:farm, FarmExampleGroup)
|
38
|
-
#
|
39
|
-
# With that you can append a hash with :type => :farm to the describe
|
40
|
-
# method and it will load an instance of FarmExampleGroup.
|
41
|
-
#
|
42
|
-
# describe Pig, :type => :farm do
|
43
|
-
# ...
|
44
|
-
#
|
45
|
-
# If you don't use the hash explicitly, <tt>describe</tt> will
|
46
|
-
# implicitly use an instance of FarmExampleGroup for any file loaded
|
47
|
-
# from the <tt>./spec/farm</tt> directory.
|
48
|
-
def register(key, example_group_class)
|
49
|
-
@example_group_types[key.to_sym] = example_group_class
|
50
|
-
end
|
51
|
-
|
52
|
-
# Sets the default ExampleGroup class
|
53
|
-
def default(example_group_class)
|
54
|
-
Spec.__send__ :remove_const, :ExampleGroup if Spec.const_defined?(:ExampleGroup)
|
55
|
-
Spec.const_set(:ExampleGroup, example_group_class)
|
56
|
-
old = @example_group_types
|
57
|
-
@example_group_types = Hash.new(example_group_class)
|
58
|
-
@example_group_types.merge!(old) if old
|
59
|
-
end
|
60
|
-
|
61
|
-
def [](key)
|
62
|
-
@example_group_types[key]
|
63
|
-
end
|
64
|
-
|
65
|
-
protected
|
66
|
-
|
67
|
-
def determine_superclass(opts)
|
68
|
-
if type = opts[:type]
|
69
|
-
self[type]
|
70
|
-
elsif opts[:location] =~ /spec(\\|\/)(#{@example_group_types.keys.sort_by{|k| k.to_s.length}.reverse.join('|')})/
|
71
|
-
self[$2 == '' ? nil : $2.to_sym]
|
72
|
-
else
|
73
|
-
self[nil]
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
end
|
78
|
-
extend ClassMethods
|
79
|
-
self.reset
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
@@ -1,53 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
class ExampleGroupHierarchy < Array
|
4
|
-
def initialize(example_group_class)
|
5
|
-
push example_group_class
|
6
|
-
if example_group_class.respond_to?(:superclass) && example_group_class.superclass.respond_to?(:example_group_hierarchy)
|
7
|
-
unshift example_group_class.superclass.example_group_hierarchy
|
8
|
-
flatten!
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def run_before_all(example)
|
13
|
-
example.eval_each_fail_fast(before_all_parts)
|
14
|
-
end
|
15
|
-
|
16
|
-
def run_before_each(example)
|
17
|
-
example.eval_each_fail_fast(before_each_parts)
|
18
|
-
end
|
19
|
-
|
20
|
-
def run_after_each(example)
|
21
|
-
example.eval_each_fail_slow(after_each_parts)
|
22
|
-
end
|
23
|
-
|
24
|
-
def run_after_all(example)
|
25
|
-
example.eval_each_fail_slow(after_all_parts)
|
26
|
-
end
|
27
|
-
|
28
|
-
def before_all_parts
|
29
|
-
@before_all_parts ||= collect {|klass| klass.before_all_parts}.flatten
|
30
|
-
end
|
31
|
-
|
32
|
-
def before_each_parts
|
33
|
-
@before_each_parts ||= collect {|klass| klass.before_each_parts}.flatten
|
34
|
-
end
|
35
|
-
|
36
|
-
def after_each_parts
|
37
|
-
@after_each_parts ||= reverse.collect {|klass| klass.after_each_parts}.flatten
|
38
|
-
end
|
39
|
-
|
40
|
-
def after_all_parts
|
41
|
-
@after_all_parts ||= reverse.collect {|klass| klass.after_all_parts}.flatten
|
42
|
-
end
|
43
|
-
|
44
|
-
def nested_descriptions
|
45
|
-
@nested_descriptions ||= collect {|eg| nested_description_from(eg) == "" ? nil : nested_description_from(eg) }.compact
|
46
|
-
end
|
47
|
-
|
48
|
-
def nested_description_from(example_group)
|
49
|
-
example_group.description_args.join
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
@@ -1,287 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
|
4
|
-
module ExampleGroupMethods
|
5
|
-
class << self
|
6
|
-
attr_accessor :matcher_class
|
7
|
-
|
8
|
-
def build_description_from(*args)
|
9
|
-
text = args.inject("") do |description, arg|
|
10
|
-
description << " " unless (description == "" || arg.to_s =~ /^(\s|\.|#)/)
|
11
|
-
description << arg.to_s
|
12
|
-
end
|
13
|
-
text == "" ? nil : text
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
include Spec::Example::BeforeAndAfterHooks
|
18
|
-
include Spec::Example::Subject::ExampleGroupMethods
|
19
|
-
include Spec::Example::PredicateMatchers
|
20
|
-
include Spec::Example::ArgsAndOptions
|
21
|
-
|
22
|
-
attr_reader :location
|
23
|
-
|
24
|
-
def options # :nodoc:
|
25
|
-
@options ||= {}
|
26
|
-
end
|
27
|
-
|
28
|
-
def inherited(klass) # :nodoc:
|
29
|
-
super
|
30
|
-
ExampleGroupFactory.register_example_group(klass)
|
31
|
-
end
|
32
|
-
|
33
|
-
# Makes the describe/it syntax available from a class. For example:
|
34
|
-
#
|
35
|
-
# class StackSpec < Spec::ExampleGroup
|
36
|
-
# describe Stack, "with no elements"
|
37
|
-
#
|
38
|
-
# before
|
39
|
-
# @stack = Stack.new
|
40
|
-
# end
|
41
|
-
#
|
42
|
-
# it "should raise on pop" do
|
43
|
-
# lambda{ @stack.pop }.should raise_error
|
44
|
-
# end
|
45
|
-
# end
|
46
|
-
#
|
47
|
-
def describe(*args, &example_group_block)
|
48
|
-
raise Spec::Example::NoDescriptionError.new("example group", caller(0)[1]) if args.empty?
|
49
|
-
if example_group_block
|
50
|
-
options = add_options(args)
|
51
|
-
set_location(options, caller(0)[1])
|
52
|
-
if options[:shared]
|
53
|
-
ExampleGroupFactory.create_shared_example_group(*args, &example_group_block)
|
54
|
-
else
|
55
|
-
subclass(*args, &example_group_block)
|
56
|
-
end
|
57
|
-
else
|
58
|
-
set_description(*args)
|
59
|
-
end
|
60
|
-
end
|
61
|
-
alias :context :describe
|
62
|
-
|
63
|
-
# Use this to pull in examples from shared example groups.
|
64
|
-
def it_should_behave_like(*shared_example_groups)
|
65
|
-
shared_example_groups.each do |group|
|
66
|
-
include_shared_example_group(group)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
# Creates an instance of the current example group class and adds it to
|
71
|
-
# a collection of examples of the current example group.
|
72
|
-
def example(description=nil, options={}, backtrace=nil, &implementation)
|
73
|
-
example_proxy = ExampleProxy.new(description, options, backtrace || caller(0)[1])
|
74
|
-
example_proxies << example_proxy
|
75
|
-
example_implementations[example_proxy] = implementation || pending_implementation
|
76
|
-
example_proxy
|
77
|
-
end
|
78
|
-
|
79
|
-
def pending_implementation
|
80
|
-
lambda {|*args| raise(Spec::Example::NotYetImplementedError) }
|
81
|
-
end
|
82
|
-
|
83
|
-
alias_method :it, :example
|
84
|
-
alias_method :specify, :example
|
85
|
-
|
86
|
-
# Use this to temporarily disable an example.
|
87
|
-
def xexample(description=nil, opts={}, &block)
|
88
|
-
Kernel.warn("Example disabled: #{description}")
|
89
|
-
end
|
90
|
-
|
91
|
-
alias_method :xit, :xexample
|
92
|
-
alias_method :xspecify, :xexample
|
93
|
-
|
94
|
-
def run(run_options)
|
95
|
-
examples = examples_to_run(run_options)
|
96
|
-
notify(run_options.reporter) unless examples.empty?
|
97
|
-
return true if examples.empty?
|
98
|
-
return dry_run(examples, run_options) if run_options.dry_run?
|
99
|
-
|
100
|
-
define_methods_from_predicate_matchers
|
101
|
-
|
102
|
-
success, before_all_instance_variables = run_before_all(run_options)
|
103
|
-
success, after_all_instance_variables = run_examples(success, before_all_instance_variables, examples, run_options)
|
104
|
-
success = run_after_all(success, after_all_instance_variables, run_options)
|
105
|
-
end
|
106
|
-
|
107
|
-
def set_description(*args)
|
108
|
-
@description_args, @options = args_and_options(*args)
|
109
|
-
@backtrace = caller(1)
|
110
|
-
@location = File.expand_path(options[:location]) if options[:location]
|
111
|
-
self
|
112
|
-
end
|
113
|
-
|
114
|
-
def notify(reporter) # :nodoc:
|
115
|
-
reporter.example_group_started(ExampleGroupProxy.new(self))
|
116
|
-
end
|
117
|
-
|
118
|
-
def description
|
119
|
-
@description ||= ExampleGroupMethods.build_description_from(*description_parts) || to_s
|
120
|
-
end
|
121
|
-
|
122
|
-
def described_type
|
123
|
-
@described_type ||= description_parts.reverse.find {|part| part.is_a?(Module)}
|
124
|
-
end
|
125
|
-
|
126
|
-
def described_class
|
127
|
-
@described_class ||= Class === described_type ? described_type : nil
|
128
|
-
end
|
129
|
-
|
130
|
-
def description_args
|
131
|
-
@description_args ||= []
|
132
|
-
end
|
133
|
-
|
134
|
-
def description_parts #:nodoc:
|
135
|
-
@description_parts ||= example_group_hierarchy.inject([]) do |parts, example_group_class|
|
136
|
-
[parts << example_group_class.description_args].flatten
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
def example_proxies # :nodoc:
|
141
|
-
@example_proxies ||= []
|
142
|
-
end
|
143
|
-
|
144
|
-
def example_implementations # :nodoc:
|
145
|
-
@example_implementations ||= {}
|
146
|
-
end
|
147
|
-
|
148
|
-
def examples(run_options=nil) #:nodoc:
|
149
|
-
(run_options && run_options.reverse) ? example_proxies.reverse : example_proxies
|
150
|
-
end
|
151
|
-
|
152
|
-
def number_of_examples #:nodoc:
|
153
|
-
example_proxies.length
|
154
|
-
end
|
155
|
-
|
156
|
-
def example_group_hierarchy
|
157
|
-
@example_group_hierarchy ||= ExampleGroupHierarchy.new(self)
|
158
|
-
end
|
159
|
-
|
160
|
-
def nested_descriptions
|
161
|
-
example_group_hierarchy.nested_descriptions
|
162
|
-
end
|
163
|
-
|
164
|
-
def include_constants_in(mod)
|
165
|
-
include mod if (Spec::Ruby.version.to_f >= 1.9) & (Module === mod) & !(Class === mod)
|
166
|
-
end
|
167
|
-
|
168
|
-
def let(name, &block)
|
169
|
-
define_method name do
|
170
|
-
@assignments ||= {}
|
171
|
-
@assignments[name] ||= instance_eval(&block)
|
172
|
-
end
|
173
|
-
end
|
174
|
-
|
175
|
-
def let!(name, &block)
|
176
|
-
let(name, &block)
|
177
|
-
before { __send__(name) }
|
178
|
-
end
|
179
|
-
|
180
|
-
private
|
181
|
-
|
182
|
-
def subclass(*args, &example_group_block)
|
183
|
-
@class_count ||= 0
|
184
|
-
@class_count += 1
|
185
|
-
klass = const_set("Subclass_#{@class_count}", Class.new(self))
|
186
|
-
klass.set_description(*args)
|
187
|
-
klass.include_constants_in(args.last[:scope])
|
188
|
-
klass.module_eval(&example_group_block)
|
189
|
-
klass
|
190
|
-
end
|
191
|
-
|
192
|
-
def dry_run(examples, run_options)
|
193
|
-
examples.each do |example|
|
194
|
-
run_options.reporter.example_started(example)
|
195
|
-
run_options.reporter.example_finished(example)
|
196
|
-
end
|
197
|
-
end
|
198
|
-
|
199
|
-
def run_before_all(run_options)
|
200
|
-
return [true,{}] if example_group_hierarchy.before_all_parts.empty?
|
201
|
-
example_proxy = ExampleProxy.new("before(:all)")
|
202
|
-
before_all = new(example_proxy)
|
203
|
-
begin
|
204
|
-
example_group_hierarchy.run_before_all(before_all)
|
205
|
-
return [true, before_all.instance_variable_hash]
|
206
|
-
rescue Exception => e
|
207
|
-
run_options.reporter.example_failed(example_proxy, e)
|
208
|
-
return [false, before_all.instance_variable_hash]
|
209
|
-
end
|
210
|
-
end
|
211
|
-
|
212
|
-
def run_examples(success, instance_variables, examples, run_options)
|
213
|
-
return [success, instance_variables] unless success
|
214
|
-
|
215
|
-
after_all_instance_variables = instance_variables
|
216
|
-
|
217
|
-
examples.each do |example|
|
218
|
-
example_group_instance = new(example, &example_implementations[example])
|
219
|
-
success &= example_group_instance.execute(run_options, instance_variables)
|
220
|
-
after_all_instance_variables = example_group_instance.instance_variable_hash
|
221
|
-
end
|
222
|
-
|
223
|
-
return [success, after_all_instance_variables]
|
224
|
-
end
|
225
|
-
|
226
|
-
def run_after_all(success, instance_variables, run_options)
|
227
|
-
return success if example_group_hierarchy.after_all_parts.empty?
|
228
|
-
example_proxy = ExampleProxy.new("after(:all)")
|
229
|
-
after_all = new(example_proxy)
|
230
|
-
after_all.set_instance_variables_from_hash(instance_variables)
|
231
|
-
example_group_hierarchy.run_after_all(after_all)
|
232
|
-
success
|
233
|
-
rescue Exception => e
|
234
|
-
run_options.reporter.example_failed(example_proxy, e)
|
235
|
-
false
|
236
|
-
end
|
237
|
-
|
238
|
-
def examples_to_run(run_options)
|
239
|
-
return example_proxies unless examples_were_specified?(run_options)
|
240
|
-
if run_options.line_number_requested?
|
241
|
-
if location =~ /:#{run_options.example_line}:?/
|
242
|
-
example_proxies
|
243
|
-
else
|
244
|
-
example_proxies.select {|proxy| proxy.location =~ /:#{run_options.example_line}:?/}
|
245
|
-
end
|
246
|
-
else
|
247
|
-
example_proxies.reject do |proxy|
|
248
|
-
matcher = ExampleGroupMethods.matcher_class.
|
249
|
-
new(description.to_s, proxy.description)
|
250
|
-
!matcher.matches?(run_options.examples)
|
251
|
-
end
|
252
|
-
end
|
253
|
-
end
|
254
|
-
|
255
|
-
def examples_were_specified?(run_options)
|
256
|
-
!run_options.examples.empty?
|
257
|
-
end
|
258
|
-
|
259
|
-
def method_added(name) # :nodoc:
|
260
|
-
example(name.to_s, {}, caller(0)[1]) {__send__ name.to_s} if example_method?(name.to_s)
|
261
|
-
end
|
262
|
-
|
263
|
-
def example_method?(method_name)
|
264
|
-
should_method?(method_name)
|
265
|
-
end
|
266
|
-
|
267
|
-
def should_method?(method_name)
|
268
|
-
!(method_name =~ /^should(_not)?$/) &&
|
269
|
-
method_name =~ /^should/ &&
|
270
|
-
instance_method(method_name).arity < 1
|
271
|
-
end
|
272
|
-
|
273
|
-
def include_shared_example_group(shared_example_group)
|
274
|
-
case shared_example_group
|
275
|
-
when SharedExampleGroup
|
276
|
-
include shared_example_group
|
277
|
-
else
|
278
|
-
unless example_group = SharedExampleGroup.find(shared_example_group)
|
279
|
-
raise RuntimeError.new("Shared Example Group '#{shared_example_group}' can not be found")
|
280
|
-
end
|
281
|
-
include(example_group)
|
282
|
-
end
|
283
|
-
end
|
284
|
-
end
|
285
|
-
|
286
|
-
end
|
287
|
-
end
|