rspec 1.3.2 → 2.0.0.a2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +4 -6
- data/.gitignore +4 -14
- data/License.txt +1 -1
- data/README.markdown +46 -0
- data/Rakefile +26 -100
- data/lib/rspec.rb +4 -0
- data/lib/rspec/version.rb +14 -0
- data/rspec.gemspec +46 -19
- metadata +72 -673
- data/.autotest +0 -5
- data/Gemfile +0 -20
- data/History.rdoc +0 -1560
- data/README.rdoc +0 -44
- data/Ruby1.9.rdoc +0 -31
- data/TODO.txt +0 -17
- data/Upgrade.rdoc +0 -260
- data/bin/autospec +0 -4
- data/bin/spec +0 -5
- data/cucumber.yml +0 -5
- data/example_spec.rb +0 -4
- data/examples/failing/README.txt +0 -11
- data/examples/failing/diffing_spec.rb +0 -36
- data/examples/failing/failing_implicit_docstrings_example.rb +0 -17
- data/examples/failing/failure_in_after.rb +0 -10
- data/examples/failing/failure_in_before.rb +0 -10
- data/examples/failing/mocking_example.rb +0 -38
- data/examples/failing/mocking_with_flexmock.rb +0 -26
- data/examples/failing/mocking_with_mocha.rb +0 -25
- data/examples/failing/mocking_with_rr.rb +0 -27
- data/examples/failing/partial_mock_example.rb +0 -18
- data/examples/failing/pending_example.rb +0 -7
- data/examples/failing/predicate_example.rb +0 -32
- data/examples/failing/raising_example.rb +0 -47
- data/examples/failing/syntax_error_example.rb +0 -7
- data/examples/failing/team_spec.rb +0 -41
- data/examples/failing/timeout_behaviour.rb +0 -5
- data/examples/passing/custom_formatter.rb +0 -11
- data/examples/passing/custom_matchers.rb +0 -54
- data/examples/passing/dynamic_spec.rb +0 -7
- data/examples/passing/file_accessor.rb +0 -18
- data/examples/passing/file_accessor_spec.rb +0 -37
- data/examples/passing/filtered_formatter.rb +0 -17
- data/examples/passing/filtered_formatter_example.rb +0 -31
- data/examples/passing/greeter_spec.rb +0 -30
- data/examples/passing/helper_method_example.rb +0 -12
- data/examples/passing/implicit_docstrings_example.rb +0 -16
- data/examples/passing/io_processor.rb +0 -8
- data/examples/passing/io_processor_spec.rb +0 -20
- data/examples/passing/mocking_example.rb +0 -25
- data/examples/passing/multi_threaded_example_group_runner.rb +0 -26
- data/examples/passing/nested_classes_example.rb +0 -35
- data/examples/passing/options_example.rb +0 -29
- data/examples/passing/options_formatter.rb +0 -20
- data/examples/passing/partial_mock_example.rb +0 -27
- data/examples/passing/pending_example.rb +0 -18
- data/examples/passing/predicate_example.rb +0 -25
- data/examples/passing/shared_example_group_example.rb +0 -43
- data/examples/passing/shared_stack_examples.rb +0 -36
- data/examples/passing/simple_matcher_example.rb +0 -29
- data/examples/passing/stack.rb +0 -36
- data/examples/passing/stack_spec.rb +0 -63
- data/examples/passing/stack_spec_with_nested_example_groups.rb +0 -66
- data/examples/passing/stubbing_example.rb +0 -67
- data/examples/passing/yielding_example.rb +0 -31
- data/examples/ruby1.9.compatibility/access_to_constants_spec.rb +0 -85
- data/features-pending/cli/conditional_exclusion.feature +0 -39
- data/features-pending/heckle/heckle.feature +0 -56
- data/features/before_and_after_blocks/before_and_after_blocks.feature +0 -167
- data/features/command_line/line_number_option.feature +0 -56
- data/features/command_line/line_number_option_with_example_with_no_name.feature +0 -22
- data/features/example_groups/define_example_attribute.feature +0 -41
- data/features/example_groups/example_group_with_should_methods.feature +0 -29
- data/features/example_groups/implicit_docstrings.feature +0 -59
- data/features/example_groups/nested_groups.feature +0 -32
- data/features/expectations/customized_message.feature +0 -54
- data/features/expectations/expect_change.feature +0 -65
- data/features/expectations/expect_error.feature +0 -44
- data/features/extensions/custom_example_group.feature +0 -19
- data/features/formatters/custom_formatter.feature +0 -30
- data/features/formatters/nested_formatter.feature +0 -32
- data/features/interop/cucumber_stubs_dont_leak.feature +0 -11
- data/features/interop/examples_and_tests_together.feature +0 -84
- data/features/interop/rspec_output.feature +0 -25
- data/features/interop/test_but_not_test_unit.feature +0 -26
- data/features/interop/test_case_with_should_methods.feature +0 -46
- data/features/load_paths/add_lib_to_load_path.feature +0 -20
- data/features/load_paths/add_spec_to_load_path.feature +0 -20
- data/features/matchers/define_diffable_matcher.feature +0 -26
- data/features/matchers/define_matcher.feature +0 -179
- data/features/matchers/define_matcher_outside_rspec.feature +0 -37
- data/features/matchers/define_matcher_with_fluent_interface.feature +0 -48
- data/features/matchers/define_wrapped_matcher.feature +0 -56
- data/features/matchers/match_unless_raises.feature +0 -60
- data/features/matchers/match_unless_raises_unexpected_error.feature +0 -39
- data/features/mock_framework_integration/use_flexmock.feature +0 -27
- data/features/mock_framework_integration/use_mocha.feature +0 -27
- data/features/mock_framework_integration/use_rr.feature +0 -27
- data/features/mocks/block_local_expectations.feature +0 -62
- data/features/mocks/mix_stubs_and_mocks.feature +0 -22
- data/features/mocks/stub_implementation.feature +0 -26
- data/features/pending/pending_examples.feature +0 -81
- data/features/runner/specify_line_number.feature +0 -32
- data/features/spec_helper/spec_helper.feature +0 -25
- data/features/step_definitions/running_rspec_steps.rb +0 -52
- data/features/step_definitions/stubbing_steps.rb +0 -16
- data/features/subject/explicit_subject.feature +0 -31
- data/features/subject/implicit_subject.feature +0 -43
- data/features/support/env.rb +0 -83
- data/features/support/matchers/smart_match.rb +0 -31
- data/init.rb +0 -9
- data/lib/autotest/discover.rb +0 -3
- data/lib/autotest/rspec.rb +0 -54
- data/lib/spec.rb +0 -8
- data/lib/spec/adapters/mock_frameworks/flexmock.rb +0 -24
- data/lib/spec/adapters/mock_frameworks/mocha.rb +0 -25
- data/lib/spec/adapters/mock_frameworks/rr.rb +0 -22
- data/lib/spec/adapters/mock_frameworks/rspec.rb +0 -21
- data/lib/spec/autorun.rb +0 -3
- data/lib/spec/deprecation.rb +0 -41
- data/lib/spec/dsl.rb +0 -1
- data/lib/spec/dsl/main.rb +0 -93
- data/lib/spec/example.rb +0 -164
- data/lib/spec/example/args_and_options.rb +0 -27
- data/lib/spec/example/before_and_after_hooks.rb +0 -93
- data/lib/spec/example/errors.rb +0 -25
- data/lib/spec/example/example_group.rb +0 -10
- data/lib/spec/example/example_group_factory.rb +0 -82
- data/lib/spec/example/example_group_hierarchy.rb +0 -53
- data/lib/spec/example/example_group_methods.rb +0 -287
- data/lib/spec/example/example_group_proxy.rb +0 -61
- data/lib/spec/example/example_matcher.rb +0 -43
- data/lib/spec/example/example_methods.rb +0 -152
- data/lib/spec/example/example_proxy.rb +0 -41
- data/lib/spec/example/module_reopening_fix.rb +0 -43
- data/lib/spec/example/pending.rb +0 -18
- data/lib/spec/example/predicate_matchers.rb +0 -46
- data/lib/spec/example/shared_example_group.rb +0 -59
- data/lib/spec/example/subject.rb +0 -114
- data/lib/spec/expectations.rb +0 -35
- data/lib/spec/expectations/errors.rb +0 -12
- data/lib/spec/expectations/extensions.rb +0 -1
- data/lib/spec/expectations/extensions/kernel.rb +0 -52
- data/lib/spec/expectations/fail_with.rb +0 -45
- data/lib/spec/expectations/handler.rb +0 -50
- data/lib/spec/extensions/instance_exec.rb +0 -31
- data/lib/spec/interop/test.rb +0 -44
- data/lib/spec/interop/test/unit/autorunner.rb +0 -6
- data/lib/spec/interop/test/unit/testcase.rb +0 -56
- data/lib/spec/interop/test/unit/testresult.rb +0 -6
- data/lib/spec/interop/test/unit/testsuite_adapter.rb +0 -36
- data/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
- data/lib/spec/matchers.rb +0 -214
- data/lib/spec/matchers/be.rb +0 -249
- data/lib/spec/matchers/be_close.rb +0 -32
- data/lib/spec/matchers/be_instance_of.rb +0 -26
- data/lib/spec/matchers/be_kind_of.rb +0 -26
- data/lib/spec/matchers/change.rb +0 -151
- data/lib/spec/matchers/compatibility.rb +0 -14
- data/lib/spec/matchers/dsl.rb +0 -20
- data/lib/spec/matchers/eql.rb +0 -42
- data/lib/spec/matchers/equal.rb +0 -53
- data/lib/spec/matchers/errors.rb +0 -5
- data/lib/spec/matchers/exist.rb +0 -16
- data/lib/spec/matchers/generated_descriptions.rb +0 -36
- data/lib/spec/matchers/has.rb +0 -35
- data/lib/spec/matchers/have.rb +0 -152
- data/lib/spec/matchers/include.rb +0 -44
- data/lib/spec/matchers/match.rb +0 -21
- data/lib/spec/matchers/match_array.rb +0 -71
- data/lib/spec/matchers/matcher.rb +0 -132
- data/lib/spec/matchers/method_missing.rb +0 -9
- data/lib/spec/matchers/operator_matcher.rb +0 -83
- data/lib/spec/matchers/pretty.rb +0 -37
- data/lib/spec/matchers/raise_exception.rb +0 -131
- data/lib/spec/matchers/respond_to.rb +0 -71
- data/lib/spec/matchers/satisfy.rb +0 -47
- data/lib/spec/matchers/simple_matcher.rb +0 -134
- data/lib/spec/matchers/throw_symbol.rb +0 -100
- data/lib/spec/matchers/wrap_expectation.rb +0 -55
- data/lib/spec/mocks.rb +0 -200
- data/lib/spec/mocks/argument_expectation.rb +0 -51
- data/lib/spec/mocks/argument_matchers.rb +0 -237
- data/lib/spec/mocks/error_generator.rb +0 -92
- data/lib/spec/mocks/errors.rb +0 -10
- data/lib/spec/mocks/example_methods.rb +0 -69
- data/lib/spec/mocks/extensions.rb +0 -1
- data/lib/spec/mocks/extensions/object.rb +0 -3
- data/lib/spec/mocks/framework.rb +0 -15
- data/lib/spec/mocks/message_expectation.rb +0 -344
- data/lib/spec/mocks/methods.rb +0 -94
- data/lib/spec/mocks/mock.rb +0 -71
- data/lib/spec/mocks/order_group.rb +0 -29
- data/lib/spec/mocks/proxy.rb +0 -254
- data/lib/spec/mocks/space.rb +0 -28
- data/lib/spec/rake/spectask.rb +0 -230
- data/lib/spec/rake/verify_rcov.rb +0 -52
- data/lib/spec/ruby.rb +0 -9
- data/lib/spec/runner.rb +0 -66
- data/lib/spec/runner/backtrace_tweaker.rb +0 -78
- data/lib/spec/runner/class_and_arguments_parser.rb +0 -14
- data/lib/spec/runner/command_line.rb +0 -15
- data/lib/spec/runner/configuration.rb +0 -202
- data/lib/spec/runner/differs/default.rb +0 -93
- data/lib/spec/runner/differs/load-diff-lcs.rb +0 -12
- data/lib/spec/runner/drb_command_line.rb +0 -32
- data/lib/spec/runner/example_group_runner.rb +0 -58
- data/lib/spec/runner/extensions/kernel.rb +0 -9
- data/lib/spec/runner/formatter/base_formatter.rb +0 -139
- data/lib/spec/runner/formatter/base_text_formatter.rb +0 -142
- data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -25
- data/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -20
- data/lib/spec/runner/formatter/html_formatter.rb +0 -338
- data/lib/spec/runner/formatter/nested_text_formatter.rb +0 -50
- data/lib/spec/runner/formatter/no_op_method_missing.rb +0 -21
- data/lib/spec/runner/formatter/profile_formatter.rb +0 -47
- data/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -33
- data/lib/spec/runner/formatter/silent_formatter.rb +0 -10
- data/lib/spec/runner/formatter/snippet_extractor.rb +0 -52
- data/lib/spec/runner/formatter/specdoc_formatter.rb +0 -33
- data/lib/spec/runner/formatter/text_mate_formatter.rb +0 -16
- data/lib/spec/runner/heckle_runner.rb +0 -77
- data/lib/spec/runner/heckle_runner_unsupported.rb +0 -10
- data/lib/spec/runner/line_number_query.rb +0 -78
- data/lib/spec/runner/option_parser.rb +0 -225
- data/lib/spec/runner/options.rb +0 -406
- data/lib/spec/runner/reporter.rb +0 -171
- data/lib/spec/stubs/cucumber.rb +0 -5
- data/lib/spec/test/unit.rb +0 -10
- data/lib/spec/version.rb +0 -14
- data/resources/helpers/cmdline.rb +0 -8
- data/resources/rake/examples.rake +0 -7
- data/resources/rake/examples_with_rcov.rake +0 -9
- data/resources/rake/failing_examples_with_html.rake +0 -9
- data/resources/rake/verify_rcov.rake +0 -7
- data/spec/README.jruby +0 -15
- data/spec/autotest/autotest_helper.rb +0 -8
- data/spec/autotest/autotest_matchers.rb +0 -38
- data/spec/autotest/discover_spec.rb +0 -8
- data/spec/autotest/failed_results_re_spec.rb +0 -31
- data/spec/autotest/rspec_spec.rb +0 -126
- data/spec/ruby_forker.rb +0 -13
- data/spec/spec.opts +0 -6
- data/spec/spec/dsl/main_spec.rb +0 -103
- data/spec/spec/example/example_group_class_definition_spec.rb +0 -51
- data/spec/spec/example/example_group_factory_spec.rb +0 -180
- data/spec/spec/example/example_group_methods_spec.rb +0 -778
- data/spec/spec/example/example_group_proxy_spec.rb +0 -107
- data/spec/spec/example/example_group_spec.rb +0 -632
- data/spec/spec/example/example_matcher_spec.rb +0 -85
- data/spec/spec/example/example_methods_spec.rb +0 -162
- data/spec/spec/example/example_proxy_spec.rb +0 -57
- data/spec/spec/example/helper_method_spec.rb +0 -24
- data/spec/spec/example/nested_example_group_spec.rb +0 -71
- data/spec/spec/example/pending_module_spec.rb +0 -58
- data/spec/spec/example/predicate_matcher_spec.rb +0 -41
- data/spec/spec/example/shared_example_group_spec.rb +0 -257
- data/spec/spec/example/subclassing_example_group_spec.rb +0 -25
- data/spec/spec/example/subject_spec.rb +0 -110
- data/spec/spec/expectations/differs/default_spec.rb +0 -194
- data/spec/spec/expectations/extensions/kernel_spec.rb +0 -45
- data/spec/spec/expectations/fail_with_spec.rb +0 -96
- data/spec/spec/expectations/handler_spec.rb +0 -206
- data/spec/spec/expectations/wrap_expectation_spec.rb +0 -31
- data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
- data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
- data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
- data/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +0 -13
- data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
- data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
- data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
- data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +0 -22
- data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
- data/spec/spec/interop/test/unit/spec_spec.rb +0 -48
- data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -18
- data/spec/spec/interop/test/unit/testcase_spec.rb +0 -50
- data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
- data/spec/spec/matchers/be_close_spec.rb +0 -50
- data/spec/spec/matchers/be_instance_of_spec.rb +0 -36
- data/spec/spec/matchers/be_kind_of_spec.rb +0 -33
- data/spec/spec/matchers/be_spec.rb +0 -460
- data/spec/spec/matchers/change_spec.rb +0 -349
- data/spec/spec/matchers/compatibility_spec.rb +0 -28
- data/spec/spec/matchers/description_generation_spec.rb +0 -160
- data/spec/spec/matchers/dsl_spec.rb +0 -34
- data/spec/spec/matchers/eql_spec.rb +0 -33
- data/spec/spec/matchers/equal_spec.rb +0 -57
- data/spec/spec/matchers/exist_spec.rb +0 -65
- data/spec/spec/matchers/has_spec.rb +0 -190
- data/spec/spec/matchers/have_spec.rb +0 -381
- data/spec/spec/matchers/include_spec.rb +0 -88
- data/spec/spec/matchers/match_array_spec.rb +0 -115
- data/spec/spec/matchers/match_spec.rb +0 -57
- data/spec/spec/matchers/matcher_spec.rb +0 -289
- data/spec/spec/matchers/matchers_spec.rb +0 -2
- data/spec/spec/matchers/operator_matcher_spec.rb +0 -191
- data/spec/spec/matchers/pretty_spec.rb +0 -22
- data/spec/spec/matchers/raise_exception_spec.rb +0 -345
- data/spec/spec/matchers/respond_to_spec.rb +0 -116
- data/spec/spec/matchers/satisfy_spec.rb +0 -36
- data/spec/spec/matchers/simple_matcher_spec.rb +0 -100
- data/spec/spec/matchers/throw_symbol_spec.rb +0 -121
- data/spec/spec/mocks/and_yield_spec.rb +0 -117
- data/spec/spec/mocks/any_number_of_times_spec.rb +0 -36
- data/spec/spec/mocks/argument_expectation_spec.rb +0 -23
- data/spec/spec/mocks/argument_matchers_spec.rb +0 -19
- data/spec/spec/mocks/at_least_spec.rb +0 -97
- data/spec/spec/mocks/at_most_spec.rb +0 -93
- data/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
- data/spec/spec/mocks/bug_report_10263_spec.rb +0 -27
- data/spec/spec/mocks/bug_report_1049_spec.rb +0 -30
- data/spec/spec/mocks/bug_report_11545_spec.rb +0 -32
- data/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
- data/spec/spec/mocks/bug_report_496_spec.rb +0 -17
- data/spec/spec/mocks/bug_report_600_spec.rb +0 -22
- data/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
- data/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
- data/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
- data/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
- data/spec/spec/mocks/bug_report_830_spec.rb +0 -21
- data/spec/spec/mocks/bug_report_957_spec.rb +0 -22
- data/spec/spec/mocks/double_spec.rb +0 -12
- data/spec/spec/mocks/failing_argument_matchers_spec.rb +0 -95
- data/spec/spec/mocks/hash_including_matcher_spec.rb +0 -90
- data/spec/spec/mocks/hash_not_including_matcher_spec.rb +0 -67
- data/spec/spec/mocks/mock_ordering_spec.rb +0 -94
- data/spec/spec/mocks/mock_space_spec.rb +0 -54
- data/spec/spec/mocks/mock_spec.rb +0 -601
- data/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
- data/spec/spec/mocks/nil_expectation_warning_spec.rb +0 -53
- data/spec/spec/mocks/null_object_mock_spec.rb +0 -54
- data/spec/spec/mocks/once_counts_spec.rb +0 -53
- data/spec/spec/mocks/options_hash_spec.rb +0 -35
- data/spec/spec/mocks/partial_mock_spec.rb +0 -164
- data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
- data/spec/spec/mocks/passing_argument_matchers_spec.rb +0 -145
- data/spec/spec/mocks/precise_counts_spec.rb +0 -52
- data/spec/spec/mocks/record_messages_spec.rb +0 -26
- data/spec/spec/mocks/stub_chain_spec.rb +0 -42
- data/spec/spec/mocks/stub_implementation_spec.rb +0 -31
- data/spec/spec/mocks/stub_spec.rb +0 -203
- data/spec/spec/mocks/stubbed_message_expectations_spec.rb +0 -26
- data/spec/spec/mocks/twice_counts_spec.rb +0 -67
- data/spec/spec/mocks/unstub_spec.rb +0 -127
- data/spec/spec/package/bin_spec_spec.rb +0 -16
- data/spec/spec/rake/spectask_spec.rb +0 -150
- data/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
- data/spec/spec/runner/command_line_spec.rb +0 -162
- data/spec/spec/runner/configuration_spec.rb +0 -320
- data/spec/spec/runner/drb_command_line_spec.rb +0 -146
- data/spec/spec/runner/empty_file.txt +0 -0
- data/spec/spec/runner/example_group_runner_spec.rb +0 -26
- data/spec/spec/runner/examples.txt +0 -2
- data/spec/spec/runner/failed.txt +0 -3
- data/spec/spec/runner/formatter/base_formatter_spec.rb +0 -30
- data/spec/spec/runner/formatter/base_text_formatter_spec.rb +0 -113
- data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
- data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
- data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -377
- data/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -377
- data/spec/spec/runner/formatter/html_formatted-1.8.7.html +0 -377
- data/spec/spec/runner/formatter/html_formatted-1.9.1.html +0 -377
- data/spec/spec/runner/formatter/html_formatted-1.9.2.html +0 -377
- data/spec/spec/runner/formatter/html_formatter_spec.rb +0 -118
- data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +0 -329
- data/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -70
- data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -149
- data/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
- data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -159
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +0 -371
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -371
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +0 -371
- data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +0 -371
- data/spec/spec/runner/formatter/text_mate_formatted-1.9.2.html +0 -371
- data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +0 -106
- data/spec/spec/runner/heckle_runner_spec.rb +0 -78
- data/spec/spec/runner/heckler_spec.rb +0 -20
- data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +0 -70
- data/spec/spec/runner/line_number_query_spec.rb +0 -129
- data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -51
- data/spec/spec/runner/option_parser_spec.rb +0 -551
- data/spec/spec/runner/options_spec.rb +0 -554
- data/spec/spec/runner/output_one_time_fixture.rb +0 -7
- data/spec/spec/runner/output_one_time_fixture_runner.rb +0 -7
- data/spec/spec/runner/output_one_time_spec.rb +0 -15
- data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -123
- data/spec/spec/runner/reporter_spec.rb +0 -244
- data/spec/spec/runner/resources/a_bar.rb +0 -0
- data/spec/spec/runner/resources/a_foo.rb +0 -0
- data/spec/spec/runner/resources/a_spec.rb +0 -1
- data/spec/spec/runner/resources/custom_example_group_runner.rb +0 -14
- data/spec/spec/runner/resources/utf8_encoded.rb +0 -8
- data/spec/spec/runner/spec.opts +0 -2
- data/spec/spec/runner/spec_drb.opts +0 -2
- data/spec/spec/runner/spec_spaced.opts +0 -2
- data/spec/spec/runner_spec.rb +0 -13
- data/spec/spec_helper.rb +0 -113
- data/spec/support/macros.rb +0 -29
- data/spec/support/spec_classes.rb +0 -133
@@ -1,41 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Example
|
5
|
-
class Fish
|
6
|
-
def can_swim?(distance_in_yards)
|
7
|
-
distance_in_yards < 1000
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
describe "predicate_matcher[method_on_object] = matcher_method" do
|
12
|
-
before(:each) do
|
13
|
-
Spec.stub!(:deprecate)
|
14
|
-
end
|
15
|
-
|
16
|
-
it "is deprecated" do
|
17
|
-
Spec.should_receive(:deprecate)
|
18
|
-
group = ExampleGroupDouble.describe("foo") do
|
19
|
-
predicate_matchers[:swim] = :can_swim?
|
20
|
-
end
|
21
|
-
group.run(Spec::Runner::Options.new(StringIO.new, StringIO.new))
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should match matcher_method if method_on_object returns true" do
|
25
|
-
group = ExampleGroupDouble.describe(Fish) do
|
26
|
-
predicate_matchers[:swim] = :can_swim?
|
27
|
-
it { should swim(100) }
|
28
|
-
end
|
29
|
-
group.run(Spec::Runner::Options.new(StringIO.new, StringIO.new))
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should not match matcher_method if method_on_object returns false" do
|
33
|
-
group = ExampleGroupDouble.describe(Fish) do
|
34
|
-
predicate_matchers[:swim] = :can_swim?
|
35
|
-
it { should_not swim(1000) }
|
36
|
-
end
|
37
|
-
group.run(Spec::Runner::Options.new(StringIO.new, StringIO.new))
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,257 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Example
|
5
|
-
describe ExampleGroup, "with :shared => true" do
|
6
|
-
with_sandboxed_options do
|
7
|
-
attr_reader :formatter, :example_group
|
8
|
-
before(:each) do
|
9
|
-
@formatter = Spec::Mocks::Mock.new("formatter", :null_object => true)
|
10
|
-
options.formatters << formatter
|
11
|
-
@example_group = Class.new(ExampleGroupDouble).describe("example_group")
|
12
|
-
class << example_group
|
13
|
-
public :include
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
after(:each) do
|
18
|
-
@formatter.rspec_verify
|
19
|
-
@example_group = nil
|
20
|
-
Spec::Example::SharedExampleGroup.clear
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "#register" do
|
24
|
-
it "creates a new shared example group with the submitted args" do
|
25
|
-
block = lambda {|a|}
|
26
|
-
group = SharedExampleGroup.new("shared group") do end
|
27
|
-
Spec::Example::SharedExampleGroup.should_receive(:new).with("share me", &block).and_return(group)
|
28
|
-
Spec::Example::SharedExampleGroup.register("share me", &block)
|
29
|
-
end
|
30
|
-
|
31
|
-
it "registers the shared example group" do
|
32
|
-
lambda do
|
33
|
-
Spec::Example::SharedExampleGroup.register "share me" do end
|
34
|
-
end.should change {Spec::Example::SharedExampleGroup.count}.by(1)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
it "complains when adding a second shared example_group with the same description" do
|
39
|
-
describe "shared example_group", :shared => true do
|
40
|
-
end
|
41
|
-
lambda do
|
42
|
-
describe "shared example_group", :shared => true do
|
43
|
-
end
|
44
|
-
end.should raise_error(ArgumentError)
|
45
|
-
end
|
46
|
-
|
47
|
-
it "does NOT add the same group twice" do
|
48
|
-
lambda do
|
49
|
-
2.times do
|
50
|
-
describe "shared example_group which gets loaded twice", :shared => true do
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end.should change {Spec::Example::SharedExampleGroup.count}.by(1)
|
54
|
-
end
|
55
|
-
|
56
|
-
it "does NOT complain when adding the same shared example_group again (i.e. file gets reloaded)" do
|
57
|
-
lambda do
|
58
|
-
2.times do
|
59
|
-
describe "shared example_group which gets loaded twice", :shared => true do
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end.should_not raise_error(ArgumentError)
|
63
|
-
end
|
64
|
-
|
65
|
-
it "does NOT complain when adding the same shared example_group in same file with different absolute path" do
|
66
|
-
SharedExampleGroup.register(
|
67
|
-
"shared example_group",
|
68
|
-
:shared => true,
|
69
|
-
:location => "/my/spec/a/../shared.rb"
|
70
|
-
)
|
71
|
-
SharedExampleGroup.register(
|
72
|
-
"shared example_group",
|
73
|
-
:shared => true,
|
74
|
-
:location => "/my/spec/b/../shared.rb"
|
75
|
-
)
|
76
|
-
end
|
77
|
-
|
78
|
-
it "complains when adding a different shared example_group with the same name in a different file with the same basename" do
|
79
|
-
SharedExampleGroup.register(
|
80
|
-
"shared example_group",
|
81
|
-
:shared => true,
|
82
|
-
:location => "/my/spec/a/shared.rb"
|
83
|
-
)
|
84
|
-
lambda do
|
85
|
-
SharedExampleGroup.register(
|
86
|
-
"shared example_group",
|
87
|
-
:shared => true,
|
88
|
-
:location => "/my/spec/b/shared.rb"
|
89
|
-
)
|
90
|
-
end.should raise_error(ArgumentError, /already exists/)
|
91
|
-
end
|
92
|
-
|
93
|
-
it "adds examples to current example_group using it_should_behave_like" do
|
94
|
-
shared_example_group = SharedExampleGroup.register("shared example_group") do
|
95
|
-
it("shared example") {}
|
96
|
-
it("shared example 2") {}
|
97
|
-
end
|
98
|
-
|
99
|
-
example_group.it("example") {}
|
100
|
-
example_group.number_of_examples.should == 1
|
101
|
-
example_group.it_should_behave_like("shared example_group")
|
102
|
-
example_group.number_of_examples.should == 3
|
103
|
-
end
|
104
|
-
|
105
|
-
it "adds examples to from two shared groups" do
|
106
|
-
shared_example_group_1 = SharedExampleGroup.register("shared example_group 1") do
|
107
|
-
it("shared example 1") {}
|
108
|
-
end
|
109
|
-
|
110
|
-
shared_example_group_1 = SharedExampleGroup.register("shared example_group 2") do
|
111
|
-
it("shared example 2") {}
|
112
|
-
end
|
113
|
-
|
114
|
-
example_group.it("example") {}
|
115
|
-
example_group.number_of_examples.should == 1
|
116
|
-
example_group.it_should_behave_like("shared example_group 1", "shared example_group 2")
|
117
|
-
example_group.number_of_examples.should == 3
|
118
|
-
end
|
119
|
-
|
120
|
-
it "adds examples to current example_group using include" do
|
121
|
-
shared_example_group = describe "all things", :shared => true do
|
122
|
-
it "should do stuff" do end
|
123
|
-
end
|
124
|
-
|
125
|
-
example_group = describe "one thing" do
|
126
|
-
include shared_example_group
|
127
|
-
end
|
128
|
-
|
129
|
-
example_group.number_of_examples.should == 1
|
130
|
-
end
|
131
|
-
|
132
|
-
it "adds examples to current example_group using it_should_behave_like with a module" do
|
133
|
-
::AllThings = describe "all things", :shared => true do
|
134
|
-
it "should do stuff" do end
|
135
|
-
end
|
136
|
-
|
137
|
-
example_group = describe "one thing" do
|
138
|
-
it_should_behave_like ::AllThings
|
139
|
-
end
|
140
|
-
|
141
|
-
example_group.number_of_examples.should == 1
|
142
|
-
end
|
143
|
-
|
144
|
-
it "runs shared examples" do
|
145
|
-
shared_example_ran = false
|
146
|
-
shared_example_group = SharedExampleGroup.register("shared example_group") do
|
147
|
-
it("shared example") { shared_example_ran = true }
|
148
|
-
end
|
149
|
-
|
150
|
-
example_ran = false
|
151
|
-
|
152
|
-
example_group.it_should_behave_like("shared example_group")
|
153
|
-
example_group.it("example") {example_ran = true}
|
154
|
-
example_group.run(options)
|
155
|
-
example_ran.should be_true
|
156
|
-
shared_example_ran.should be_true
|
157
|
-
end
|
158
|
-
|
159
|
-
it "runs before(:each) and after(:each) from shared example_group" do
|
160
|
-
shared_setup_ran = false
|
161
|
-
shared_teardown_ran = false
|
162
|
-
shared_example_group = SharedExampleGroup.register("shared example_group") do
|
163
|
-
before(:each) { shared_setup_ran = true }
|
164
|
-
after(:each) { shared_teardown_ran = true }
|
165
|
-
it("shared example") { shared_example_ran = true }
|
166
|
-
end
|
167
|
-
|
168
|
-
example_ran = false
|
169
|
-
|
170
|
-
example_group.it_should_behave_like("shared example_group")
|
171
|
-
example_group.it("example") {example_ran = true}
|
172
|
-
example_group.run(options)
|
173
|
-
example_ran.should be_true
|
174
|
-
shared_setup_ran.should be_true
|
175
|
-
shared_teardown_ran.should be_true
|
176
|
-
end
|
177
|
-
|
178
|
-
it "should run before(:all) and after(:all) only once from shared example_group" do
|
179
|
-
shared_before_all_run_count = 0
|
180
|
-
shared_after_all_run_count = 0
|
181
|
-
shared_example_group = SharedExampleGroup.register("shared example_group") do
|
182
|
-
before(:all) { shared_before_all_run_count += 1}
|
183
|
-
after(:all) { shared_after_all_run_count += 1}
|
184
|
-
it("shared example") { shared_example_ran = true }
|
185
|
-
end
|
186
|
-
|
187
|
-
example_ran = false
|
188
|
-
|
189
|
-
example_group.it_should_behave_like("shared example_group")
|
190
|
-
example_group.it("example") {example_ran = true}
|
191
|
-
example_group.run(options)
|
192
|
-
example_ran.should be_true
|
193
|
-
shared_before_all_run_count.should == 1
|
194
|
-
shared_after_all_run_count.should == 1
|
195
|
-
end
|
196
|
-
|
197
|
-
it "should include modules, included into shared example_group, into current example_group" do
|
198
|
-
@formatter.should_receive(:add_example_group).with(any_args)
|
199
|
-
|
200
|
-
shared_example_group = SharedExampleGroup.register("shared example_group") do
|
201
|
-
it("shared example") { shared_example_ran = true }
|
202
|
-
end
|
203
|
-
|
204
|
-
mod1_method_called = false
|
205
|
-
mod1 = Module.new do
|
206
|
-
define_method :mod1_method do
|
207
|
-
mod1_method_called = true
|
208
|
-
end
|
209
|
-
end
|
210
|
-
|
211
|
-
mod2_method_called = false
|
212
|
-
mod2 = Module.new do
|
213
|
-
define_method :mod2_method do
|
214
|
-
mod2_method_called = true
|
215
|
-
end
|
216
|
-
end
|
217
|
-
|
218
|
-
shared_example_group.__send__ :include, mod2
|
219
|
-
|
220
|
-
example_group.it_should_behave_like("shared example_group")
|
221
|
-
example_group.include mod1
|
222
|
-
|
223
|
-
example_group.it("test") do
|
224
|
-
mod1_method
|
225
|
-
mod2_method
|
226
|
-
end
|
227
|
-
example_group.run(options)
|
228
|
-
mod1_method_called.should be_true
|
229
|
-
mod2_method_called.should be_true
|
230
|
-
end
|
231
|
-
|
232
|
-
it "should make methods defined in the shared example_group available in consuming example_group" do
|
233
|
-
shared_example_group = SharedExampleGroup.register("shared example_group xyz") do
|
234
|
-
def a_shared_helper_method
|
235
|
-
"this got defined in a shared example_group"
|
236
|
-
end
|
237
|
-
end
|
238
|
-
example_group.it_should_behave_like("shared example_group xyz")
|
239
|
-
success = false
|
240
|
-
example_group.it("should access a_shared_helper_method") do
|
241
|
-
a_shared_helper_method
|
242
|
-
success = true
|
243
|
-
end
|
244
|
-
example_group.run(options)
|
245
|
-
success.should be_true
|
246
|
-
end
|
247
|
-
|
248
|
-
it "should raise when named shared example_group can not be found" do
|
249
|
-
lambda {
|
250
|
-
example_group.it_should_behave_like("non-existent shared example group")
|
251
|
-
violated
|
252
|
-
}.should raise_error("Shared Example Group 'non-existent shared example group' can not be found")
|
253
|
-
end
|
254
|
-
end
|
255
|
-
end
|
256
|
-
end
|
257
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Example
|
5
|
-
class GrandParentExampleGroup < Spec::Example::ExampleGroup
|
6
|
-
describe "Grandparent ExampleGroup"
|
7
|
-
end
|
8
|
-
|
9
|
-
class ParentExampleGroup < GrandParentExampleGroup
|
10
|
-
describe "Parent ExampleGroup"
|
11
|
-
it "should bar" do
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
class ChildExampleGroup < ParentExampleGroup
|
16
|
-
describe "Child ExampleGroup"
|
17
|
-
it "should bam" do
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
describe ChildExampleGroup do
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,110 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Example
|
5
|
-
describe "implicit subject" do
|
6
|
-
describe "with a class" do
|
7
|
-
it "returns an instance of the class" do
|
8
|
-
group = Class.new(ExampleGroupDouble).describe(Array)
|
9
|
-
example = group.new(ExampleProxy.new)
|
10
|
-
example.subject.should == []
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
describe "with a Module" do
|
15
|
-
it "returns the Module" do
|
16
|
-
group = Class.new(ExampleGroupDouble).describe(Enumerable)
|
17
|
-
example = group.new(ExampleProxy.new)
|
18
|
-
example.subject.should == Enumerable
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
describe "with a string" do
|
23
|
-
it "return the string" do
|
24
|
-
group = Class.new(ExampleGroupDouble).describe('foo')
|
25
|
-
example = group.new(ExampleProxy.new)
|
26
|
-
example.subject.should == 'foo'
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
describe "with a number" do
|
31
|
-
it "returns the number" do
|
32
|
-
group = Class.new(ExampleGroupDouble).describe(15)
|
33
|
-
example = group.new(ExampleProxy.new)
|
34
|
-
example.subject.should == 15
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
describe "explicit subject" do
|
41
|
-
describe "defined in a top level group" do
|
42
|
-
it "replaces the implicit subject in that group" do
|
43
|
-
group = Class.new(ExampleGroupDouble).describe(Array)
|
44
|
-
group.subject { [1,2,3] }
|
45
|
-
example = group.new(ExampleProxy.new)
|
46
|
-
example.subject.should == [1,2,3]
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
describe "defined in a top level group" do
|
51
|
-
before(:each) do
|
52
|
-
@group = Class.new do
|
53
|
-
extend Spec::Example::Subject::ExampleGroupMethods
|
54
|
-
include Spec::Example::Subject::ExampleMethods
|
55
|
-
class << self
|
56
|
-
def described_class
|
57
|
-
Array
|
58
|
-
end
|
59
|
-
end
|
60
|
-
def described_class
|
61
|
-
self.class.described_class
|
62
|
-
end
|
63
|
-
|
64
|
-
subject {
|
65
|
-
[1,2,3]
|
66
|
-
}
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
it "is available in a nested group (subclass)" do
|
71
|
-
nested_group = Class.new(@group)
|
72
|
-
|
73
|
-
example = nested_group.new
|
74
|
-
example.subject.should == [1,2,3]
|
75
|
-
end
|
76
|
-
|
77
|
-
it "is available in a doubly nested group (subclass)" do
|
78
|
-
nested_group = Class.new(@group)
|
79
|
-
doubly_nested_group = Class.new(nested_group)
|
80
|
-
|
81
|
-
example = doubly_nested_group.new
|
82
|
-
example.subject.should == [1,2,3]
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
describe ".its (to access subject's attributes)" do
|
88
|
-
with_sandboxed_options do
|
89
|
-
it "allows before(:each) blocks on subjects in outer scope" do
|
90
|
-
group = Class.new(ExampleGroupDouble).describe(Array)
|
91
|
-
group.before(:each) { subject << 1 }
|
92
|
-
child = group.its(:length) { should == 1 }
|
93
|
-
child.run(options).should == true
|
94
|
-
end
|
95
|
-
|
96
|
-
it "passes when expectation should pass" do
|
97
|
-
group = Class.new(ExampleGroupDouble).describe(Array)
|
98
|
-
child = group.its(:length) { should == 0 }
|
99
|
-
child.run(options).should == true
|
100
|
-
end
|
101
|
-
|
102
|
-
it "fails when expectation should fail" do
|
103
|
-
group = Class.new(ExampleGroupDouble).describe(Array)
|
104
|
-
child = group.its(:length) { should == 1 }
|
105
|
-
child.run(options).should == false
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
@@ -1,194 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Fixtures
|
5
|
-
class Animal
|
6
|
-
def initialize(name,species)
|
7
|
-
@name,@species = name,species
|
8
|
-
end
|
9
|
-
|
10
|
-
def inspect
|
11
|
-
<<-EOA
|
12
|
-
<Animal
|
13
|
-
name=#{@name},
|
14
|
-
species=#{@species}
|
15
|
-
>
|
16
|
-
EOA
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
describe "Diff" do
|
23
|
-
before(:each) do
|
24
|
-
@options = ::Spec::Runner::Options.new(StringIO.new, StringIO.new)
|
25
|
-
@differ = Spec::Expectations::Differs::Default.new(@options)
|
26
|
-
end
|
27
|
-
|
28
|
-
it "should output unified diff of two strings" do
|
29
|
-
expected="foo\nbar\nzap\nthis\nis\nsoo\nvery\nvery\nequal\ninsert\na\nline\n"
|
30
|
-
actual="foo\nzap\nbar\nthis\nis\nsoo\nvery\nvery\nequal\ninsert\na\nanother\nline\n"
|
31
|
-
expected_diff= <<'EOD'
|
32
|
-
|
33
|
-
|
34
|
-
@@ -1,6 +1,6 @@
|
35
|
-
foo
|
36
|
-
-zap
|
37
|
-
bar
|
38
|
-
+zap
|
39
|
-
this
|
40
|
-
is
|
41
|
-
soo
|
42
|
-
@@ -9,6 +9,5 @@
|
43
|
-
equal
|
44
|
-
insert
|
45
|
-
a
|
46
|
-
-another
|
47
|
-
line
|
48
|
-
EOD
|
49
|
-
|
50
|
-
diff = @differ.diff_as_string(expected, actual)
|
51
|
-
diff.should eql(expected_diff)
|
52
|
-
end
|
53
|
-
|
54
|
-
it "should output unified diff message of two arrays" do
|
55
|
-
expected = [ :foo, 'bar', :baz, 'quux', :metasyntactic, 'variable', :delta, 'charlie', :width, 'quite wide' ]
|
56
|
-
actual = [ :foo, 'bar', :baz, 'quux', :metasyntactic, 'variable', :delta, 'tango' , :width, 'very wide' ]
|
57
|
-
|
58
|
-
expected_diff = <<'EOD'
|
59
|
-
|
60
|
-
|
61
|
-
@@ -5,7 +5,7 @@
|
62
|
-
:metasyntactic,
|
63
|
-
"variable",
|
64
|
-
:delta,
|
65
|
-
- "tango",
|
66
|
-
+ "charlie",
|
67
|
-
:width,
|
68
|
-
- "very wide"]
|
69
|
-
+ "quite wide"]
|
70
|
-
EOD
|
71
|
-
|
72
|
-
|
73
|
-
diff = @differ.diff_as_object(expected,actual)
|
74
|
-
diff.should == expected_diff
|
75
|
-
end
|
76
|
-
|
77
|
-
it "should output a friendly message if comparing simple hashes" do
|
78
|
-
expected = { "foo" => "bar" }
|
79
|
-
actual = { "foo" => "baz" }
|
80
|
-
|
81
|
-
expected_diff = <<'EOD'
|
82
|
-
|
83
|
-
Expected the key "foo" to be "bar", but was "baz"
|
84
|
-
|
85
|
-
EOD
|
86
|
-
|
87
|
-
|
88
|
-
diff = @differ.diff_as_hash(actual, expected)
|
89
|
-
diff.should == expected_diff
|
90
|
-
end
|
91
|
-
|
92
|
-
|
93
|
-
it "should output a friendly message if comparing simple hashes that contain different keys" do
|
94
|
-
expected = { "bar" => "foo" }
|
95
|
-
actual = { "foo" => "baz" }
|
96
|
-
|
97
|
-
expected_diff = <<'EOD'
|
98
|
-
|
99
|
-
Expected hash contains keys that target hash does not: ["bar"]
|
100
|
-
Target hash contains keys that expected hash does not: ["foo"]
|
101
|
-
Expected the key "bar" to be "foo", but was nil
|
102
|
-
|
103
|
-
EOD
|
104
|
-
|
105
|
-
|
106
|
-
diff = @differ.diff_as_hash(actual, expected)
|
107
|
-
diff.should == expected_diff
|
108
|
-
end
|
109
|
-
|
110
|
-
it "should output diff message if the hash is complex (containing Array or Hash)" do
|
111
|
-
expected = { "foo" => "bar", "fizz" => [1, 2, 3] }
|
112
|
-
actual = { "foo" => "baz", "fizz" => [1, 2] }
|
113
|
-
|
114
|
-
# UGH - 1.8.7 seems to order hash keys differently than the others
|
115
|
-
if RUBY_VERSION =~ /^1.8.7/
|
116
|
-
expected_diff = <<'EOD'
|
117
|
-
|
118
|
-
Expected the key "fizz" to be [1, 2, 3], but was [1, 2]
|
119
|
-
Expected the key "foo" to be "bar", but was "baz"
|
120
|
-
|
121
|
-
|
122
|
-
@@ -1,2 +1,2 @@
|
123
|
-
-{"fizz"=>[1, 2, 3], "foo"=>"bar"}
|
124
|
-
+{"fizz"=>[1, 2], "foo"=>"baz"}
|
125
|
-
EOD
|
126
|
-
else
|
127
|
-
expected_diff = <<'EOD'
|
128
|
-
|
129
|
-
Expected the key "fizz" to be [1, 2, 3], but was [1, 2]
|
130
|
-
Expected the key "foo" to be "bar", but was "baz"
|
131
|
-
|
132
|
-
|
133
|
-
@@ -1,2 +1,2 @@
|
134
|
-
-{"foo"=>"bar", "fizz"=>[1, 2, 3]}
|
135
|
-
+{"foo"=>"baz", "fizz"=>[1, 2]}
|
136
|
-
EOD
|
137
|
-
end
|
138
|
-
|
139
|
-
diff = @differ.diff_as_hash(actual, expected)
|
140
|
-
diff.should == expected_diff
|
141
|
-
end
|
142
|
-
|
143
|
-
|
144
|
-
it "should output unified diff message of two objects" do
|
145
|
-
expected = Spec::Fixtures::Animal.new "bob", "giraffe"
|
146
|
-
actual = Spec::Fixtures::Animal.new "bob", "tortoise"
|
147
|
-
|
148
|
-
expected_diff = <<'EOD'
|
149
|
-
|
150
|
-
@@ -1,5 +1,5 @@
|
151
|
-
<Animal
|
152
|
-
name=bob,
|
153
|
-
- species=tortoise
|
154
|
-
+ species=giraffe
|
155
|
-
>
|
156
|
-
EOD
|
157
|
-
|
158
|
-
diff = @differ.diff_as_object(expected,actual)
|
159
|
-
diff.should == expected_diff
|
160
|
-
end
|
161
|
-
|
162
|
-
end
|
163
|
-
|
164
|
-
|
165
|
-
describe "Diff in context format" do
|
166
|
-
before(:each) do
|
167
|
-
@options = Spec::Runner::Options.new(StringIO.new, StringIO.new)
|
168
|
-
@options.diff_format = :context
|
169
|
-
@differ = Spec::Expectations::Differs::Default.new(@options)
|
170
|
-
end
|
171
|
-
|
172
|
-
it "should output unified diff message of two objects" do
|
173
|
-
expected = Spec::Fixtures::Animal.new "bob", "giraffe"
|
174
|
-
actual = Spec::Fixtures::Animal.new "bob", "tortoise"
|
175
|
-
|
176
|
-
expected_diff = <<'EOD'
|
177
|
-
|
178
|
-
***************
|
179
|
-
*** 1,5 ****
|
180
|
-
<Animal
|
181
|
-
name=bob,
|
182
|
-
! species=tortoise
|
183
|
-
>
|
184
|
-
--- 1,5 ----
|
185
|
-
<Animal
|
186
|
-
name=bob,
|
187
|
-
! species=giraffe
|
188
|
-
>
|
189
|
-
EOD
|
190
|
-
|
191
|
-
diff = @differ.diff_as_object(expected,actual)
|
192
|
-
diff.should == expected_diff
|
193
|
-
end
|
194
|
-
end
|