rspec 1.0.0 → 1.3.1
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 +7 -0
- data/History.rdoc +1546 -0
- data/{MIT-LICENSE → License.txt} +3 -1
- data/Manifest.txt +384 -0
- data/README.rdoc +41 -0
- data/Rakefile +94 -229
- data/Ruby1.9.rdoc +31 -0
- data/TODO.txt +17 -0
- data/Upgrade.rdoc +260 -0
- data/bin/autospec +4 -0
- data/bin/spec +5 -3
- data/cucumber.yml +5 -0
- data/examples/failing/README.txt +11 -0
- data/examples/failing/diffing_spec.rb +36 -0
- data/examples/failing/failing_implicit_docstrings_example.rb +17 -0
- data/examples/failing/failure_in_after.rb +10 -0
- data/examples/failing/failure_in_before.rb +10 -0
- data/examples/failing/mocking_example.rb +38 -0
- data/examples/failing/mocking_with_flexmock.rb +26 -0
- data/examples/failing/mocking_with_mocha.rb +25 -0
- data/examples/failing/mocking_with_rr.rb +27 -0
- data/examples/failing/partial_mock_example.rb +18 -0
- data/examples/failing/pending_example.rb +7 -0
- data/examples/failing/predicate_example.rb +32 -0
- data/examples/failing/raising_example.rb +47 -0
- data/examples/failing/syntax_error_example.rb +7 -0
- data/examples/failing/team_spec.rb +41 -0
- data/examples/failing/timeout_behaviour.rb +5 -0
- data/examples/{custom_formatter.rb → passing/custom_formatter.rb} +1 -1
- data/examples/passing/dynamic_spec.rb +7 -0
- data/examples/{file_accessor.rb → passing/file_accessor.rb} +18 -18
- data/examples/{file_accessor_spec.rb → passing/file_accessor_spec.rb} +37 -38
- data/examples/passing/filtered_formatter.rb +17 -0
- data/examples/passing/filtered_formatter_example.rb +31 -0
- data/examples/{greeter_spec.rb → passing/greeter_spec.rb} +1 -1
- data/examples/passing/helper_method_example.rb +12 -0
- data/examples/passing/implicit_docstrings_example.rb +16 -0
- data/examples/{io_processor.rb → passing/io_processor.rb} +8 -8
- data/examples/{io_processor_spec.rb → passing/io_processor_spec.rb} +2 -3
- data/examples/{mocking_example.rb → passing/mocking_example.rb} +0 -2
- data/examples/{multi_threaded_behaviour_runner.rb → passing/multi_threaded_example_group_runner.rb} +10 -9
- data/examples/passing/nested_classes_example.rb +35 -0
- data/examples/passing/options_example.rb +29 -0
- data/examples/passing/options_formatter.rb +20 -0
- data/examples/{partial_mock_example.rb → passing/partial_mock_example.rb} +2 -3
- data/examples/passing/pending_example.rb +18 -0
- data/examples/{predicate_example.rb → passing/predicate_example.rb} +1 -3
- data/examples/{shared_behaviours_example.rb → passing/shared_example_group_example.rb} +15 -11
- data/examples/passing/shared_stack_examples.rb +36 -0
- data/examples/passing/simple_matcher_example.rb +29 -0
- data/examples/{stack.rb → passing/stack.rb} +1 -1
- data/examples/{stack_spec.rb → passing/stack_spec.rb} +6 -40
- data/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
- data/examples/{stubbing_example.rb → passing/stubbing_example.rb} +1 -3
- data/examples/passing/yielding_example.rb +31 -0
- data/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
- data/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
- data/features/command_line/line_number_option.feature +56 -0
- data/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
- data/features/example_groups/define_example_attribute.feature +41 -0
- data/features/example_groups/example_group_with_should_methods.feature +29 -0
- data/features/example_groups/implicit_docstrings.feature +59 -0
- data/features/example_groups/nested_groups.feature +32 -0
- data/features/expectations/customized_message.feature +54 -0
- data/features/expectations/expect_change.feature +65 -0
- data/features/expectations/expect_error.feature +44 -0
- data/features/extensions/custom_example_group.feature +19 -0
- data/features/formatters/custom_formatter.feature +30 -0
- data/features/formatters/nested_formatter.feature +32 -0
- data/features/interop/cucumber_stubs_dont_leak.feature +11 -0
- data/features/interop/examples_and_tests_together.feature +84 -0
- data/features/interop/rspec_output.feature +25 -0
- data/features/interop/test_but_not_test_unit.feature +26 -0
- data/features/interop/test_case_with_should_methods.feature +46 -0
- data/features/load_paths/add_lib_to_load_path.feature +20 -0
- data/features/load_paths/add_spec_to_load_path.feature +20 -0
- data/features/matchers/define_diffable_matcher.feature +26 -0
- data/features/matchers/define_matcher.feature +179 -0
- data/features/matchers/define_matcher_outside_rspec.feature +38 -0
- data/features/matchers/define_matcher_with_fluent_interface.feature +48 -0
- data/features/matchers/define_wrapped_matcher.feature +56 -0
- data/features/matchers/match_unless_raises.feature +60 -0
- data/features/matchers/match_unless_raises_unexpected_error.feature +39 -0
- data/features/mock_framework_integration/use_flexmock.feature +27 -0
- data/features/mock_framework_integration/use_mocha.feature +27 -0
- data/features/mock_framework_integration/use_rr.feature +27 -0
- data/features/mocks/block_local_expectations.feature +62 -0
- data/features/mocks/mix_stubs_and_mocks.feature +22 -0
- data/features/mocks/stub_implementation.feature +26 -0
- data/features/pending/pending_examples.feature +81 -0
- data/features/runner/specify_line_number.feature +32 -0
- data/features/spec_helper/spec_helper.feature +25 -0
- data/features/step_definitions/running_rspec_steps.rb +52 -0
- data/features/step_definitions/stubbing_steps.rb +16 -0
- data/features/subject/explicit_subject.feature +31 -0
- data/features/subject/implicit_subject.feature +43 -0
- data/features/support/env.rb +83 -0
- data/features/support/matchers/smart_match.rb +31 -0
- data/geminstaller.yml +29 -0
- data/init.rb +9 -0
- data/lib/autotest/discover.rb +3 -0
- data/lib/autotest/rspec.rb +54 -0
- data/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
- data/{plugins → lib/spec/adapters}/mock_frameworks/mocha.rb +8 -4
- data/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
- data/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
- data/lib/spec/autorun.rb +3 -0
- data/lib/spec/deprecation.rb +41 -0
- data/lib/spec/dsl/main.rb +93 -0
- data/lib/spec/dsl.rb +1 -10
- data/lib/spec/example/args_and_options.rb +27 -0
- data/lib/spec/example/before_and_after_hooks.rb +93 -0
- data/lib/spec/example/errors.rb +25 -0
- data/lib/spec/example/example_group.rb +10 -0
- data/lib/spec/example/example_group_factory.rb +82 -0
- data/lib/spec/example/example_group_hierarchy.rb +53 -0
- data/lib/spec/example/example_group_methods.rb +287 -0
- data/lib/spec/example/example_group_proxy.rb +61 -0
- data/lib/spec/example/example_matcher.rb +43 -0
- data/lib/spec/example/example_methods.rb +152 -0
- data/lib/spec/example/example_proxy.rb +41 -0
- data/lib/spec/example/module_reopening_fix.rb +43 -0
- data/lib/spec/example/pending.rb +18 -0
- data/lib/spec/example/predicate_matchers.rb +46 -0
- data/lib/spec/example/shared_example_group.rb +59 -0
- data/lib/spec/example/subject.rb +114 -0
- data/lib/spec/example.rb +164 -0
- data/lib/spec/expectations/errors.rb +7 -1
- data/lib/spec/expectations/extensions/kernel.rb +52 -0
- data/lib/spec/expectations/extensions.rb +1 -2
- data/lib/spec/expectations/fail_with.rb +45 -0
- data/lib/spec/expectations/handler.rb +37 -30
- data/lib/spec/expectations.rb +2 -23
- data/lib/spec/extensions/instance_exec.rb +31 -0
- data/lib/spec/interop/test/unit/autorunner.rb +6 -0
- data/lib/spec/interop/test/unit/testcase.rb +56 -0
- data/lib/spec/interop/test/unit/testresult.rb +6 -0
- data/lib/spec/interop/test/unit/testsuite_adapter.rb +36 -0
- data/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
- data/lib/spec/interop/test.rb +44 -0
- data/lib/spec/matchers/be.rb +183 -140
- data/lib/spec/matchers/be_close.rb +18 -23
- data/lib/spec/matchers/be_instance_of.rb +26 -0
- data/lib/spec/matchers/be_kind_of.rb +26 -0
- data/lib/spec/matchers/change.rb +72 -41
- data/lib/spec/matchers/compatibility.rb +14 -0
- data/lib/spec/matchers/dsl.rb +20 -0
- data/lib/spec/matchers/eql.rb +25 -26
- data/lib/spec/matchers/equal.rb +35 -25
- data/lib/spec/matchers/errors.rb +5 -0
- data/lib/spec/matchers/exist.rb +16 -0
- data/lib/spec/matchers/generated_descriptions.rb +36 -0
- data/lib/spec/matchers/has.rb +17 -26
- data/lib/spec/matchers/have.rb +36 -24
- data/lib/spec/matchers/include.rb +22 -48
- data/lib/spec/matchers/match.rb +11 -31
- data/lib/spec/matchers/match_array.rb +71 -0
- data/lib/spec/matchers/matcher.rb +132 -0
- data/lib/spec/matchers/method_missing.rb +9 -0
- data/lib/spec/matchers/operator_matcher.rb +55 -44
- data/lib/spec/matchers/pretty.rb +37 -0
- data/lib/spec/matchers/raise_exception.rb +131 -0
- data/lib/spec/matchers/respond_to.rb +35 -9
- data/lib/spec/matchers/satisfy.rb +2 -2
- data/lib/spec/matchers/simple_matcher.rb +134 -0
- data/lib/spec/matchers/throw_symbol.rb +56 -31
- data/lib/spec/matchers/wrap_expectation.rb +55 -0
- data/lib/spec/matchers.rb +104 -48
- data/lib/spec/mocks/argument_expectation.rb +28 -112
- data/lib/spec/mocks/argument_matchers.rb +237 -0
- data/lib/spec/mocks/error_generator.rb +20 -13
- data/lib/spec/mocks/errors.rb +1 -1
- data/lib/spec/mocks/example_methods.rb +69 -0
- data/lib/spec/mocks/extensions.rb +1 -0
- data/lib/spec/mocks/framework.rb +15 -0
- data/lib/spec/mocks/message_expectation.rb +206 -93
- data/lib/spec/mocks/methods.rb +66 -7
- data/lib/spec/mocks/mock.rb +53 -11
- data/lib/spec/mocks/proxy.rb +160 -55
- data/lib/spec/mocks/space.rb +2 -2
- data/lib/spec/mocks.rb +14 -23
- data/lib/spec/rake/spectask.rb +108 -53
- data/lib/spec/rake/verify_rcov.rb +4 -4
- data/lib/spec/ruby.rb +9 -0
- data/lib/spec/runner/backtrace_tweaker.rb +45 -23
- data/lib/spec/runner/class_and_arguments_parser.rb +14 -0
- data/lib/spec/runner/command_line.rb +7 -14
- data/lib/spec/runner/configuration.rb +202 -0
- data/lib/spec/runner/differs/default.rb +93 -0
- data/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
- data/lib/spec/runner/drb_command_line.rb +18 -7
- data/lib/spec/runner/example_group_runner.rb +58 -0
- data/lib/spec/runner/extensions/kernel.rb +5 -46
- data/lib/spec/runner/formatter/base_formatter.rb +97 -26
- data/lib/spec/runner/formatter/base_text_formatter.rb +79 -39
- data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
- data/lib/spec/runner/formatter/failing_examples_formatter.rb +6 -8
- data/lib/spec/runner/formatter/html_formatter.rb +101 -75
- data/lib/spec/runner/formatter/nested_text_formatter.rb +50 -0
- data/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
- data/lib/spec/runner/formatter/profile_formatter.rb +47 -0
- data/lib/spec/runner/formatter/progress_bar_formatter.rb +11 -8
- data/lib/spec/runner/formatter/silent_formatter.rb +10 -0
- data/lib/spec/runner/formatter/snippet_extractor.rb +2 -2
- data/lib/spec/runner/formatter/specdoc_formatter.rb +20 -15
- data/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
- data/lib/spec/runner/heckle_runner.rb +56 -56
- data/lib/spec/runner/{heckle_runner_win.rb → heckle_runner_unsupported.rb} +10 -10
- data/lib/spec/runner/line_number_query.rb +78 -0
- data/lib/spec/runner/option_parser.rb +147 -148
- data/lib/spec/runner/options.rb +343 -95
- data/lib/spec/runner/reporter.rb +117 -60
- data/lib/spec/runner.rb +39 -138
- data/lib/spec/stubs/cucumber.rb +5 -0
- data/lib/spec/test/unit.rb +10 -0
- data/lib/spec/version.rb +14 -22
- data/lib/spec.rb +5 -10
- data/resources/helpers/cmdline.rb +8 -0
- data/resources/rake/examples.rake +7 -0
- data/resources/rake/examples_with_rcov.rake +9 -0
- data/resources/rake/failing_examples_with_html.rake +9 -0
- data/resources/rake/verify_rcov.rake +7 -0
- data/spec/README.jruby +15 -0
- data/spec/autotest/autotest_helper.rb +8 -0
- data/spec/autotest/autotest_matchers.rb +38 -0
- data/spec/autotest/discover_spec.rb +8 -0
- data/spec/autotest/failed_results_re_spec.rb +31 -0
- data/spec/autotest/rspec_spec.rb +126 -0
- data/spec/ruby_forker.rb +13 -0
- data/spec/spec/dsl/main_spec.rb +103 -0
- data/spec/spec/example/example_group_class_definition_spec.rb +51 -0
- data/spec/spec/example/example_group_factory_spec.rb +180 -0
- data/spec/spec/example/example_group_methods_spec.rb +778 -0
- data/spec/spec/example/example_group_proxy_spec.rb +107 -0
- data/spec/spec/example/example_group_spec.rb +632 -0
- data/spec/spec/example/example_matcher_spec.rb +85 -0
- data/spec/spec/example/example_methods_spec.rb +162 -0
- data/spec/spec/example/example_proxy_spec.rb +57 -0
- data/spec/spec/example/helper_method_spec.rb +24 -0
- data/spec/spec/{dsl/behaviour_eval_spec.rb → example/nested_example_group_spec.rb} +25 -3
- data/spec/spec/example/pending_module_spec.rb +58 -0
- data/spec/spec/example/predicate_matcher_spec.rb +41 -0
- data/spec/spec/example/shared_example_group_spec.rb +257 -0
- data/spec/spec/example/subclassing_example_group_spec.rb +25 -0
- data/spec/spec/example/subject_spec.rb +110 -0
- data/spec/spec/expectations/differs/default_spec.rb +100 -13
- data/spec/spec/expectations/extensions/{object_spec.rb → kernel_spec.rb} +13 -14
- data/spec/spec/expectations/fail_with_spec.rb +42 -17
- data/spec/spec/expectations/handler_spec.rb +206 -0
- data/spec/spec/expectations/wrap_expectation_spec.rb +31 -0
- data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
- data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
- data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
- data/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
- data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
- data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
- data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
- data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
- data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
- data/spec/spec/interop/test/unit/spec_spec.rb +48 -0
- data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
- data/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
- data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
- data/spec/spec/matchers/be_close_spec.rb +32 -21
- data/spec/spec/matchers/be_instance_of_spec.rb +36 -0
- data/spec/spec/matchers/be_kind_of_spec.rb +33 -0
- data/spec/spec/matchers/be_spec.rb +261 -10
- data/spec/spec/matchers/change_spec.rb +178 -61
- data/spec/spec/matchers/compatibility_spec.rb +28 -0
- data/spec/spec/matchers/description_generation_spec.rb +47 -46
- data/spec/spec/matchers/dsl_spec.rb +34 -0
- data/spec/spec/matchers/eql_spec.rb +14 -9
- data/spec/spec/matchers/equal_spec.rb +43 -14
- data/spec/spec/matchers/exist_spec.rb +41 -24
- data/spec/spec/matchers/has_spec.rb +154 -1
- data/spec/spec/matchers/have_spec.rb +311 -189
- data/spec/spec/matchers/include_spec.rb +45 -2
- data/spec/spec/matchers/match_array_spec.rb +115 -0
- data/spec/spec/matchers/match_spec.rb +25 -5
- data/spec/spec/matchers/matcher_spec.rb +289 -0
- data/spec/spec/matchers/matchers_spec.rb +2 -0
- data/spec/spec/matchers/operator_matcher_spec.rb +48 -15
- data/spec/spec/matchers/raise_exception_spec.rb +345 -0
- data/spec/spec/matchers/respond_to_spec.rb +78 -16
- data/spec/spec/matchers/satisfy_spec.rb +1 -1
- data/spec/spec/matchers/simple_matcher_spec.rb +100 -0
- data/spec/spec/matchers/throw_symbol_spec.rb +111 -41
- data/spec/spec/mocks/and_yield_spec.rb +117 -0
- data/spec/spec/mocks/any_number_of_times_spec.rb +9 -2
- data/spec/spec/mocks/argument_expectation_spec.rb +19 -15
- data/spec/spec/mocks/argument_matchers_spec.rb +19 -0
- data/spec/spec/mocks/at_least_spec.rb +2 -2
- data/spec/spec/mocks/at_most_spec.rb +3 -3
- data/spec/spec/mocks/bug_report_10260_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
- data/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
- data/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
- data/spec/spec/mocks/bug_report_496_spec.rb +17 -0
- data/spec/spec/mocks/bug_report_600_spec.rb +22 -0
- data/spec/spec/mocks/bug_report_7611_spec.rb +2 -2
- data/spec/spec/mocks/bug_report_7805_spec.rb +2 -2
- data/spec/spec/mocks/bug_report_8165_spec.rb +4 -4
- data/spec/spec/mocks/bug_report_8302_spec.rb +2 -2
- data/spec/spec/mocks/bug_report_830_spec.rb +21 -0
- data/spec/spec/mocks/double_spec.rb +12 -0
- data/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
- data/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
- data/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
- data/spec/spec/mocks/mock_ordering_spec.rb +15 -5
- data/spec/spec/mocks/mock_space_spec.rb +1 -1
- data/spec/spec/mocks/mock_spec.rb +346 -129
- data/spec/spec/mocks/multiple_return_value_spec.rb +9 -9
- data/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
- data/spec/spec/mocks/null_object_mock_spec.rb +15 -1
- data/spec/spec/mocks/once_counts_spec.rb +2 -2
- data/spec/spec/mocks/options_hash_spec.rb +19 -17
- data/spec/spec/mocks/partial_mock_spec.rb +124 -12
- data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +2 -2
- data/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
- data/spec/spec/mocks/precise_counts_spec.rb +2 -2
- data/spec/spec/mocks/record_messages_spec.rb +2 -2
- data/spec/spec/mocks/stub_chain_spec.rb +42 -0
- data/spec/spec/mocks/stub_implementation_spec.rb +31 -0
- data/spec/spec/mocks/stub_spec.rb +147 -103
- data/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
- data/spec/spec/mocks/twice_counts_spec.rb +2 -2
- data/spec/spec/mocks/unstub_spec.rb +127 -0
- data/spec/spec/package/bin_spec_spec.rb +11 -7
- data/spec/spec/rake/spectask_spec.rb +150 -0
- data/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
- data/spec/spec/runner/command_line_spec.rb +158 -29
- data/spec/spec/runner/configuration_spec.rb +320 -0
- data/spec/spec/runner/drb_command_line_spec.rb +137 -72
- data/spec/spec/runner/empty_file.txt +0 -0
- data/spec/spec/runner/example_group_runner_spec.rb +26 -0
- data/spec/spec/runner/examples.txt +2 -0
- data/spec/spec/runner/failed.txt +3 -0
- data/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
- data/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
- data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
- data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +17 -12
- data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
- data/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
- data/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
- data/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
- data/spec/spec/runner/formatter/html_formatter_spec.rb +112 -52
- data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +329 -0
- data/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
- data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +87 -16
- data/spec/spec/runner/formatter/snippet_extractor_spec.rb +14 -7
- data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +153 -50
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
- data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
- data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
- data/spec/spec/runner/heckle_runner_spec.rb +32 -17
- data/spec/spec/runner/heckler_spec.rb +17 -11
- data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
- data/spec/spec/runner/line_number_query_spec.rb +129 -0
- data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +27 -21
- data/spec/spec/runner/option_parser_spec.rb +367 -164
- data/spec/spec/runner/options_spec.rb +506 -94
- data/spec/spec/runner/output_one_time_fixture.rb +7 -0
- data/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
- data/spec/spec/runner/output_one_time_spec.rb +15 -0
- data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +94 -27
- data/spec/spec/runner/reporter_spec.rb +212 -121
- 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 +1 -0
- data/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
- data/spec/spec/runner/resources/utf8_encoded.rb +8 -0
- data/spec/spec/runner/spec.opts +2 -0
- data/spec/spec/runner/spec_drb.opts +2 -0
- data/spec/spec/runner/spec_spaced.opts +2 -0
- data/spec/spec/runner_spec.rb +13 -0
- data/spec/spec.opts +6 -0
- data/spec/spec_helper.rb +87 -45
- data/spec/support/macros.rb +29 -0
- data/spec/{spec → support}/spec_classes.rb +26 -4
- metadata +461 -141
- data/CHANGES +0 -748
- data/EXAMPLES.rd +0 -108
- data/README +0 -70
- data/UPGRADE +0 -31
- data/bin/spec_translator +0 -8
- data/examples/auto_spec_description_example.rb +0 -19
- data/examples/before_and_after_example.rb +0 -39
- data/examples/behave_as_example.rb +0 -45
- data/examples/dynamic_spec.rb +0 -9
- data/examples/helper_method_example.rb +0 -11
- data/examples/legacy_spec.rb +0 -10
- data/examples/not_yet_implemented_spec.rb +0 -12
- data/examples/priority.txt +0 -1
- data/examples/spec_helper.rb +0 -1
- data/examples/test_case_adapter_example.rb +0 -26
- data/examples/test_case_spec.rb +0 -65
- data/lib/spec/dsl/behaviour.rb +0 -204
- data/lib/spec/dsl/behaviour_callbacks.rb +0 -77
- data/lib/spec/dsl/behaviour_eval.rb +0 -177
- data/lib/spec/dsl/behaviour_factory.rb +0 -42
- data/lib/spec/dsl/composite_proc_builder.rb +0 -28
- data/lib/spec/dsl/configuration.rb +0 -119
- data/lib/spec/dsl/description.rb +0 -46
- data/lib/spec/dsl/example.rb +0 -127
- data/lib/spec/dsl/example_matcher.rb +0 -28
- data/lib/spec/dsl/example_should_raise_handler.rb +0 -74
- data/lib/spec/expectations/differs/default.rb +0 -61
- data/lib/spec/expectations/extensions/object.rb +0 -66
- data/lib/spec/expectations/extensions/string_and_symbol.rb +0 -17
- data/lib/spec/extensions/object.rb +0 -6
- data/lib/spec/extensions.rb +0 -1
- data/lib/spec/matchers/raise_error.rb +0 -100
- data/lib/spec/mocks/argument_constraint_matchers.rb +0 -12
- data/lib/spec/mocks/spec_methods.rb +0 -30
- data/lib/spec/runner/behaviour_runner.rb +0 -102
- data/lib/spec/runner/extensions/object.rb +0 -32
- data/lib/spec/runner/formatter/failing_behaviours_formatter.rb +0 -25
- data/lib/spec/runner/formatter/rdoc_formatter.rb +0 -24
- data/lib/spec/runner/formatter.rb +0 -9
- data/lib/spec/runner/spec_parser.rb +0 -50
- data/lib/spec/test_case_adapter.rb +0 -10
- data/lib/spec/translator.rb +0 -106
- data/plugins/mock_frameworks/flexmock.rb +0 -27
- data/plugins/mock_frameworks/rspec.rb +0 -18
- data/spec/spec/dsl/behaviour_factory_spec.rb +0 -30
- data/spec/spec/dsl/behaviour_spec.rb +0 -604
- data/spec/spec/dsl/composite_proc_builder_spec.rb +0 -57
- data/spec/spec/dsl/configuration_spec.rb +0 -50
- data/spec/spec/dsl/description_spec.rb +0 -81
- data/spec/spec/dsl/example_class_spec.rb +0 -24
- data/spec/spec/dsl/example_instance_spec.rb +0 -162
- data/spec/spec/dsl/example_should_raise_spec.rb +0 -137
- data/spec/spec/dsl/predicate_matcher_spec.rb +0 -21
- data/spec/spec/dsl/shared_behaviour_spec.rb +0 -208
- data/spec/spec/matchers/handler_spec.rb +0 -88
- data/spec/spec/matchers/matcher_methods_spec.rb +0 -78
- data/spec/spec/matchers/raise_error_spec.rb +0 -147
- data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +0 -73
- data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +0 -92
- data/spec/spec/runner/behaviour_runner_spec.rb +0 -118
- data/spec/spec/runner/context_matching_spec.rb +0 -27
- data/spec/spec/runner/execution_context_spec.rb +0 -31
- data/spec/spec/runner/extensions/kernel_spec.rb +0 -36
- data/spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb +0 -27
- data/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +0 -21
- data/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +0 -36
- data/spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb +0 -19
- data/spec/spec/runner/formatter/rdoc_formatter_spec.rb +0 -46
- data/spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb +0 -21
- data/spec/spec/runner/object_ext_spec.rb +0 -11
- data/spec/spec/runner/spec_matcher_spec.rb +0 -102
- data/spec/spec/runner/spec_parser_spec.rb +0 -93
- data/spec/spec/translator_spec.rb +0 -216
- /data/examples/{custom_expectation_matchers.rb → passing/custom_matchers.rb} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'spec_helper'
|
|
2
2
|
|
|
3
|
-
describe
|
|
3
|
+
describe Spec::Expectations, "#fail_with with no diff" do
|
|
4
4
|
before(:each) do
|
|
5
5
|
@old_differ = Spec::Expectations.differ
|
|
6
6
|
Spec::Expectations.differ = nil
|
|
@@ -12,18 +12,25 @@ describe "Spec::Expectations.fail_with with no diff" do
|
|
|
12
12
|
}.should fail_with("the message")
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
it "should handle an Array" do
|
|
16
|
-
lambda {
|
|
17
|
-
Spec::Expectations.fail_with ["the message","expected","actual"]
|
|
18
|
-
}.should fail_with("the message")
|
|
19
|
-
end
|
|
20
|
-
|
|
21
15
|
after(:each) do
|
|
22
16
|
Spec::Expectations.differ = @old_differ
|
|
23
17
|
end
|
|
24
18
|
end
|
|
25
19
|
|
|
26
|
-
describe
|
|
20
|
+
describe Spec::Expectations, "#fail_with with Array" do
|
|
21
|
+
before(:each) do
|
|
22
|
+
Spec.stub!(:warn)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it "is deprecated" do
|
|
26
|
+
Spec.should_receive(:warn)
|
|
27
|
+
lambda {
|
|
28
|
+
Spec::Expectations.fail_with ["message", "expected", "actual"]
|
|
29
|
+
}.should raise_error
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
describe Spec::Expectations, "#fail_with with diff" do
|
|
27
34
|
before(:each) do
|
|
28
35
|
@old_differ = Spec::Expectations.differ
|
|
29
36
|
@differ = mock("differ")
|
|
@@ -40,31 +47,49 @@ describe "Spec::Expectations.fail_with with diff" do
|
|
|
40
47
|
@differ.should_receive(:diff_as_string).and_return("diff")
|
|
41
48
|
lambda {
|
|
42
49
|
Spec::Expectations.fail_with "the message", "expected", "actual"
|
|
43
|
-
}.should fail_with("the message\
|
|
50
|
+
}.should fail_with("the message\n\n Diff:diff")
|
|
44
51
|
end
|
|
45
52
|
|
|
46
53
|
it "should call differ if expected/actual are not strings" do
|
|
47
54
|
@differ.should_receive(:diff_as_object).and_return("diff")
|
|
48
55
|
lambda {
|
|
49
56
|
Spec::Expectations.fail_with "the message", :expected, :actual
|
|
50
|
-
}.should fail_with("the message\
|
|
57
|
+
}.should fail_with("the message\n\n Diff:diff")
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it "should call differ if expected/actual are both hashes" do
|
|
61
|
+
@differ.should_receive(:diff_as_hash).and_return("diff")
|
|
62
|
+
lambda {
|
|
63
|
+
Spec::Expectations.fail_with "the message", {:a => :b}, {:a => 'b'}
|
|
64
|
+
}.should fail_with("the message\n\n Diff:diff")
|
|
51
65
|
end
|
|
52
66
|
|
|
53
67
|
it "should not call differ if expected or actual are procs" do
|
|
54
68
|
@differ.should_not_receive(:diff_as_string)
|
|
55
69
|
@differ.should_not_receive(:diff_as_object)
|
|
70
|
+
@differ.should_not_receive(:diff_as_hash)
|
|
56
71
|
lambda {
|
|
57
72
|
Spec::Expectations.fail_with "the message", lambda {}, lambda {}
|
|
58
73
|
}.should fail_with("the message")
|
|
59
74
|
end
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
@
|
|
75
|
+
|
|
76
|
+
after(:each) do
|
|
77
|
+
Spec::Expectations.differ = @old_differ
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
describe Spec::Expectations, "#fail_with with a nil message" do
|
|
82
|
+
before(:each) do
|
|
83
|
+
@old_differ = Spec::Expectations.differ
|
|
84
|
+
Spec::Expectations.differ = nil
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
it "should handle just a message" do
|
|
63
88
|
lambda {
|
|
64
|
-
Spec::Expectations.fail_with
|
|
65
|
-
}.should
|
|
89
|
+
Spec::Expectations.fail_with nil
|
|
90
|
+
}.should raise_error(ArgumentError, /Failure message is nil\. Does your matcher define the appropriate failure_message_for_\* method to return a string\?/)
|
|
66
91
|
end
|
|
67
|
-
|
|
92
|
+
|
|
68
93
|
after(:each) do
|
|
69
94
|
Spec::Expectations.differ = @old_differ
|
|
70
95
|
end
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
module ExampleExpectations
|
|
4
|
+
|
|
5
|
+
class ArbitraryMatcher
|
|
6
|
+
def initialize(*args, &block)
|
|
7
|
+
if args.last.is_a? Hash
|
|
8
|
+
@expected = args.last[:expected]
|
|
9
|
+
end
|
|
10
|
+
@expected = block.call if block
|
|
11
|
+
@block = block
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def matches?(target)
|
|
15
|
+
@target = target
|
|
16
|
+
return @expected == target
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def with(new_value)
|
|
20
|
+
@expected = new_value
|
|
21
|
+
self
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def failure_message
|
|
25
|
+
"expected #{@expected}, got #{@target}"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def negative_failure_message
|
|
29
|
+
"expected not #{@expected}, got #{@target}"
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
class PositiveOnlyMatcher < ArbitraryMatcher
|
|
34
|
+
undef negative_failure_message rescue nil
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def arbitrary_matcher(*args, &block)
|
|
38
|
+
ArbitraryMatcher.new(*args, &block)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def positive_only_matcher(*args, &block)
|
|
42
|
+
PositiveOnlyMatcher.new(*args, &block)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
module Spec
|
|
48
|
+
module Expectations
|
|
49
|
+
describe PositiveExpectationHandler do
|
|
50
|
+
describe "#handle_matcher" do
|
|
51
|
+
it "asks the matcher if it matches" do
|
|
52
|
+
matcher = mock("matcher")
|
|
53
|
+
actual = Object.new
|
|
54
|
+
matcher.should_receive(:matches?).with(actual).and_return(true)
|
|
55
|
+
Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
it "returns the match value" do
|
|
59
|
+
matcher = mock("matcher")
|
|
60
|
+
actual = Object.new
|
|
61
|
+
matcher.should_receive(:matches?).with(actual).and_return(:this_value)
|
|
62
|
+
Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher).should == :this_value
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it "calls failure_message_for_should if the matcher implements it" do
|
|
66
|
+
matcher = mock("matcher", :failure_message_for_should => "message", :matches? => false)
|
|
67
|
+
actual = Object.new
|
|
68
|
+
|
|
69
|
+
::Spec::Expectations.should_receive(:fail_with).with("message")
|
|
70
|
+
|
|
71
|
+
Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
it "calls fail if matcher.diffable?" do
|
|
75
|
+
matcher = mock("matcher",
|
|
76
|
+
:diffable? => true,
|
|
77
|
+
:failure_message_for_should => "message",
|
|
78
|
+
:matches? => false,
|
|
79
|
+
:expected => [1],
|
|
80
|
+
:actual => 2
|
|
81
|
+
)
|
|
82
|
+
actual = Object.new
|
|
83
|
+
|
|
84
|
+
::Spec::Expectations.should_receive(:fail_with).with("message", 1, 2)
|
|
85
|
+
|
|
86
|
+
Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
it "calls failure_message if the matcher does not implement failure_message_for_should" do
|
|
90
|
+
matcher = mock("matcher", :failure_message => "message", :matches? => false)
|
|
91
|
+
actual = Object.new
|
|
92
|
+
|
|
93
|
+
::Spec::Expectations.should_receive(:fail_with).with("message")
|
|
94
|
+
|
|
95
|
+
Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher)
|
|
96
|
+
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
it "appends the :or message in the options hash passed to should" do
|
|
100
|
+
matcher = mock("matcher", :failure_message_for_should => "message", :matches? => false)
|
|
101
|
+
actual = Object.new
|
|
102
|
+
|
|
103
|
+
::Spec::Expectations.should_receive(:fail_with).with("custom")
|
|
104
|
+
|
|
105
|
+
Spec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher, "custom")
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
describe NegativeExpectationHandler do
|
|
111
|
+
describe "#handle_matcher" do
|
|
112
|
+
it "asks the matcher if it doesn't match when the matcher responds to #does_not_match?" do
|
|
113
|
+
matcher = mock("matcher", :does_not_match? => true, :negative_failure_message => nil)
|
|
114
|
+
actual = Object.new
|
|
115
|
+
matcher.should_receive(:does_not_match?).with(actual).and_return(true)
|
|
116
|
+
Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
it "asks the matcher if it matches when the matcher doesn't respond to #does_not_match?" do
|
|
120
|
+
matcher = mock("matcher")
|
|
121
|
+
actual = Object.new
|
|
122
|
+
matcher.stub!(:negative_failure_message)
|
|
123
|
+
matcher.should_receive(:matches?).with(actual).and_return(false)
|
|
124
|
+
Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
it "returns the match value" do
|
|
128
|
+
matcher = mock("matcher")
|
|
129
|
+
actual = Object.new
|
|
130
|
+
matcher.should_receive(:matches?).with(actual).and_return(false)
|
|
131
|
+
matcher.stub!(:negative_failure_message).and_return("ignore")
|
|
132
|
+
Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher).should be_false
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
it "calls failure_message_for_should_not if the matcher implements it" do
|
|
137
|
+
matcher = mock("matcher", :failure_message_for_should_not => "message", :matches? => true)
|
|
138
|
+
actual = Object.new
|
|
139
|
+
|
|
140
|
+
::Spec::Expectations.should_receive(:fail_with).with("message")
|
|
141
|
+
|
|
142
|
+
Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher)
|
|
143
|
+
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
it "calls negative_failure_message if the matcher does not implement failure_message_for_should_not" do
|
|
147
|
+
matcher = mock("matcher", :negative_failure_message => "message", :matches? => true)
|
|
148
|
+
actual = Object.new
|
|
149
|
+
|
|
150
|
+
::Spec::Expectations.should_receive(:fail_with).with("message")
|
|
151
|
+
|
|
152
|
+
Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher)
|
|
153
|
+
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
it "calls fail if matcher.diffable?" do
|
|
158
|
+
matcher = mock("matcher",
|
|
159
|
+
:diffable? => true,
|
|
160
|
+
:failure_message_for_should_not => "message",
|
|
161
|
+
:matches? => true,
|
|
162
|
+
:expected => [1],
|
|
163
|
+
:actual => 2
|
|
164
|
+
)
|
|
165
|
+
actual = Object.new
|
|
166
|
+
|
|
167
|
+
::Spec::Expectations.should_receive(:fail_with).with("message", 1, 2)
|
|
168
|
+
|
|
169
|
+
Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher)
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
it "appends the :or message in the options hash passed to should" do
|
|
173
|
+
matcher = mock("matcher", :failure_message_for_should_not => "message", :matches? => true)
|
|
174
|
+
actual = Object.new
|
|
175
|
+
|
|
176
|
+
::Spec::Expectations.should_receive(:fail_with).with("custom")
|
|
177
|
+
|
|
178
|
+
Spec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher, "custom")
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
describe PositiveExpectationHandler do
|
|
185
|
+
include ExampleExpectations
|
|
186
|
+
|
|
187
|
+
it "should handle submitted args" do
|
|
188
|
+
5.should arbitrary_matcher(:expected => 5)
|
|
189
|
+
5.should arbitrary_matcher(:expected => "wrong").with(5)
|
|
190
|
+
lambda { 5.should arbitrary_matcher(:expected => 4) }.should fail_with("expected 4, got 5")
|
|
191
|
+
lambda { 5.should arbitrary_matcher(:expected => 5).with(4) }.should fail_with("expected 4, got 5")
|
|
192
|
+
5.should_not arbitrary_matcher(:expected => 4)
|
|
193
|
+
5.should_not arbitrary_matcher(:expected => 5).with(4)
|
|
194
|
+
lambda { 5.should_not arbitrary_matcher(:expected => 5) }.should fail_with("expected not 5, got 5")
|
|
195
|
+
lambda { 5.should_not arbitrary_matcher(:expected => 4).with(5) }.should fail_with("expected not 5, got 5")
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
it "should handle the submitted block" do
|
|
199
|
+
5.should arbitrary_matcher { 5 }
|
|
200
|
+
5.should arbitrary_matcher(:expected => 4) { 5 }
|
|
201
|
+
5.should arbitrary_matcher(:expected => 4).with(5) { 3 }
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
module Spec
|
|
4
|
+
module Matchers
|
|
5
|
+
describe "wrap_expectation" do
|
|
6
|
+
before { Spec.stub(:deprecate) }
|
|
7
|
+
|
|
8
|
+
def stub_matcher
|
|
9
|
+
@_stub_matcher ||= simple_matcher do
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def failing_matcher
|
|
14
|
+
@_failing_matcher ||= simple_matcher do
|
|
15
|
+
1.should == 2
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it "should return true if there is no error" do
|
|
20
|
+
wrap_expectation stub_matcher do
|
|
21
|
+
end.should be_true
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "should return false if there is an error" do
|
|
25
|
+
wrap_expectation failing_matcher do
|
|
26
|
+
raise "error"
|
|
27
|
+
end.should be_false
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
|
|
2
|
+
$:.unshift rspec_lib unless $:.include?(rspec_lib)
|
|
3
|
+
require 'spec/autorun'
|
|
4
|
+
require 'spec/test/unit'
|
|
5
|
+
|
|
6
|
+
describe "example group with failures" do
|
|
7
|
+
it "should fail" do
|
|
8
|
+
false.should be_true
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
|
|
2
|
+
$:.unshift rspec_lib unless $:.include?(rspec_lib)
|
|
3
|
+
require 'spec/autorun'
|
|
4
|
+
require 'spec/test/unit'
|
|
5
|
+
|
|
6
|
+
describe "example group with passing examples" do
|
|
7
|
+
it "should pass" do
|
|
8
|
+
true.should be_true
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
|
|
2
|
+
$:.unshift rspec_lib unless $:.include?(rspec_lib)
|
|
3
|
+
require 'spec/autorun'
|
|
4
|
+
require 'spec/test/unit'
|
|
5
|
+
|
|
6
|
+
describe "example group with errors" do
|
|
7
|
+
it "should raise errors" do
|
|
8
|
+
raise "error raised in example group with errors"
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
|
|
2
|
+
$:.unshift rspec_lib unless $:.include?(rspec_lib)
|
|
3
|
+
require 'spec/autorun'
|
|
4
|
+
require 'spec/test/unit'
|
|
5
|
+
|
|
6
|
+
describe "options hash" do
|
|
7
|
+
describe "#options" do
|
|
8
|
+
it "should expose the options hash" do
|
|
9
|
+
group = describe("group", :this => 'hash') {}
|
|
10
|
+
group.options[:this].should == 'hash'
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
|
|
2
|
+
$:.unshift rspec_lib unless $:.include?(rspec_lib)
|
|
3
|
+
require 'spec/autorun'
|
|
4
|
+
require 'spec/test/unit'
|
|
5
|
+
|
|
6
|
+
class TestCaseThatFails < Test::Unit::TestCase
|
|
7
|
+
def test_that_fails
|
|
8
|
+
false.should be_true
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
|
|
2
|
+
$:.unshift rspec_lib unless $:.include?(rspec_lib)
|
|
3
|
+
require 'spec/autorun'
|
|
4
|
+
require 'spec/test/unit'
|
|
5
|
+
|
|
6
|
+
class TestCaseThatPasses < Test::Unit::TestCase
|
|
7
|
+
def test_that_passes
|
|
8
|
+
true.should be_true
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
|
|
2
|
+
$:.unshift rspec_lib unless $:.include?(rspec_lib)
|
|
3
|
+
require 'spec/autorun'
|
|
4
|
+
require 'spec/test/unit'
|
|
5
|
+
|
|
6
|
+
class TestCaseWithErrors < Test::Unit::TestCase
|
|
7
|
+
def test_with_error
|
|
8
|
+
raise "error raised in TestCaseWithErrors"
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
|
|
2
|
+
$:.unshift rspec_lib unless $:.include?(rspec_lib)
|
|
3
|
+
require 'spec/autorun'
|
|
4
|
+
require 'spec/test/unit'
|
|
5
|
+
|
|
6
|
+
class TestCaseThatPasses < Test::Unit::TestCase
|
|
7
|
+
def test_should_allow_underscore
|
|
8
|
+
assert true
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def testShouldAllowUppercaseLetter
|
|
12
|
+
assert true
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def testshouldallowlowercaseletter
|
|
16
|
+
assert true
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
define_method :"test: should allow punctuation" do
|
|
20
|
+
assert true
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
|
|
2
|
+
$:.unshift rspec_lib unless $:.include?(rspec_lib)
|
|
3
|
+
require 'spec/autorun'
|
|
4
|
+
require 'spec/test/unit'
|
|
5
|
+
|
|
6
|
+
module Test
|
|
7
|
+
module Unit
|
|
8
|
+
describe TestSuiteAdapter do
|
|
9
|
+
def create_adapter(group)
|
|
10
|
+
TestSuiteAdapter.new(group)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
describe "#size" do
|
|
14
|
+
it "should return the number of examples in the example group" do
|
|
15
|
+
group = Class.new(Spec::ExampleGroup) do
|
|
16
|
+
describe("some examples")
|
|
17
|
+
it("bar") {}
|
|
18
|
+
it("baz") {}
|
|
19
|
+
end
|
|
20
|
+
adapter = create_adapter(group)
|
|
21
|
+
adapter.size.should == 2
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
describe "#delete" do
|
|
26
|
+
it "should do nothing" do
|
|
27
|
+
group = Class.new(Spec::ExampleGroup) do
|
|
28
|
+
describe("Some Examples")
|
|
29
|
+
it("does something") {}
|
|
30
|
+
end
|
|
31
|
+
adapter = create_adapter(group)
|
|
32
|
+
adapter.delete(adapter.examples.first)
|
|
33
|
+
adapter.should be_empty
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
require 'spec/interop/test/unit/test_unit_spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "ExampleGroup with test/unit/interop" do
|
|
4
|
+
include TestUnitSpecHelper
|
|
5
|
+
|
|
6
|
+
describe "with passing examples" do
|
|
7
|
+
it "should output 0 failures" do
|
|
8
|
+
output = ruby("'#{resources}/spec_that_passes.rb'")
|
|
9
|
+
output.should include("1 example, 0 failures")
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it "should return an exit code of 0" do
|
|
13
|
+
ruby("'#{resources}/spec_that_passes.rb'")
|
|
14
|
+
$?.should == 0
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
describe "with failing examples" do
|
|
19
|
+
it "should output 1 failure" do
|
|
20
|
+
output = ruby("'#{resources}/spec_that_fails.rb'")
|
|
21
|
+
output.should include("1 example, 1 failure")
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "should return an exit code of 256" do
|
|
25
|
+
ruby("'#{resources}/spec_that_fails.rb'")
|
|
26
|
+
$?.should == 256
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe "with example that raises an error" do
|
|
31
|
+
it "should output 1 failure" do
|
|
32
|
+
output = ruby("'#{resources}/spec_with_errors.rb'")
|
|
33
|
+
output.should include("1 example, 1 failure")
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it "should return an exit code of 256" do
|
|
37
|
+
ruby("'#{resources}/spec_with_errors.rb'")
|
|
38
|
+
$?.should == 256
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe "options hash" do
|
|
43
|
+
it "should be exposed" do
|
|
44
|
+
output = ruby("'#{resources}/spec_with_options_hash.rb'")
|
|
45
|
+
output.should include("1 example, 0 failures")
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'ruby_forker'
|
|
3
|
+
|
|
4
|
+
module TestUnitSpecHelper
|
|
5
|
+
include RubyForker
|
|
6
|
+
|
|
7
|
+
def resources
|
|
8
|
+
File.dirname(__FILE__) + "/resources"
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def run_script(file_name)
|
|
12
|
+
output = ruby(file_name)
|
|
13
|
+
if !$?.success? || output.include?("FAILED") || output.include?("Error")
|
|
14
|
+
raise output
|
|
15
|
+
end
|
|
16
|
+
output
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require 'spec/interop/test/unit/test_unit_spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Test::Unit::TestCase" do
|
|
4
|
+
include TestUnitSpecHelper
|
|
5
|
+
|
|
6
|
+
before(:each) do
|
|
7
|
+
@dir = File.dirname(__FILE__) + "/resources"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
describe "with passing test case" do
|
|
11
|
+
it "should output 0 failures" do
|
|
12
|
+
output = ruby("'#{@dir}/test_case_that_passes.rb'")
|
|
13
|
+
output.should include("1 example, 0 failures")
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "should return an exit code of 0" do
|
|
17
|
+
ruby("'#{@dir}/test_case_that_passes.rb'")
|
|
18
|
+
$?.should == 0
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
describe "with failing test case" do
|
|
23
|
+
it "should output 1 failure" do
|
|
24
|
+
output = ruby("'#{@dir}/test_case_that_fails.rb'")
|
|
25
|
+
output.should include("1 example, 1 failure")
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "should return an exit code of 256" do
|
|
29
|
+
ruby("'#{@dir}/test_case_that_fails.rb'")
|
|
30
|
+
$?.should == 256
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe "with test case that raises an error" do
|
|
35
|
+
it "should output 1 failure" do
|
|
36
|
+
output = ruby("'#{@dir}/test_case_with_errors.rb'")
|
|
37
|
+
output.should include("1 example, 1 failure")
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it "should return an exit code of 256" do
|
|
41
|
+
ruby("'#{@dir}/test_case_with_errors.rb'")
|
|
42
|
+
$?.should == 256
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it "should find all Test::Unit test methods" do
|
|
47
|
+
output = ruby("'#{@dir}/test_case_with_various_names.rb'")
|
|
48
|
+
output.should include("4 examples, 0 failures")
|
|
49
|
+
end
|
|
50
|
+
end
|