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,107 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Example
|
5
|
-
describe ExampleGroupProxy do
|
6
|
-
before(:each) do
|
7
|
-
@group = stub("example group",:nested_descriptions => []).as_null_object
|
8
|
-
end
|
9
|
-
|
10
|
-
attr_reader :group
|
11
|
-
def proxy
|
12
|
-
@proxy ||= ExampleGroupProxy.new(@group)
|
13
|
-
end
|
14
|
-
|
15
|
-
describe "#description" do
|
16
|
-
it "provides the example group's description" do
|
17
|
-
group.stub!(:description => "the description")
|
18
|
-
proxy.description.should == "the description"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
describe "#nested_descriptions" do
|
23
|
-
it "provides the example group's nested_descriptions" do
|
24
|
-
group.stub!(:nested_descriptions => ["the description"])
|
25
|
-
proxy.nested_descriptions.should == ["the description"]
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe "#filtered_description (DEPRECATED)" do
|
30
|
-
before(:each) do
|
31
|
-
Spec.stub!(:deprecate)
|
32
|
-
end
|
33
|
-
|
34
|
-
it "is deprecated" do
|
35
|
-
Spec.should_receive(:deprecate)
|
36
|
-
proxy.filtered_description(/(ignore)/)
|
37
|
-
end
|
38
|
-
|
39
|
-
it "builds the description from the group's nested_descriptions" do
|
40
|
-
group.stub!(:nested_descriptions => ["ignore","the","description"])
|
41
|
-
proxy.filtered_description(/(ignore)/).should == "the description"
|
42
|
-
end
|
43
|
-
|
44
|
-
it "filters out description parts that match the supplied regexp" do
|
45
|
-
group.stub!(:nested_descriptions => ["ignore the","description"])
|
46
|
-
proxy.filtered_description(/(ignore )/).should == "the description"
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
describe "#examples" do
|
51
|
-
it "provides a collection of example group proxies" do
|
52
|
-
group.stub!(:example_proxies => ["array","of","proxies"])
|
53
|
-
proxy.examples.should == ["array","of","proxies"]
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
describe "#backtrace (deprecated - use #location)" do
|
58
|
-
before(:each) do
|
59
|
-
Spec.stub!(:deprecate)
|
60
|
-
end
|
61
|
-
|
62
|
-
it "provides the location of the declaration of this group" do
|
63
|
-
group.stub!(:location => "path/to/location:37")
|
64
|
-
proxy.backtrace.should == "path/to/location:37"
|
65
|
-
end
|
66
|
-
|
67
|
-
it "warns deprecation" do
|
68
|
-
Spec.should_receive(:deprecate)
|
69
|
-
group.stub!(:location => "path/to/location:37")
|
70
|
-
proxy.backtrace
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
describe "#location" do
|
75
|
-
it "provides the location of the declaration of this group" do
|
76
|
-
group.stub!(:location => "path/to/location:37")
|
77
|
-
proxy.location.should == "path/to/location:37"
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
describe "#options" do
|
82
|
-
it "provides the options passed to the example group declaration" do
|
83
|
-
group.stub!(:options => {:a => 'b'})
|
84
|
-
proxy.options.should == {:a => 'b'}
|
85
|
-
end
|
86
|
-
|
87
|
-
it "excludes :location" do
|
88
|
-
group.stub!(:options => {:location => 'b'})
|
89
|
-
proxy.options.should == {}
|
90
|
-
end
|
91
|
-
|
92
|
-
it "excludes :scope" do
|
93
|
-
group.stub!(:options => {:scope => 'b'})
|
94
|
-
proxy.options.should == {}
|
95
|
-
end
|
96
|
-
|
97
|
-
it "preserves the original hash" do
|
98
|
-
hash = {:a => 'b', :location => 'here', :scope => 'tiny'}
|
99
|
-
group.stub!(:options => hash)
|
100
|
-
proxy.options.should == {:a => 'b'}
|
101
|
-
hash.should == {:a => 'b', :location => 'here', :scope => 'tiny'}
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
@@ -1,632 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Example
|
5
|
-
class ExampleModuleScopingSpec < ExampleGroup
|
6
|
-
describe ExampleGroup, "via a class definition"
|
7
|
-
|
8
|
-
module Foo
|
9
|
-
module Bar
|
10
|
-
def self.loaded?; true; end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
include Foo
|
14
|
-
|
15
|
-
it "should understand module scoping" do
|
16
|
-
Bar.should be_loaded
|
17
|
-
end
|
18
|
-
|
19
|
-
@@class_variable = "a class variable"
|
20
|
-
|
21
|
-
it "can access class variables in examples in Ruby 1.8" do
|
22
|
-
@@class_variable.should == "a class variable"
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
class ExampleClassVariablePollutionSpec < ExampleGroup
|
28
|
-
describe ExampleGroup, "via a class definition without a class variable"
|
29
|
-
|
30
|
-
it "should not retain class variables from other Example classes" do
|
31
|
-
proc do
|
32
|
-
@@class_variable
|
33
|
-
end.should raise_error
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
describe ExampleGroup, "#pending" do
|
38
|
-
it "should raise a Pending error when its block fails" do
|
39
|
-
block_ran = false
|
40
|
-
lambda {
|
41
|
-
pending("something") do
|
42
|
-
block_ran = true
|
43
|
-
raise "something wrong with my example"
|
44
|
-
end
|
45
|
-
}.should raise_error(Spec::Example::ExamplePendingError, "something")
|
46
|
-
block_ran.should == true
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should raise Spec::Example::PendingExampleFixedError when its block does not fail" do
|
50
|
-
block_ran = false
|
51
|
-
lambda {
|
52
|
-
pending("something") do
|
53
|
-
block_ran = true
|
54
|
-
end
|
55
|
-
}.should raise_error(Spec::Example::PendingExampleFixedError, "Expected pending 'something' to fail. No Error was raised.")
|
56
|
-
block_ran.should == true
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
describe ExampleGroup, "#run with failure in example", :shared => true do
|
61
|
-
it "should add an example failure to the TestResult" do
|
62
|
-
example_group.run(options).should be_false
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
describe ExampleGroup, "#run" do
|
67
|
-
with_sandboxed_options do
|
68
|
-
attr_reader :example_group, :formatter, :reporter
|
69
|
-
before :each do
|
70
|
-
method_with_three_args = lambda { |arg1, arg2, arg3| }
|
71
|
-
@formatter = mock("formatter", :null_object => true, :example_pending => method_with_three_args)
|
72
|
-
options.formatters << formatter
|
73
|
-
options.backtrace_tweaker = mock("backtrace_tweaker", :null_object => true)
|
74
|
-
@reporter = FakeReporter.new(options)
|
75
|
-
options.reporter = reporter
|
76
|
-
@example_group = Class.new(ExampleGroupDouble) do
|
77
|
-
describe("example")
|
78
|
-
it "does nothing" do
|
79
|
-
end
|
80
|
-
end
|
81
|
-
class << example_group
|
82
|
-
public :include
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
after :each do
|
87
|
-
ExampleGroup.reset
|
88
|
-
end
|
89
|
-
|
90
|
-
it "should not run when there are no examples" do
|
91
|
-
example_group = Class.new(ExampleGroupDouble) do
|
92
|
-
describe("Foobar")
|
93
|
-
end
|
94
|
-
example_group.examples.should be_empty
|
95
|
-
|
96
|
-
reporter = mock("Reporter")
|
97
|
-
reporter.should_not_receive(:add_example_group)
|
98
|
-
example_group.run(options)
|
99
|
-
end
|
100
|
-
|
101
|
-
it "should report the start of an example run" do
|
102
|
-
reporter.should_receive(:example_started) do |example|
|
103
|
-
example.should equal(example_group.examples[0])
|
104
|
-
end
|
105
|
-
example_group.run(options)
|
106
|
-
end
|
107
|
-
|
108
|
-
it "should report the end of an example run" do
|
109
|
-
reporter.should_receive(:example_finished) do |example, execution_error|
|
110
|
-
example.should equal(example_group.examples[0])
|
111
|
-
execution_error.should be_nil
|
112
|
-
end
|
113
|
-
example_group.run(options)
|
114
|
-
end
|
115
|
-
|
116
|
-
describe "when before_each fails" do
|
117
|
-
before(:each) do
|
118
|
-
$example_ran = $after_each_ran = false
|
119
|
-
@example_group = describe("Foobar") do
|
120
|
-
before(:each) {raise}
|
121
|
-
it "should not be run" do
|
122
|
-
$example_ran = true
|
123
|
-
end
|
124
|
-
after(:each) do
|
125
|
-
$after_each_ran = true
|
126
|
-
end
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
it "should not run example block" do
|
131
|
-
example_group.run(options)
|
132
|
-
$example_ran.should be_false
|
133
|
-
end
|
134
|
-
|
135
|
-
it "should run after_each" do
|
136
|
-
example_group.run(options)
|
137
|
-
$after_each_ran.should be_true
|
138
|
-
end
|
139
|
-
|
140
|
-
it "should report failure location when in before_each" do
|
141
|
-
reporter.should_receive(:example_finished) do |example_group, error|
|
142
|
-
error.message.should eql("in before_each")
|
143
|
-
end
|
144
|
-
example_group.run(options)
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
|
-
describe ExampleGroup, "#run on dry run" do
|
149
|
-
before do
|
150
|
-
@options.dry_run = true
|
151
|
-
end
|
152
|
-
|
153
|
-
it "should not run before(:all) or after(:all)" do
|
154
|
-
before_all_ran = false
|
155
|
-
after_all_ran = false
|
156
|
-
ExampleGroup.before(:all) { before_all_ran = true }
|
157
|
-
ExampleGroup.after(:all) { after_all_ran = true }
|
158
|
-
example_group.it("should") {}
|
159
|
-
example_group.run(options)
|
160
|
-
before_all_ran.should be_false
|
161
|
-
after_all_ran.should be_false
|
162
|
-
end
|
163
|
-
|
164
|
-
it "should not run example" do
|
165
|
-
example_ran = false
|
166
|
-
example_group.it("should") {example_ran = true}
|
167
|
-
example_group.run(options)
|
168
|
-
example_ran.should be_false
|
169
|
-
end
|
170
|
-
end
|
171
|
-
|
172
|
-
describe ExampleGroup, "#run with specified examples" do
|
173
|
-
attr_reader :examples_that_were_run
|
174
|
-
before do
|
175
|
-
@examples_that_were_run = []
|
176
|
-
end
|
177
|
-
|
178
|
-
describe "when specified_examples matches entire ExampleGroup" do
|
179
|
-
before do
|
180
|
-
examples_that_were_run = @examples_that_were_run
|
181
|
-
@example_group = Class.new(ExampleGroupDouble) do
|
182
|
-
describe("the ExampleGroup")
|
183
|
-
it("should be run") do
|
184
|
-
examples_that_were_run << 'should be run'
|
185
|
-
end
|
186
|
-
|
187
|
-
it("should also be run") do
|
188
|
-
examples_that_were_run << 'should also be run'
|
189
|
-
end
|
190
|
-
end
|
191
|
-
options.parse_example "the ExampleGroup"
|
192
|
-
end
|
193
|
-
|
194
|
-
it "should not run the Examples in the ExampleGroup" do
|
195
|
-
example_group.run(options)
|
196
|
-
examples_that_were_run.should == ['should be run', 'should also be run']
|
197
|
-
end
|
198
|
-
end
|
199
|
-
|
200
|
-
describe ExampleGroup, "#run when specified_examples matches only Example description" do
|
201
|
-
before do
|
202
|
-
examples_that_were_run = @examples_that_were_run
|
203
|
-
@example_group = Class.new(ExampleGroupDouble) do
|
204
|
-
describe("example")
|
205
|
-
it("should be run") do
|
206
|
-
examples_that_were_run << 'should be run'
|
207
|
-
end
|
208
|
-
end
|
209
|
-
options.parse_example "should be run"
|
210
|
-
end
|
211
|
-
|
212
|
-
it "should not run the example" do
|
213
|
-
example_group.run(options)
|
214
|
-
examples_that_were_run.should == ['should be run']
|
215
|
-
end
|
216
|
-
end
|
217
|
-
|
218
|
-
describe ExampleGroup, "#run when specified_examples does not match an Example description" do
|
219
|
-
before do
|
220
|
-
examples_that_were_run = @examples_that_were_run
|
221
|
-
@example_group = Class.new(ExampleGroupDouble) do
|
222
|
-
describe("example")
|
223
|
-
it("should be something else") do
|
224
|
-
examples_that_were_run << 'should be something else'
|
225
|
-
end
|
226
|
-
end
|
227
|
-
options.parse_example "does not match anything"
|
228
|
-
end
|
229
|
-
|
230
|
-
it "should not run the example" do
|
231
|
-
example_group.run(options)
|
232
|
-
examples_that_were_run.should == []
|
233
|
-
end
|
234
|
-
end
|
235
|
-
|
236
|
-
describe ExampleGroup, "#run when specified_examples matches an Example description" do
|
237
|
-
before do
|
238
|
-
examples_that_were_run = @examples_that_were_run
|
239
|
-
@example_group = Class.new(ExampleGroupDouble) do
|
240
|
-
describe("example")
|
241
|
-
it("should be run") do
|
242
|
-
examples_that_were_run << 'should be run'
|
243
|
-
end
|
244
|
-
it("should not be run") do
|
245
|
-
examples_that_were_run << 'should not be run'
|
246
|
-
end
|
247
|
-
end
|
248
|
-
options.parse_example "should be run"
|
249
|
-
end
|
250
|
-
|
251
|
-
it "should run only the example" do
|
252
|
-
example_group.run(options)
|
253
|
-
examples_that_were_run.should == ["should be run"]
|
254
|
-
end
|
255
|
-
end
|
256
|
-
end
|
257
|
-
|
258
|
-
describe ExampleGroup, "#run with success" do
|
259
|
-
before do
|
260
|
-
@special_example_group = Class.new(ExampleGroupDouble)
|
261
|
-
ExampleGroupFactory.register(:special, @special_example_group)
|
262
|
-
@not_special_example_group = Class.new(ExampleGroupDouble)
|
263
|
-
ExampleGroupFactory.register(:not_special, @not_special_example_group)
|
264
|
-
end
|
265
|
-
|
266
|
-
after do
|
267
|
-
ExampleGroupFactory.reset
|
268
|
-
end
|
269
|
-
|
270
|
-
it "should send reporter example_group_started" do
|
271
|
-
reporter.should_receive(:example_group_started)
|
272
|
-
example_group.run(options)
|
273
|
-
end
|
274
|
-
|
275
|
-
it "should run example on run" do
|
276
|
-
example_ran = false
|
277
|
-
example_group.it("should") {example_ran = true}
|
278
|
-
example_group.run(options)
|
279
|
-
example_ran.should be_true
|
280
|
-
end
|
281
|
-
|
282
|
-
it "should run before(:all) block only once" do
|
283
|
-
before_all_run_count_run_count = 0
|
284
|
-
example_group.before(:all) {before_all_run_count_run_count += 1}
|
285
|
-
example_group.it("test") {true}
|
286
|
-
example_group.it("test2") {true}
|
287
|
-
example_group.run(options)
|
288
|
-
before_all_run_count_run_count.should == 1
|
289
|
-
end
|
290
|
-
|
291
|
-
it "should run after(:all) block only once" do
|
292
|
-
after_all_run_count = 0
|
293
|
-
example_group.after(:all) {after_all_run_count += 1}
|
294
|
-
example_group.it("test") {true}
|
295
|
-
example_group.it("test2") {true}
|
296
|
-
example_group.run(options)
|
297
|
-
after_all_run_count.should == 1
|
298
|
-
@reporter.rspec_verify
|
299
|
-
end
|
300
|
-
|
301
|
-
it "after(:all) should have access to all instance variables defined in before(:all)" do
|
302
|
-
context_instance_value_in = "Hello there"
|
303
|
-
context_instance_value_out = ""
|
304
|
-
example_group.before(:all) { @instance_var = context_instance_value_in }
|
305
|
-
example_group.after(:all) { context_instance_value_out = @instance_var }
|
306
|
-
example_group.it("test") {true}
|
307
|
-
example_group.run(options)
|
308
|
-
context_instance_value_in.should == context_instance_value_out
|
309
|
-
end
|
310
|
-
|
311
|
-
it "should copy instance variables from before(:all)'s execution context into spec's execution context" do
|
312
|
-
context_instance_value_in = "Hello there"
|
313
|
-
context_instance_value_out = ""
|
314
|
-
example_group.before(:all) { @instance_var = context_instance_value_in }
|
315
|
-
example_group.it("test") {context_instance_value_out = @instance_var}
|
316
|
-
example_group.run(options)
|
317
|
-
context_instance_value_in.should == context_instance_value_out
|
318
|
-
end
|
319
|
-
|
320
|
-
it "should not add global before callbacks for untargetted example_group" do
|
321
|
-
fiddle = []
|
322
|
-
|
323
|
-
ExampleGroup.before(:all) { fiddle << "Example.before(:all)" }
|
324
|
-
ExampleGroup.prepend_before(:all) { fiddle << "Example.prepend_before(:all)" }
|
325
|
-
@special_example_group.before(:each) { fiddle << "Example.before(:each, :type => :special)" }
|
326
|
-
@special_example_group.prepend_before(:each) { fiddle << "Example.prepend_before(:each, :type => :special)" }
|
327
|
-
@special_example_group.before(:all) { fiddle << "Example.before(:all, :type => :special)" }
|
328
|
-
@special_example_group.prepend_before(:all) { fiddle << "Example.prepend_before(:all, :type => :special)" }
|
329
|
-
|
330
|
-
example_group = Class.new(ExampleGroupDouble) do
|
331
|
-
describe("I'm not special", :type => :not_special)
|
332
|
-
it "does nothing"
|
333
|
-
end
|
334
|
-
example_group.run(options)
|
335
|
-
fiddle.should == [
|
336
|
-
'Example.prepend_before(:all)',
|
337
|
-
'Example.before(:all)',
|
338
|
-
]
|
339
|
-
end
|
340
|
-
|
341
|
-
it "should add global before callbacks for targetted example_groups" do
|
342
|
-
fiddle = []
|
343
|
-
|
344
|
-
ExampleGroup.before(:all) { fiddle << "Example.before(:all)" }
|
345
|
-
ExampleGroup.prepend_before(:all) { fiddle << "Example.prepend_before(:all)" }
|
346
|
-
@special_example_group.before(:each) { fiddle << "special.before(:each, :type => :special)" }
|
347
|
-
@special_example_group.prepend_before(:each) { fiddle << "special.prepend_before(:each, :type => :special)" }
|
348
|
-
@special_example_group.before(:all) { fiddle << "special.before(:all, :type => :special)" }
|
349
|
-
@special_example_group.prepend_before(:all) { fiddle << "special.prepend_before(:all, :type => :special)" }
|
350
|
-
@special_example_group.append_before(:each) { fiddle << "special.append_before(:each, :type => :special)" }
|
351
|
-
|
352
|
-
example_group = Class.new(@special_example_group).describe("I'm a special example_group") {}
|
353
|
-
example_group.it("test") {true}
|
354
|
-
example_group.run(options)
|
355
|
-
fiddle.should == [
|
356
|
-
'Example.prepend_before(:all)',
|
357
|
-
'Example.before(:all)',
|
358
|
-
'special.prepend_before(:all, :type => :special)',
|
359
|
-
'special.before(:all, :type => :special)',
|
360
|
-
'special.prepend_before(:each, :type => :special)',
|
361
|
-
'special.before(:each, :type => :special)',
|
362
|
-
'special.append_before(:each, :type => :special)',
|
363
|
-
]
|
364
|
-
end
|
365
|
-
|
366
|
-
it "should order before callbacks from global to local" do
|
367
|
-
fiddle = []
|
368
|
-
ExampleGroup.prepend_before(:all) { fiddle << "Example.prepend_before(:all)" }
|
369
|
-
ExampleGroup.before(:all) { fiddle << "Example.before(:all)" }
|
370
|
-
example_group.prepend_before(:all) { fiddle << "prepend_before(:all)" }
|
371
|
-
example_group.before(:all) { fiddle << "before(:all)" }
|
372
|
-
example_group.prepend_before(:each) { fiddle << "prepend_before(:each)" }
|
373
|
-
example_group.before(:each) { fiddle << "before(:each)" }
|
374
|
-
example_group.run(options)
|
375
|
-
fiddle.should == [
|
376
|
-
'Example.prepend_before(:all)',
|
377
|
-
'Example.before(:all)',
|
378
|
-
'prepend_before(:all)',
|
379
|
-
'before(:all)',
|
380
|
-
'prepend_before(:each)',
|
381
|
-
'before(:each)'
|
382
|
-
]
|
383
|
-
end
|
384
|
-
|
385
|
-
it "should order after callbacks from local to global" do
|
386
|
-
fiddle = []
|
387
|
-
example_group.after(:each) { fiddle << "after(:each)" }
|
388
|
-
example_group.append_after(:each) { fiddle << "append_after(:each)" }
|
389
|
-
example_group.after(:all) { fiddle << "after(:all)" }
|
390
|
-
example_group.append_after(:all) { fiddle << "append_after(:all)" }
|
391
|
-
ExampleGroup.after(:all) { fiddle << "Example.after(:all)" }
|
392
|
-
ExampleGroup.append_after(:all) { fiddle << "Example.append_after(:all)" }
|
393
|
-
example_group.run(options)
|
394
|
-
fiddle.should == [
|
395
|
-
'after(:each)',
|
396
|
-
'append_after(:each)',
|
397
|
-
'after(:all)',
|
398
|
-
'append_after(:all)',
|
399
|
-
'Example.after(:all)',
|
400
|
-
'Example.append_after(:all)'
|
401
|
-
]
|
402
|
-
end
|
403
|
-
|
404
|
-
it "should have accessible instance methods from included module" do
|
405
|
-
mod1_method_called = false
|
406
|
-
mod1 = Module.new do
|
407
|
-
define_method :mod1_method do
|
408
|
-
mod1_method_called = true
|
409
|
-
end
|
410
|
-
end
|
411
|
-
|
412
|
-
mod2_method_called = false
|
413
|
-
mod2 = Module.new do
|
414
|
-
define_method :mod2_method do
|
415
|
-
mod2_method_called = true
|
416
|
-
end
|
417
|
-
end
|
418
|
-
|
419
|
-
example_group.include mod1, mod2
|
420
|
-
|
421
|
-
example_group.it("test") do
|
422
|
-
mod1_method
|
423
|
-
mod2_method
|
424
|
-
end
|
425
|
-
example_group.run(options)
|
426
|
-
mod1_method_called.should be_true
|
427
|
-
mod2_method_called.should be_true
|
428
|
-
end
|
429
|
-
|
430
|
-
it "should include targetted modules included using configuration" do
|
431
|
-
mod1 = Module.new
|
432
|
-
mod2 = Module.new
|
433
|
-
mod3 = Module.new
|
434
|
-
Spec::Runner.configuration.include(mod1, mod2)
|
435
|
-
Spec::Runner.configuration.include(mod3, :type => :not_special)
|
436
|
-
|
437
|
-
example_group = Class.new(@special_example_group).describe("I'm special", :type => :special) do
|
438
|
-
it "does nothing"
|
439
|
-
end
|
440
|
-
example_group.run(options)
|
441
|
-
|
442
|
-
example_group.included_modules.should include(mod1)
|
443
|
-
example_group.included_modules.should include(mod2)
|
444
|
-
example_group.included_modules.should_not include(mod3)
|
445
|
-
end
|
446
|
-
|
447
|
-
end
|
448
|
-
|
449
|
-
describe ExampleGroup, "#run with pending example that has a failing assertion" do
|
450
|
-
before do
|
451
|
-
example_group.it("should be pending") do
|
452
|
-
pending("Example fails") {false.should be_true}
|
453
|
-
end
|
454
|
-
end
|
455
|
-
|
456
|
-
it "should send example_pending to formatter" do
|
457
|
-
@formatter.should_receive(:example_pending).with("example", "should be pending", "Example fails")
|
458
|
-
example_group.run(options)
|
459
|
-
end
|
460
|
-
end
|
461
|
-
|
462
|
-
describe ExampleGroup, "#run with pending example that does not have a failing assertion" do
|
463
|
-
it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
|
464
|
-
|
465
|
-
before do
|
466
|
-
example_group.it("should be pending") do
|
467
|
-
pending("Example passes") {true.should be_true}
|
468
|
-
end
|
469
|
-
end
|
470
|
-
|
471
|
-
it "should send example_pending to formatter" do
|
472
|
-
@formatter.should_receive(:example_pending).with("example", "should be pending", "Example passes")
|
473
|
-
example_group.run(options)
|
474
|
-
end
|
475
|
-
end
|
476
|
-
|
477
|
-
describe ExampleGroup, "#run when before(:all) fails" do
|
478
|
-
it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
|
479
|
-
|
480
|
-
before do
|
481
|
-
ExampleGroup.before(:all) { raise NonStandardError, "before(:all) failure" }
|
482
|
-
end
|
483
|
-
|
484
|
-
it "should not run any example" do
|
485
|
-
spec_ran = false
|
486
|
-
example_group.it("test") {spec_ran = true}
|
487
|
-
example_group.run(options)
|
488
|
-
spec_ran.should be_false
|
489
|
-
end
|
490
|
-
|
491
|
-
it "should run ExampleGroup after(:all)" do
|
492
|
-
after_all_ran = false
|
493
|
-
ExampleGroup.after(:all) { after_all_ran = true }
|
494
|
-
example_group.run(options)
|
495
|
-
after_all_ran.should be_true
|
496
|
-
end
|
497
|
-
|
498
|
-
it "should run example_group after(:all)" do
|
499
|
-
after_all_ran = false
|
500
|
-
example_group.after(:all) { after_all_ran = true }
|
501
|
-
example_group.run(options)
|
502
|
-
after_all_ran.should be_true
|
503
|
-
end
|
504
|
-
|
505
|
-
it "should supply before(:all) as description" do
|
506
|
-
@reporter.should_receive(:example_failed) do |example, error|
|
507
|
-
example.description.should eql("before(:all)")
|
508
|
-
error.message.should eql("before(:all) failure")
|
509
|
-
end
|
510
|
-
|
511
|
-
example_group.it("test") {true}
|
512
|
-
example_group.run(options)
|
513
|
-
end
|
514
|
-
end
|
515
|
-
|
516
|
-
describe ExampleGroup, "#run when before(:each) fails" do
|
517
|
-
it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
|
518
|
-
|
519
|
-
before do
|
520
|
-
ExampleGroup.before(:each) { raise NonStandardError }
|
521
|
-
end
|
522
|
-
|
523
|
-
it "should run after(:all)" do
|
524
|
-
after_all_ran = false
|
525
|
-
ExampleGroup.after(:all) { after_all_ran = true }
|
526
|
-
example_group.run(options)
|
527
|
-
after_all_ran.should be_true
|
528
|
-
end
|
529
|
-
end
|
530
|
-
|
531
|
-
describe ExampleGroup, "#run when any example fails" do
|
532
|
-
it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
|
533
|
-
|
534
|
-
before do
|
535
|
-
example_group.it("should") { raise NonStandardError }
|
536
|
-
end
|
537
|
-
|
538
|
-
it "should run after(:all)" do
|
539
|
-
after_all_ran = false
|
540
|
-
ExampleGroup.after(:all) { after_all_ran = true }
|
541
|
-
example_group.run(options)
|
542
|
-
after_all_ran.should be_true
|
543
|
-
end
|
544
|
-
end
|
545
|
-
|
546
|
-
describe ExampleGroup, "#run when first after(:each) block fails" do
|
547
|
-
it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
|
548
|
-
|
549
|
-
before do
|
550
|
-
class << example_group
|
551
|
-
attr_accessor :first_after_ran, :second_after_ran
|
552
|
-
end
|
553
|
-
example_group.first_after_ran = false
|
554
|
-
example_group.second_after_ran = false
|
555
|
-
|
556
|
-
example_group.after(:each) do
|
557
|
-
self.class.second_after_ran = true
|
558
|
-
end
|
559
|
-
example_group.after(:each) do
|
560
|
-
self.class.first_after_ran = true
|
561
|
-
raise "first"
|
562
|
-
end
|
563
|
-
end
|
564
|
-
|
565
|
-
it "should run second after(:each) block" do
|
566
|
-
reporter.should_receive(:example_finished) do |example, error|
|
567
|
-
example.should equal(example)
|
568
|
-
error.message.should eql("first")
|
569
|
-
end
|
570
|
-
example_group.run(options)
|
571
|
-
example_group.first_after_ran.should be_true
|
572
|
-
example_group.second_after_ran.should be_true
|
573
|
-
end
|
574
|
-
end
|
575
|
-
|
576
|
-
describe ExampleGroup, "#run when first before(:each) block fails" do
|
577
|
-
it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
|
578
|
-
|
579
|
-
before do
|
580
|
-
class << example_group
|
581
|
-
attr_accessor :first_before_ran, :second_before_ran
|
582
|
-
end
|
583
|
-
example_group.first_before_ran = false
|
584
|
-
example_group.second_before_ran = false
|
585
|
-
|
586
|
-
example_group.before(:each) do
|
587
|
-
self.class.first_before_ran = true
|
588
|
-
raise "first"
|
589
|
-
end
|
590
|
-
example_group.before(:each) do
|
591
|
-
self.class.second_before_ran = true
|
592
|
-
end
|
593
|
-
end
|
594
|
-
|
595
|
-
it "should not run second before(:each)" do
|
596
|
-
reporter.should_receive(:example_finished) do |name, error|
|
597
|
-
error.message.should eql("first")
|
598
|
-
end
|
599
|
-
example_group.run(options)
|
600
|
-
example_group.first_before_ran.should be_true
|
601
|
-
example_group.second_before_ran.should be_false
|
602
|
-
end
|
603
|
-
end
|
604
|
-
|
605
|
-
describe ExampleGroup, "#run when failure in after(:all)" do
|
606
|
-
it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
|
607
|
-
|
608
|
-
before do
|
609
|
-
ExampleGroup.after(:all) { raise NonStandardError, "in after(:all)" }
|
610
|
-
end
|
611
|
-
|
612
|
-
it "should return false" do
|
613
|
-
example_group.run(options).should be_false
|
614
|
-
end
|
615
|
-
end
|
616
|
-
end
|
617
|
-
end
|
618
|
-
|
619
|
-
describe ExampleGroup, "subclasses" do
|
620
|
-
it "should have access to the described_type" do
|
621
|
-
example_group = Class.new(ExampleGroupDouble).describe(Array)
|
622
|
-
example_group.__send__(:described_type).should == Array
|
623
|
-
end
|
624
|
-
|
625
|
-
it "should concat descriptions when nested" do
|
626
|
-
example_group = Class.new(ExampleGroupDouble).describe(Array)
|
627
|
-
nested_group = example_group.describe("when empty") do; end
|
628
|
-
nested_group.description.to_s.should == "Array when empty"
|
629
|
-
end
|
630
|
-
end
|
631
|
-
end
|
632
|
-
end
|