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,27 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
module Spec
|
|
4
|
-
module Runner
|
|
5
|
-
module Formatter
|
|
6
|
-
describe "FailingBehavioursFormatter" do
|
|
7
|
-
before(:each) do
|
|
8
|
-
@io = StringIO.new
|
|
9
|
-
@formatter = FailingBehavioursFormatter.new(@io)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
it "should add example name for each failure" do
|
|
13
|
-
@formatter.add_behaviour("b 1")
|
|
14
|
-
@formatter.example_failed("e 1", nil, Reporter::Failure.new(nil, RuntimeError.new))
|
|
15
|
-
@formatter.add_behaviour("b 2")
|
|
16
|
-
@formatter.example_failed("e 2", nil, Reporter::Failure.new(nil, RuntimeError.new))
|
|
17
|
-
@formatter.example_failed("e 3", nil, Reporter::Failure.new(nil, RuntimeError.new))
|
|
18
|
-
@io.string.should eql(<<-EOF
|
|
19
|
-
b 1
|
|
20
|
-
b 2
|
|
21
|
-
EOF
|
|
22
|
-
)
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
module Spec
|
|
4
|
-
module Runner
|
|
5
|
-
module Formatter
|
|
6
|
-
describe "ProgressBarFormatterDryRun" do
|
|
7
|
-
before(:each) do
|
|
8
|
-
@io = StringIO.new
|
|
9
|
-
@formatter = ProgressBarFormatter.new(@io)
|
|
10
|
-
@formatter.dry_run = true
|
|
11
|
-
end
|
|
12
|
-
it "should not produce summary on dry run" do
|
|
13
|
-
@formatter.dump_summary(3, 2, 1, 0)
|
|
14
|
-
@io.string.should eql("")
|
|
15
|
-
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
module Spec
|
|
4
|
-
module Runner
|
|
5
|
-
module Formatter
|
|
6
|
-
describe "ProgressBarFormatter failure dump with NoisyBacktraceTweaker" do
|
|
7
|
-
before(:each) do
|
|
8
|
-
@io = StringIO.new
|
|
9
|
-
@reporter = Reporter.new([ProgressBarFormatter.new(@io)], NoisyBacktraceTweaker.new)
|
|
10
|
-
@reporter.add_behaviour("context")
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
it "should end with line break" do
|
|
14
|
-
error=Spec::Expectations::ExpectationNotMetError.new("message")
|
|
15
|
-
set_backtrace(error)
|
|
16
|
-
@reporter.example_finished("spec", error, "spec")
|
|
17
|
-
@reporter.dump
|
|
18
|
-
@io.string.should match(/\n\z/)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it "should include context and spec name in backtrace if error in spec" do
|
|
22
|
-
error=RuntimeError.new("message")
|
|
23
|
-
set_backtrace(error)
|
|
24
|
-
@reporter.example_finished("spec", error, "spec")
|
|
25
|
-
@reporter.dump
|
|
26
|
-
@io.string.should match(/RuntimeError in 'context spec'/)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def set_backtrace(error)
|
|
30
|
-
error.set_backtrace(["/a/b/c/d/e.rb:34:in `whatever'"])
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
module Spec
|
|
4
|
-
module Runner
|
|
5
|
-
module Formatter
|
|
6
|
-
describe "RdocFormatterDryRun" do
|
|
7
|
-
before(:each) do
|
|
8
|
-
@io = StringIO.new
|
|
9
|
-
@formatter = RdocFormatter.new(@io)
|
|
10
|
-
@formatter.dry_run = true
|
|
11
|
-
end
|
|
12
|
-
it "should not produce summary on dry run" do
|
|
13
|
-
@formatter.dump_summary(3, 2, 1, 0)
|
|
14
|
-
@io.string.should == ""
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
module Spec
|
|
4
|
-
module Runner
|
|
5
|
-
module Formatter
|
|
6
|
-
describe "RdocFormatter" do
|
|
7
|
-
before(:each) do
|
|
8
|
-
@io = StringIO.new
|
|
9
|
-
@formatter = RdocFormatter.new(@io)
|
|
10
|
-
@formatter.dry_run = true
|
|
11
|
-
end
|
|
12
|
-
it "should produce no summary" do
|
|
13
|
-
@formatter.dump_summary(nil, nil, nil, nil)
|
|
14
|
-
@io.string.should be_empty
|
|
15
|
-
|
|
16
|
-
end
|
|
17
|
-
it "should produce nothing on start dump" do
|
|
18
|
-
@formatter.start_dump
|
|
19
|
-
@io.string.should be_empty
|
|
20
|
-
|
|
21
|
-
end
|
|
22
|
-
it "should push out context" do
|
|
23
|
-
@formatter.add_behaviour("context")
|
|
24
|
-
@io.string.should eql("# context\n")
|
|
25
|
-
|
|
26
|
-
end
|
|
27
|
-
it "should push out failed spec" do
|
|
28
|
-
@formatter.example_failed("spec", 98, nil)
|
|
29
|
-
@io.string.should eql("# * spec [98 - FAILED]\n")
|
|
30
|
-
|
|
31
|
-
end
|
|
32
|
-
it "should push out spec" do
|
|
33
|
-
@formatter.example_passed("spec")
|
|
34
|
-
@io.string.should eql("# * spec\n")
|
|
35
|
-
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
it "should push out not implemented spec" do
|
|
39
|
-
@formatter.example_not_implemented("spec")
|
|
40
|
-
@io.string.should eql("# * spec [NOT IMPLEMENTED]\n")
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
module Spec
|
|
4
|
-
module Runner
|
|
5
|
-
module Formatter
|
|
6
|
-
describe "SpecdocFormatterDryRun" do
|
|
7
|
-
before(:each) do
|
|
8
|
-
@io = StringIO.new
|
|
9
|
-
@formatter = SpecdocFormatter.new(@io)
|
|
10
|
-
@formatter.dry_run = true
|
|
11
|
-
end
|
|
12
|
-
it "should not produce summary on dry run" do
|
|
13
|
-
@formatter.dump_summary(3, 2, 1, 0)
|
|
14
|
-
@io.string.should eql("")
|
|
15
|
-
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
module Spec
|
|
4
|
-
module Runner
|
|
5
|
-
describe "ObjectExt" do
|
|
6
|
-
it "should add copy_instance_variables_from to object" do
|
|
7
|
-
Object.new.should respond_to(:copy_instance_variables_from)
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
module Spec
|
|
4
|
-
module DSL
|
|
5
|
-
module ExampleMatcherSpecHelper
|
|
6
|
-
class MatchDescription
|
|
7
|
-
def initialize(description)
|
|
8
|
-
@description = description
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def matches?(matcher)
|
|
12
|
-
matcher.matches?(@description)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def failure_message
|
|
16
|
-
"expected matcher.matches?(#{@description.inspect}) to return true, got false"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def negative_failure_message
|
|
20
|
-
"expected matcher.matches?(#{@description.inspect}) to return false, got true"
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
def match_description(description)
|
|
24
|
-
MatchDescription.new(description)
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
describe ExampleMatcher do
|
|
29
|
-
include ExampleMatcherSpecHelper
|
|
30
|
-
|
|
31
|
-
it "should match correct behaviour and example" do
|
|
32
|
-
matcher=ExampleMatcher.new("behaviour", "example")
|
|
33
|
-
matcher.should match_description("behaviour example")
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
it "should not match wrong example" do
|
|
37
|
-
matcher=ExampleMatcher.new("behaviour", "other example")
|
|
38
|
-
matcher.should_not match_description("behaviour example")
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
it "should not match wrong behaviour" do
|
|
42
|
-
matcher=ExampleMatcher.new("other behaviour", "example")
|
|
43
|
-
matcher.should_not match_description("behaviour example")
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
it "should match example only" do
|
|
47
|
-
matcher=ExampleMatcher.new("behaviour", "example")
|
|
48
|
-
matcher.should match_description("example")
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
it "should match behaviour only" do
|
|
52
|
-
matcher=ExampleMatcher.new("behaviour", "example")
|
|
53
|
-
matcher.should match_description("behaviour")
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
it "should escape regexp chars" do
|
|
57
|
-
matcher=ExampleMatcher.new("(con|text)", "[example]")
|
|
58
|
-
matcher.should_not match_description("con p")
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
it "should match when behaviour is modularized" do
|
|
62
|
-
matcher=ExampleMatcher.new("MyModule::MyClass", "example")
|
|
63
|
-
matcher.should match_description("MyClass example")
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
# it "should match with regexp reserved (characters) in the example" do
|
|
67
|
-
# matcher=ExampleMatcher.new("with ([#]) an example", "a context")
|
|
68
|
-
# matcher.should match_description("a context")
|
|
69
|
-
# matcher.should match_description("with ([#]) an example")
|
|
70
|
-
# matcher.should match_description("a context with ([#]) an example")
|
|
71
|
-
# end
|
|
72
|
-
#
|
|
73
|
-
# it "should match with regexp reserved (characters) in the context" do
|
|
74
|
-
# matcher=ExampleMatcher.new("with an example", "a ([#]) context")
|
|
75
|
-
# matcher.should match_description("a ([#]) context with an example")
|
|
76
|
-
# matcher.should match_description("a ([#]) context with an example")
|
|
77
|
-
# matcher.should match_description("a ([#]) context with an example")
|
|
78
|
-
# end
|
|
79
|
-
|
|
80
|
-
# it "should not match wrong example only" do
|
|
81
|
-
# matcher=ExampleMatcher.new("with another example", "a context")
|
|
82
|
-
# matcher.should_not match_description("with an example")
|
|
83
|
-
# end
|
|
84
|
-
#
|
|
85
|
-
# it "should not match wrong context" do
|
|
86
|
-
# matcher=ExampleMatcher.new("another context with an example", "a context")
|
|
87
|
-
# matcher.should_not match_description("with an example")
|
|
88
|
-
# end
|
|
89
|
-
#
|
|
90
|
-
# it "should not match wrong context only" do
|
|
91
|
-
# matcher=ExampleMatcher.new("another context", "a context")
|
|
92
|
-
# matcher.should_not match_description("with an example")
|
|
93
|
-
# end
|
|
94
|
-
#
|
|
95
|
-
# it "should not match wrong example" do
|
|
96
|
-
# matcher=ExampleMatcher.new("a context with another example", "a context")
|
|
97
|
-
# matcher.should_not match_description("with an example")
|
|
98
|
-
# end
|
|
99
|
-
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
end
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
describe "c" do
|
|
4
|
-
|
|
5
|
-
it "1" do
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
it "2" do
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
describe "d" do
|
|
14
|
-
|
|
15
|
-
it "3" do
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
it "4" do
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
class SpecParserSubject
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
describe SpecParserSubject do
|
|
27
|
-
|
|
28
|
-
it "5" do
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
describe SpecParserSubject, "described" do
|
|
34
|
-
|
|
35
|
-
it "6" do
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
describe "SpecParser" do
|
|
41
|
-
before(:each) do
|
|
42
|
-
@p = Spec::Runner::SpecParser.new
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
it "should find spec name for 'specify' at same line" do
|
|
46
|
-
@p.spec_name_for(File.open(__FILE__), 5).should == "c 1"
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
it "should find spec name for 'specify' at end of spec line" do
|
|
50
|
-
@p.spec_name_for(File.open(__FILE__), 6).should == "c 1"
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
it "should find context for 'context' above all specs" do
|
|
54
|
-
@p.spec_name_for(File.open(__FILE__), 4).should == "c"
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
it "should find spec name for 'it' at same line" do
|
|
58
|
-
@p.spec_name_for(File.open(__FILE__), 15).should == "d 3"
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
it "should find spec name for 'it' at end of spec line" do
|
|
62
|
-
@p.spec_name_for(File.open(__FILE__), 16).should == "d 3"
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
it "should find context for 'describe' above all specs" do
|
|
66
|
-
@p.spec_name_for(File.open(__FILE__), 14).should == "d"
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
it "should find nearest example name between examples" do
|
|
70
|
-
@p.spec_name_for(File.open(__FILE__), 7).should == "c 1"
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
it "should find nothing outside a context" do
|
|
74
|
-
@p.spec_name_for(File.open(__FILE__), 2).should be_nil
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
it "should find context name for type" do
|
|
78
|
-
@p.spec_name_for(File.open(__FILE__), 26).should == "SpecParserSubject"
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
it "should find context and spec name for type" do
|
|
82
|
-
@p.spec_name_for(File.open(__FILE__), 28).should == "SpecParserSubject 5"
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
it "should find context and description for type" do
|
|
86
|
-
@p.spec_name_for(File.open(__FILE__), 33).should == "SpecParserSubject described"
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
it "should find context and description and example for type" do
|
|
90
|
-
@p.spec_name_for(File.open(__FILE__), 36).should == "SpecParserSubject described 6"
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
end
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
describe "Translator" do
|
|
4
|
-
before do
|
|
5
|
-
@t = Spec::Translator.new
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
it "should translate files" do
|
|
9
|
-
from = File.dirname(__FILE__) + '/..'
|
|
10
|
-
to = File.dirname(__FILE__) + '/../../translated_specs'
|
|
11
|
-
@t.translate_dir(from, to)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
it "should translate context_setup do" do
|
|
15
|
-
@t.translate_line(
|
|
16
|
-
"context_setup do\n"
|
|
17
|
-
).should eql(
|
|
18
|
-
"before(:all) do\n"
|
|
19
|
-
)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
it "should translate context_setup {foo}" do
|
|
23
|
-
@t.translate_line(
|
|
24
|
-
"context_setup {foo}\n"
|
|
25
|
-
).should eql(
|
|
26
|
-
"before(:all) {foo}\n"
|
|
27
|
-
)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
it "should translate context ' to describe '" do
|
|
31
|
-
@t.translate_line(
|
|
32
|
-
"context 'Translator' do\n"
|
|
33
|
-
).should eql(
|
|
34
|
-
"describe 'Translator' do\n"
|
|
35
|
-
)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
it 'should translate context " to describe "' do
|
|
39
|
-
@t.translate_line(
|
|
40
|
-
'context "Translator"'
|
|
41
|
-
).should eql(
|
|
42
|
-
'describe "Translator"'
|
|
43
|
-
)
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
it 'should translate spaces then context " to describe "' do
|
|
47
|
-
@t.translate_line(
|
|
48
|
-
' context "Translator"'
|
|
49
|
-
).should eql(
|
|
50
|
-
' describe "Translator"'
|
|
51
|
-
)
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
it "should not translate context=foo" do
|
|
55
|
-
@t.translate_line(' context=foo').should eql(' context=foo')
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
it "should not translate context = foo" do
|
|
59
|
-
@t.translate_line(' context = foo').should eql(' context = foo')
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
it "should not translate context = foo" do
|
|
63
|
-
@t.translate_line(' context = foo').should eql(' context = foo')
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
it "should translate should_be_close" do
|
|
67
|
-
@t.translate_line('5.0.should_be_close(5.0, 0.5)').should eql('5.0.should be_close(5.0, 0.5)')
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
it "should translate should_not_raise" do
|
|
71
|
-
@t.translate_line('lambda { self.call }.should_not_raise').should eql('lambda { self.call }.should_not raise_error')
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
it "should translate should_throw" do
|
|
75
|
-
@t.translate_line('lambda { self.call }.should_throw').should eql('lambda { self.call }.should throw_symbol')
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
it "should not translate 0.9 should_not" do
|
|
79
|
-
@t.translate_line('@target.should_not @matcher').should eql('@target.should_not @matcher')
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
it "should leave should_not_receive" do
|
|
83
|
-
@t.translate_line('@mock.should_not_receive(:not_expected).with("unexpected text")').should eql('@mock.should_not_receive(:not_expected).with("unexpected text")')
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
it "should leave should_receive" do
|
|
87
|
-
@t.translate_line('@mock.should_receive(:not_expected).with("unexpected text")').should eql('@mock.should_receive(:not_expected).with("unexpected text")')
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
it "should translate multi word predicates" do
|
|
91
|
-
@t.translate_line('foo.should_multi_word_predicate').should eql('foo.should be_multi_word_predicate')
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
it "should translate multi word predicates prefixed with be" do
|
|
95
|
-
@t.translate_line('foo.should_be_multi_word_predicate').should eql('foo.should be_multi_word_predicate')
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
it "should translate be(expected) to equal(expected)" do
|
|
99
|
-
@t.translate_line('foo.should_be :cool').should eql('foo.should equal :cool')
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
it "should translate instance_of" do
|
|
103
|
-
@t.translate_line('5.should_be_an_instance_of(Integer)').should eql('5.should be_an_instance_of(Integer)')
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
it "should translate should_be <" do
|
|
107
|
-
@t.translate_line('3.should_be < 4').should eql('3.should be < 4')
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
it "should translate should_be <=" do
|
|
111
|
-
@t.translate_line('3.should_be <= 4').should eql('3.should be <= 4')
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
it "should translate should_be >=" do
|
|
115
|
-
@t.translate_line('4.should_be >= 3').should eql('4.should be >= 3')
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
it "should translate should_be >" do
|
|
119
|
-
@t.translate_line('4.should_be > 3').should eql('4.should be > 3')
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
it "should translate should_be_happy" do
|
|
123
|
-
@t.translate_line("4.should_be_happy").should eql("4.should be_happy")
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
it "should translate custom method taking regexp with parenthesis" do
|
|
127
|
-
@t.translate_line("@browser.should_contain_text(/Sn.rrunger og annet rusk/)").should eql("@browser.should be_contain_text(/Sn.rrunger og annet rusk/)")
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
it "should translate custom method taking regexp without parenthesis" do
|
|
131
|
-
@t.translate_line("@browser.should_contain_text /Sn.rrunger og annet rusk/\n").should eql("@browser.should be_contain_text(/Sn.rrunger og annet rusk/)\n")
|
|
132
|
-
end
|
|
133
|
-
|
|
134
|
-
it "should translate should_not_be_nil" do
|
|
135
|
-
@t.translate_line("foo.should_not_be_nil\n").should eql("foo.should_not be_nil\n")
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
it "should translate kind of" do
|
|
139
|
-
@t.translate_line('@object.should_be_kind_of(MessageExpectation)').should(
|
|
140
|
-
eql('@object.should be_kind_of(MessageExpectation)'))
|
|
141
|
-
end
|
|
142
|
-
|
|
143
|
-
it "should translate should_be_true" do
|
|
144
|
-
@t.translate_line("foo.should_be_true\n").should eql("foo.should be_true\n")
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
# [#9674] spec_translate incorrectly handling shoud_match, when regexp in a var, in a block
|
|
148
|
-
# http://rubyforge.org/tracker/?func=detail&atid=3149&aid=9674&group_id=797
|
|
149
|
-
it "should translate should_match on a regexp, in a var, in a block" do
|
|
150
|
-
@t.translate_line("collection.each { |c| c.should_match a_regexp_in_a_var }\n").should eql("collection.each { |c| c.should match(a_regexp_in_a_var) }\n")
|
|
151
|
-
@t.translate_line("collection.each{|c| c.should_match a_regexp_in_a_var}\n").should eql("collection.each{|c| c.should match(a_regexp_in_a_var) }\n")
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
# From Rubinius specs
|
|
155
|
-
it "should translate close_to without parens" do
|
|
156
|
-
@t.translate_line("end.should_be_close 3.14159_26535_89793_23846, TOLERANCE\n").should eql("end.should be_close(3.14159_26535_89793_23846, TOLERANCE)\n")
|
|
157
|
-
end
|
|
158
|
-
|
|
159
|
-
# [#9882] 0.9 Beta 1 - translator bugs
|
|
160
|
-
# http://rubyforge.org/tracker/index.php?func=detail&aid=9882&group_id=797&atid=3149
|
|
161
|
-
it "should support symbol arguments" do
|
|
162
|
-
@t.translate_line(
|
|
163
|
-
"lambda { sequence.parse('bar') }.should_throw :ZeroWidthParseSuccess\n"
|
|
164
|
-
).should eql(
|
|
165
|
-
"lambda { sequence.parse('bar') }.should throw_symbol(:ZeroWidthParseSuccess)\n"
|
|
166
|
-
)
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
# [#9882] 0.9 Beta 1 - translator bugs
|
|
170
|
-
# http://rubyforge.org/tracker/index.php?func=detail&aid=9882&group_id=797&atid=3149
|
|
171
|
-
it "should support instance var arguments" do
|
|
172
|
-
@t.translate_line(
|
|
173
|
-
"a.should_eql @local"
|
|
174
|
-
).should eql(
|
|
175
|
-
"a.should eql(@local)"
|
|
176
|
-
)
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
# [#9882] 0.9 Beta 1 - translator bugs
|
|
180
|
-
# http://rubyforge.org/tracker/index.php?func=detail&aid=9882&group_id=797&atid=3149
|
|
181
|
-
it "should support lambdas as expecteds" do
|
|
182
|
-
@t.translate_line(
|
|
183
|
-
"@parslet.should_not_eql lambda { nil }.to_parseable"
|
|
184
|
-
).should eql(
|
|
185
|
-
"@parslet.should_not eql(lambda { nil }.to_parseable)"
|
|
186
|
-
)
|
|
187
|
-
end
|
|
188
|
-
|
|
189
|
-
# [#9882] 0.9 Beta 1 - translator bugs
|
|
190
|
-
# http://rubyforge.org/tracker/index.php?func=detail&aid=9882&group_id=797&atid=3149
|
|
191
|
-
it "should support fully qualified names" do
|
|
192
|
-
@t.translate_line(
|
|
193
|
-
"results.should_be_kind_of SimpleASTLanguage::Identifier"
|
|
194
|
-
).should eql(
|
|
195
|
-
"results.should be_kind_of(SimpleASTLanguage::Identifier)"
|
|
196
|
-
)
|
|
197
|
-
end
|
|
198
|
-
|
|
199
|
-
# [#9882] 0.9 Beta 1 - translator bugs
|
|
200
|
-
# http://rubyforge.org/tracker/index.php?func=detail&aid=9882&group_id=797&atid=3149
|
|
201
|
-
# it "should leave whitespace between expression and comments" do
|
|
202
|
-
# @t.translate_line(
|
|
203
|
-
# "lambda { @instance.foo = foo }.should_raise NoMethodError # no writer defined"
|
|
204
|
-
# ).should eql(
|
|
205
|
-
# "lambda { @instance.foo = foo }.should raise_error(NoMethodError) # no writer defined"
|
|
206
|
-
# )
|
|
207
|
-
# end
|
|
208
|
-
|
|
209
|
-
it "should translate redirects" do
|
|
210
|
-
@t.translate_line(
|
|
211
|
-
"controller.should_redirect_to 'http://not_existing_domain_for_novalis.test.host/404.html'"
|
|
212
|
-
).should eql(
|
|
213
|
-
"controller.should redirect_to('http://not_existing_domain_for_novalis.test.host/404.html')"
|
|
214
|
-
)
|
|
215
|
-
end
|
|
216
|
-
end
|
|
File without changes
|