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,551 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'spec/runner/resources/custom_example_group_runner'
|
3
|
-
require 'fakefs/spec_helpers'
|
4
|
-
|
5
|
-
describe "OptionParser" do
|
6
|
-
before(:each) do
|
7
|
-
@out = StringIO.new
|
8
|
-
@err = StringIO.new
|
9
|
-
@parser = Spec::Runner::OptionParser.new(@err, @out)
|
10
|
-
end
|
11
|
-
|
12
|
-
def parse(args)
|
13
|
-
@parser.parse(args)
|
14
|
-
@parser.options
|
15
|
-
end
|
16
|
-
|
17
|
-
describe "with fakefs" do
|
18
|
-
include FakeFS::SpecHelpers
|
19
|
-
|
20
|
-
it "should not use colour by default" do
|
21
|
-
options = parse([])
|
22
|
-
options.colour.should == false
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should use progress bar formatter by default" do
|
26
|
-
options = parse([])
|
27
|
-
options.formatters[0].class.should equal(Spec::Runner::Formatter::ProgressBarFormatter)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
it "should leave the submitted argv alone" do
|
32
|
-
args = ["--pattern", "foo"]
|
33
|
-
@parser.order!(args)
|
34
|
-
args.should == ["--pattern", "foo"]
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should accept files to include" do
|
38
|
-
options = parse(["--pattern", "foo"])
|
39
|
-
options.filename_pattern.should == "foo"
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should accept debugger option" do
|
43
|
-
options = parse(["--debugger"])
|
44
|
-
options.debug.should be_true
|
45
|
-
end
|
46
|
-
|
47
|
-
it "should accept -u form of debugger option" do
|
48
|
-
options = parse(["-u"])
|
49
|
-
options.debug.should be_true
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should turn off the debugger option if drb is specified later" do
|
53
|
-
@parser.stub!(:parse_drb).with(no_args).and_return(true)
|
54
|
-
options = parse(["-u", "--drb"])
|
55
|
-
options.debug.should be_false
|
56
|
-
end
|
57
|
-
|
58
|
-
it "should turn off the debugger option if drb is specified first" do
|
59
|
-
@parser.stub!(:parse_drb).with(no_args).and_return(true)
|
60
|
-
options = parse(["--drb", "-u"])
|
61
|
-
options.debug.should be_false
|
62
|
-
end
|
63
|
-
|
64
|
-
it "should accept port option" do
|
65
|
-
options = parse(["--port", "9000"])
|
66
|
-
options.drb_port.should == 9000
|
67
|
-
end
|
68
|
-
|
69
|
-
it 'should require argument to port option' do
|
70
|
-
lambda { parse(["--port"]) }.should raise_error(OptionParser::MissingArgument)
|
71
|
-
end
|
72
|
-
|
73
|
-
it "should accept dry run option" do
|
74
|
-
options = parse(["--dry-run"])
|
75
|
-
options.dry_run.should be_true
|
76
|
-
end
|
77
|
-
|
78
|
-
it "should eval and use custom formatter when none of the builtins" do
|
79
|
-
options = parse(["--format", "Custom::Formatter"])
|
80
|
-
options.formatters[0].class.should be(Custom::Formatter)
|
81
|
-
end
|
82
|
-
|
83
|
-
it "should support formatters with relative and absolute paths, even on windows" do
|
84
|
-
options = parse([
|
85
|
-
"--format", "Custom::Formatter:C:\\foo\\bar",
|
86
|
-
"--format", "Custom::Formatter:foo/bar",
|
87
|
-
"--format", "Custom::Formatter:foo\\bar",
|
88
|
-
"--format", "Custom::Formatter:/foo/bar"
|
89
|
-
])
|
90
|
-
options.formatters[0].where.should eql("C:\\foo\\bar")
|
91
|
-
options.formatters[1].where.should eql("foo/bar")
|
92
|
-
options.formatters[2].where.should eql("foo\\bar")
|
93
|
-
options.formatters[3].where.should eql("/foo/bar")
|
94
|
-
end
|
95
|
-
|
96
|
-
it "should not be verbose by default" do
|
97
|
-
options = parse([])
|
98
|
-
options.verbose.should be_nil
|
99
|
-
end
|
100
|
-
|
101
|
-
it "should print help to stdout if no args and spec_comand?" do
|
102
|
-
Spec::Runner::OptionParser.stub!(:spec_command?).and_return(true)
|
103
|
-
options = parse([])
|
104
|
-
@out.rewind
|
105
|
-
@out.read.should match(/Usage: spec \(FILE\(:LINE\)\?\|DIRECTORY\|GLOB\)\+ \[options\]/m)
|
106
|
-
end
|
107
|
-
|
108
|
-
it "should not print help to stdout if no args and NOT spec_command?" do
|
109
|
-
Spec::Runner::OptionParser.stub!(:spec_command?).and_return(false)
|
110
|
-
options = parse([])
|
111
|
-
@out.rewind
|
112
|
-
@out.read.should == ""
|
113
|
-
end
|
114
|
-
|
115
|
-
it "should print help to stdout" do
|
116
|
-
options = parse(["--help"])
|
117
|
-
@out.rewind
|
118
|
-
@out.read.should match(/Usage: spec \(FILE\(:LINE\)\?\|DIRECTORY\|GLOB\)\+ \[options\]/m)
|
119
|
-
end
|
120
|
-
|
121
|
-
it "should print instructions about how to require missing formatter" do
|
122
|
-
lambda do
|
123
|
-
options = parse(["--format", "Custom::MissingFormatter"])
|
124
|
-
options.formatters
|
125
|
-
end.should raise_error(NameError)
|
126
|
-
@err.string.should match(/Couldn't find formatter class Custom::MissingFormatter/n)
|
127
|
-
end
|
128
|
-
|
129
|
-
it "should print version to stdout" do
|
130
|
-
options = parse(["--version"])
|
131
|
-
@out.rewind
|
132
|
-
@out.read.should match(/rspec \d+\.\d+\.\d+/n)
|
133
|
-
end
|
134
|
-
|
135
|
-
it "should require file when require specified" do
|
136
|
-
lambda do
|
137
|
-
parse(["--require", "whatever"])
|
138
|
-
end.should raise_error(LoadError)
|
139
|
-
end
|
140
|
-
|
141
|
-
it "should support c option" do
|
142
|
-
options = parse(["-c"])
|
143
|
-
options.colour.should be_true
|
144
|
-
end
|
145
|
-
|
146
|
-
it "should support queens colour option" do
|
147
|
-
options = parse(["--colour"])
|
148
|
-
options.colour.should be_true
|
149
|
-
end
|
150
|
-
|
151
|
-
it "should support us color option" do
|
152
|
-
options = parse(["--color"])
|
153
|
-
options.colour.should be_true
|
154
|
-
end
|
155
|
-
|
156
|
-
it "should support single example with -e option" do
|
157
|
-
options = parse(["-e", "something or other"])
|
158
|
-
options.examples.should eql(["something or other"])
|
159
|
-
end
|
160
|
-
|
161
|
-
it "should support single example with -s option (will be removed when autotest supports -e)" do
|
162
|
-
options = parse(["-s", "something or other"])
|
163
|
-
options.examples.should eql(["something or other"])
|
164
|
-
end
|
165
|
-
|
166
|
-
it "should support single example with --example option" do
|
167
|
-
options = parse(["--example", "something or other"])
|
168
|
-
options.examples.should eql(["something or other"])
|
169
|
-
end
|
170
|
-
|
171
|
-
it "should read several example names from file if --example is given an existing file name" do
|
172
|
-
options = parse(["--example", File.dirname(__FILE__) + '/examples.txt'])
|
173
|
-
options.examples.should eql([
|
174
|
-
"Sir, if you were my husband, I would poison your drink.",
|
175
|
-
"Madam, if you were my wife, I would drink it."])
|
176
|
-
end
|
177
|
-
|
178
|
-
it "should read no examples if given an empty file" do
|
179
|
-
options = parse(["--example", File.dirname(__FILE__) + '/empty_file.txt'])
|
180
|
-
options.examples.should eql([])
|
181
|
-
end
|
182
|
-
|
183
|
-
it "should use html formatter when format is h" do
|
184
|
-
options = parse(["--format", "h"])
|
185
|
-
options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
|
186
|
-
end
|
187
|
-
|
188
|
-
it "should use html formatter when format is html" do
|
189
|
-
options = parse(["--format", "html"])
|
190
|
-
options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
|
191
|
-
end
|
192
|
-
|
193
|
-
it "should use silent formatter when format is s" do
|
194
|
-
options = parse(["--format", "l"])
|
195
|
-
options.formatters[0].class.should equal(Spec::Runner::Formatter::SilentFormatter)
|
196
|
-
end
|
197
|
-
|
198
|
-
it "should use silent formatter when format is silent" do
|
199
|
-
options = parse(["--format", "silent"])
|
200
|
-
options.formatters[0].class.should equal(Spec::Runner::Formatter::SilentFormatter)
|
201
|
-
end
|
202
|
-
|
203
|
-
it "should use html formatter with explicit output when format is html:test.html" do
|
204
|
-
FileUtils.rm 'test.html' if File.exist?('test.html')
|
205
|
-
options = parse(["--format", "html:test.html"])
|
206
|
-
options.formatters # creates the file
|
207
|
-
File.should exist('test.html')
|
208
|
-
options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
|
209
|
-
options.formatters[0].close
|
210
|
-
FileUtils.rm 'test.html'
|
211
|
-
end
|
212
|
-
|
213
|
-
it "should use noisy backtrace tweaker with b option" do
|
214
|
-
options = parse(["-b"])
|
215
|
-
options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker)
|
216
|
-
end
|
217
|
-
|
218
|
-
it "should use noisy backtrace tweaker with backtrace option" do
|
219
|
-
options = parse(["--backtrace"])
|
220
|
-
options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker)
|
221
|
-
end
|
222
|
-
|
223
|
-
it "should use quiet backtrace tweaker by default" do
|
224
|
-
options = parse([])
|
225
|
-
options.backtrace_tweaker.should be_instance_of(Spec::Runner::QuietBacktraceTweaker)
|
226
|
-
end
|
227
|
-
|
228
|
-
it "should use specdoc formatter when format is s" do
|
229
|
-
options = parse(["--format", "s"])
|
230
|
-
options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
|
231
|
-
end
|
232
|
-
|
233
|
-
it "should use specdoc formatter when format is specdoc" do
|
234
|
-
options = parse(["--format", "specdoc"])
|
235
|
-
options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
|
236
|
-
end
|
237
|
-
|
238
|
-
it "should use nested text formatter when format is s" do
|
239
|
-
options = parse(["--format", "n"])
|
240
|
-
options.formatters[0].class.should equal(Spec::Runner::Formatter::NestedTextFormatter)
|
241
|
-
end
|
242
|
-
|
243
|
-
it "should use nested text formatter when format is nested" do
|
244
|
-
options = parse(["--format", "nested"])
|
245
|
-
options.formatters[0].class.should equal(Spec::Runner::Formatter::NestedTextFormatter)
|
246
|
-
end
|
247
|
-
|
248
|
-
it "should support diff option when format is not specified" do
|
249
|
-
options = parse(["--diff"])
|
250
|
-
options.diff_format.should == :unified
|
251
|
-
end
|
252
|
-
|
253
|
-
it "should use unified diff format option when format is unified" do
|
254
|
-
options = parse(["--diff", "unified"])
|
255
|
-
options.diff_format.should == :unified
|
256
|
-
options.differ_class.should equal(Spec::Expectations::Differs::Default)
|
257
|
-
end
|
258
|
-
|
259
|
-
it "should use context diff format option when format is context" do
|
260
|
-
options = parse(["--diff", "context"])
|
261
|
-
options.diff_format.should == :context
|
262
|
-
options.differ_class.should == Spec::Expectations::Differs::Default
|
263
|
-
end
|
264
|
-
|
265
|
-
it "should use custom diff format option when format is a custom format" do
|
266
|
-
Spec::Expectations.differ.should_not be_instance_of(Custom::Differ)
|
267
|
-
|
268
|
-
options = parse(["--diff", "Custom::Differ"])
|
269
|
-
options.parse_diff "Custom::Differ"
|
270
|
-
options.diff_format.should == :custom
|
271
|
-
options.differ_class.should == Custom::Differ
|
272
|
-
Spec::Expectations.differ.should be_instance_of(Custom::Differ)
|
273
|
-
end
|
274
|
-
|
275
|
-
it "should print instructions about how to fix missing differ" do
|
276
|
-
lambda { parse(["--diff", "Custom::MissingFormatter"]) }.should raise_error(NameError)
|
277
|
-
@err.string.should match(/Couldn't find differ class Custom::MissingFormatter/n)
|
278
|
-
end
|
279
|
-
|
280
|
-
describe "when attempting a focussed spec" do
|
281
|
-
attr_reader :file, :dir
|
282
|
-
before(:each) do
|
283
|
-
@original_rspec_options = Spec::Runner.options
|
284
|
-
@file = "#{File.dirname(__FILE__)}/line_number_query/line_number_query_fixture.rb"
|
285
|
-
@dir = File.dirname(file)
|
286
|
-
end
|
287
|
-
|
288
|
-
after(:each) do
|
289
|
-
Spec::Runner.use @original_rspec_options
|
290
|
-
end
|
291
|
-
|
292
|
-
def parse(args)
|
293
|
-
options = super
|
294
|
-
Spec::Runner.use options
|
295
|
-
options.filename_pattern = "*_fixture.rb"
|
296
|
-
options
|
297
|
-
end
|
298
|
-
|
299
|
-
describe 'with the --line flag' do
|
300
|
-
it "should correctly identify the spec" do
|
301
|
-
options = parse([file, "--line", "13"])
|
302
|
-
options.line_number.should == 13
|
303
|
-
options.examples.should be_empty
|
304
|
-
options.run_examples
|
305
|
-
options.examples.should eql(["d"])
|
306
|
-
end
|
307
|
-
|
308
|
-
it "should fail with error message if specified file is a dir" do
|
309
|
-
options = parse([dir, "--line", "169"])
|
310
|
-
options.line_number.should == 169
|
311
|
-
options.run_examples
|
312
|
-
@err.string.should match(/You must specify one file, not a directory when providing a line number/n)
|
313
|
-
end
|
314
|
-
|
315
|
-
|
316
|
-
it "should fail with error message if file does not exist" do
|
317
|
-
options = parse(["some file", "--line", "169"])
|
318
|
-
proc do
|
319
|
-
options.run_examples
|
320
|
-
end.should raise_error
|
321
|
-
end
|
322
|
-
|
323
|
-
it "should fail with error message if more than one files are specified" do
|
324
|
-
options = parse([file, file, "--line", "169"])
|
325
|
-
options.run_examples
|
326
|
-
@err.string.should match(/Only one file can be specified when providing a line number/n)
|
327
|
-
end
|
328
|
-
|
329
|
-
it "should fail with error message if using simultaneously with --example" do
|
330
|
-
options = parse([file, "--example", "some example", "--line", "169"])
|
331
|
-
options.run_examples
|
332
|
-
@err.string.should match(/You cannot use --example and specify a line number/n)
|
333
|
-
end
|
334
|
-
end
|
335
|
-
|
336
|
-
describe 'with the colon syntax (filename:LINE_NUMBER)' do
|
337
|
-
|
338
|
-
it "should strip the line number from the file name" do
|
339
|
-
options = parse(["#{file}:13"])
|
340
|
-
options.files.should include(file)
|
341
|
-
end
|
342
|
-
|
343
|
-
it "should correctly identify the spec" do
|
344
|
-
options = parse(["#{file}:13"])
|
345
|
-
options.line_number.should == 13
|
346
|
-
options.examples.should be_empty
|
347
|
-
options.run_examples
|
348
|
-
options.examples.should eql(["d"])
|
349
|
-
end
|
350
|
-
|
351
|
-
it "should fail with error message if specified file is a dir" do
|
352
|
-
options = parse(["#{dir}:169"])
|
353
|
-
options.line_number.should == 169
|
354
|
-
options.run_examples
|
355
|
-
@err.string.should match(/You must specify one file, not a directory when providing a line number/n)
|
356
|
-
end
|
357
|
-
|
358
|
-
|
359
|
-
it "should fail with error message if file does not exist" do
|
360
|
-
options = parse(["some file:169"])
|
361
|
-
proc do
|
362
|
-
options.run_examples
|
363
|
-
end.should raise_error
|
364
|
-
end
|
365
|
-
|
366
|
-
it "should fail with error message if more than one files are specified" do
|
367
|
-
options = parse([file, "#{file}:169"])
|
368
|
-
options.run_examples
|
369
|
-
@err.string.should match(/Only one file can be specified when providing a line number/n)
|
370
|
-
end
|
371
|
-
|
372
|
-
it "should fail with error message if using simultaneously with --example" do
|
373
|
-
options = parse(["#{file}:169", "--example", "some example"])
|
374
|
-
options.run_examples
|
375
|
-
@err.string.should match(/You cannot use --example and specify a line number/n)
|
376
|
-
end
|
377
|
-
end
|
378
|
-
|
379
|
-
end
|
380
|
-
|
381
|
-
if [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
|
382
|
-
it "should barf when --heckle is specified (and platform is windows)" do
|
383
|
-
lambda do
|
384
|
-
options = parse(["--heckle", "Spec"])
|
385
|
-
end.should raise_error(StandardError, /Heckle is not supported/)
|
386
|
-
end
|
387
|
-
elsif Spec::Ruby.version.to_f == 1.9
|
388
|
-
it "should barf when --heckle is specified (and platform is Ruby 1.9)" do
|
389
|
-
lambda do
|
390
|
-
options = parse(["--heckle", "Spec"])
|
391
|
-
end.should raise_error(StandardError, /Heckle is not supported/)
|
392
|
-
end
|
393
|
-
else
|
394
|
-
it "should heckle when --heckle is specified (and platform is not windows)" do
|
395
|
-
options = parse(["--heckle", "Spec"])
|
396
|
-
options.heckle_runner.should be_instance_of(Spec::Runner::HeckleRunner)
|
397
|
-
end
|
398
|
-
end
|
399
|
-
|
400
|
-
it "should read options from file when --options is specified" do
|
401
|
-
options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"])
|
402
|
-
options.diff_format.should_not be_nil
|
403
|
-
options.colour.should be_true
|
404
|
-
end
|
405
|
-
|
406
|
-
it "should default the formatter to ProgressBarFormatter when using options file" do
|
407
|
-
options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"])
|
408
|
-
options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::ProgressBarFormatter)
|
409
|
-
end
|
410
|
-
|
411
|
-
it "should run parse drb after parsing options" do
|
412
|
-
@parser.should_receive(:parse_drb).with(no_args).and_return(true)
|
413
|
-
options = parse(["--options", File.dirname(__FILE__) + "/spec_drb.opts"])
|
414
|
-
end
|
415
|
-
|
416
|
-
it "should send all the arguments other than --drb back to the parser after parsing options" do
|
417
|
-
Spec::Runner::DrbCommandLine.should_receive(:run).and_return do |options|
|
418
|
-
options.argv.should == ["example_file.rb", "--colour"]
|
419
|
-
end
|
420
|
-
options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"])
|
421
|
-
end
|
422
|
-
|
423
|
-
it "runs specs locally if no drb is running when --drb is specified" do
|
424
|
-
Spec::Runner::DrbCommandLine.should_receive(:run).and_return(false)
|
425
|
-
options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"])
|
426
|
-
options.__send__(:examples_should_be_run?).should be_true
|
427
|
-
end
|
428
|
-
|
429
|
-
it "says its running specs locally if no drb is running when --drb is specified" do
|
430
|
-
Spec::Runner::DrbCommandLine.should_receive(:run).and_return(false)
|
431
|
-
options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"])
|
432
|
-
options.error_stream.rewind
|
433
|
-
options.error_stream.string.should =~ /Running specs locally/
|
434
|
-
end
|
435
|
-
|
436
|
-
it "does not run specs locally if drb is running when --drb is specified" do
|
437
|
-
Spec::Runner::DrbCommandLine.should_receive(:run).and_return(true)
|
438
|
-
options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"])
|
439
|
-
options.__send__(:examples_should_be_run?).should be_false
|
440
|
-
end
|
441
|
-
|
442
|
-
it "should read spaced and multi-line options from file when --options is specified" do
|
443
|
-
options = parse(["--options", File.dirname(__FILE__) + "/spec_spaced.opts"])
|
444
|
-
options.diff_format.should_not be_nil
|
445
|
-
options.colour.should be_true
|
446
|
-
options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::SpecdocFormatter)
|
447
|
-
end
|
448
|
-
|
449
|
-
it "should save config to file when --generate-options is specified" do
|
450
|
-
FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
|
451
|
-
options = parse(["--colour", "--generate-options", "test.spec.opts", "--diff"])
|
452
|
-
IO.read('test.spec.opts').should == "--colour\n--diff\n"
|
453
|
-
FileUtils.rm 'test.spec.opts'
|
454
|
-
end
|
455
|
-
|
456
|
-
it "should save config to file when -G is specified" do
|
457
|
-
FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
|
458
|
-
options = parse(["--colour", "-G", "test.spec.opts", "--diff"])
|
459
|
-
IO.read('test.spec.opts').should == "--colour\n--diff\n"
|
460
|
-
FileUtils.rm 'test.spec.opts'
|
461
|
-
end
|
462
|
-
|
463
|
-
it "when --drb is specified, calls DrbCommandLine all of the other ARGV arguments" do
|
464
|
-
options = Spec::Runner::OptionParser.parse([
|
465
|
-
"some/spec.rb", "--diff", "--colour"
|
466
|
-
], @err, @out)
|
467
|
-
Spec::Runner::DrbCommandLine.should_receive(:run).and_return do |options|
|
468
|
-
options.argv.should == ["some/spec.rb", "--diff", "--colour"]
|
469
|
-
end
|
470
|
-
parse(["some/spec.rb", "--diff", "--drb", "--colour"])
|
471
|
-
end
|
472
|
-
|
473
|
-
it "should reverse spec order when --reverse is specified" do
|
474
|
-
options = parse(["some/spec.rb", "--reverse"])
|
475
|
-
end
|
476
|
-
|
477
|
-
it "should set an mtime comparator when --loadby mtime" do
|
478
|
-
options = parse(["--loadby", 'mtime'])
|
479
|
-
runner = Spec::Runner::ExampleGroupRunner.new(options)
|
480
|
-
Spec::Runner::ExampleGroupRunner.should_receive(:new).
|
481
|
-
with(options).
|
482
|
-
and_return(runner)
|
483
|
-
runner.should_receive(:load_files).with(["most_recent_spec.rb", "command_line_spec.rb"])
|
484
|
-
|
485
|
-
Dir.chdir(File.dirname(__FILE__)) do
|
486
|
-
options.files << 'command_line_spec.rb'
|
487
|
-
options.files << 'most_recent_spec.rb'
|
488
|
-
FileUtils.touch "most_recent_spec.rb"
|
489
|
-
options.run_examples
|
490
|
-
FileUtils.rm "most_recent_spec.rb"
|
491
|
-
end
|
492
|
-
end
|
493
|
-
|
494
|
-
it "should use the standard runner by default" do
|
495
|
-
runner = ::Spec::Runner::ExampleGroupRunner.new(@parser.options)
|
496
|
-
::Spec::Runner::ExampleGroupRunner.should_receive(:new).
|
497
|
-
with(@parser.options).
|
498
|
-
and_return(runner)
|
499
|
-
options = parse([])
|
500
|
-
options.run_examples
|
501
|
-
end
|
502
|
-
|
503
|
-
it "should use a custom runner when given" do
|
504
|
-
runner = Custom::ExampleGroupRunner.new(@parser.options, nil)
|
505
|
-
Custom::ExampleGroupRunner.should_receive(:new).
|
506
|
-
with(@parser.options, nil).
|
507
|
-
and_return(runner)
|
508
|
-
options = parse(["--runner", "Custom::ExampleGroupRunner"])
|
509
|
-
options.run_examples
|
510
|
-
end
|
511
|
-
|
512
|
-
it "should use a custom runner with extra options" do
|
513
|
-
runner = Custom::ExampleGroupRunner.new(@parser.options, 'something')
|
514
|
-
Custom::ExampleGroupRunner.should_receive(:new).
|
515
|
-
with(@parser.options, 'something').
|
516
|
-
and_return(runner)
|
517
|
-
options = parse(["--runner", "Custom::ExampleGroupRunner:something"])
|
518
|
-
options.run_examples
|
519
|
-
end
|
520
|
-
|
521
|
-
it "sets options.autospec to true with --autospec" do
|
522
|
-
options = parse(["--autospec"])
|
523
|
-
options.autospec.should be(true)
|
524
|
-
end
|
525
|
-
|
526
|
-
describe "implicitly loading spec/spec.opts" do
|
527
|
-
include FakeFS::SpecHelpers
|
528
|
-
|
529
|
-
it "uses spec/spec.opts if present" do
|
530
|
-
File.open('spec/spec.opts', 'w') { |f| f.write "--colour" }
|
531
|
-
options = parse(['ignore.rb'])
|
532
|
-
options.colour.should be(true)
|
533
|
-
end
|
534
|
-
|
535
|
-
it "does not try to load spec/spec.opts if not present" do
|
536
|
-
FileUtils.rm 'spec/spec.opts'
|
537
|
-
options = parse(['ignore.rb'])
|
538
|
-
options.colour.should be(false)
|
539
|
-
end
|
540
|
-
|
541
|
-
it "uses specified opts if supplied" do
|
542
|
-
options = nil
|
543
|
-
File.open("spec/spec.opts",'w') { |f| f.write "" }
|
544
|
-
File.open("spec/alternate.opts",'w') { |f| f.write "--colour" }
|
545
|
-
options = parse(['-O','spec/alternate.opts'])
|
546
|
-
options.colour.should be(true)
|
547
|
-
end
|
548
|
-
end
|
549
|
-
|
550
|
-
|
551
|
-
end
|