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,19 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Bug7611
|
4
|
-
class Foo
|
5
|
-
end
|
6
|
-
|
7
|
-
class Bar < Foo
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "A Partial Mock" do
|
11
|
-
it "should respect subclasses" do
|
12
|
-
Foo.stub!(:new).and_return(Object.new)
|
13
|
-
end
|
14
|
-
|
15
|
-
it "should" do
|
16
|
-
Bar.new.class.should == Bar
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Bug7805
|
4
|
-
#This is really a duplicate of 8302
|
5
|
-
|
6
|
-
describe "Stubs should correctly restore module methods" do
|
7
|
-
it "1 - stub the open method" do
|
8
|
-
File.stub!(:open).and_return("something")
|
9
|
-
File.open.should == "something"
|
10
|
-
end
|
11
|
-
it "2 - use File.open to create example.txt" do
|
12
|
-
filename = "#{File.dirname(__FILE__)}/example-#{Time.new.to_i}.txt"
|
13
|
-
File.exist?(filename).should be_false
|
14
|
-
file = File.open(filename,'w')
|
15
|
-
file.close
|
16
|
-
File.exist?(filename).should be_true
|
17
|
-
File.delete(filename)
|
18
|
-
File.exist?(filename).should be_false
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe "An object where respond_to? is true and does not have method" do
|
4
|
-
# When should_receive(:sym) is sent to any object, the Proxy sends
|
5
|
-
# respond_to?(:sym) to that object to see if the method should be proxied.
|
6
|
-
#
|
7
|
-
# If respond_to? itself is proxied, then when the Proxy sends respond_to?
|
8
|
-
# to the object, the proxy is invoked and responds yes (if so set in the spec).
|
9
|
-
# When the object does NOT actually respond to :sym, an exception is thrown
|
10
|
-
# when trying to proxy it.
|
11
|
-
#
|
12
|
-
# The fix was to keep track of whether :respond_to? had been proxied and, if
|
13
|
-
# so, call the munged copy of :respond_to? on the object.
|
14
|
-
|
15
|
-
it "should not raise an exception for Object" do
|
16
|
-
obj = Object.new
|
17
|
-
obj.should_receive(:respond_to?).with(:foobar).and_return(true)
|
18
|
-
obj.should_receive(:foobar).and_return(:baz)
|
19
|
-
obj.respond_to?(:foobar).should be_true
|
20
|
-
obj.foobar.should == :baz
|
21
|
-
end
|
22
|
-
|
23
|
-
it "should not raise an exception for mock" do
|
24
|
-
obj = mock("obj")
|
25
|
-
obj.should_receive(:respond_to?).with(:foobar).and_return(true)
|
26
|
-
obj.should_receive(:foobar).and_return(:baz)
|
27
|
-
obj.respond_to?(:foobar).should be_true
|
28
|
-
obj.foobar.should == :baz
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Bug8302
|
4
|
-
class Foo
|
5
|
-
def Foo.class_method(arg)
|
6
|
-
end
|
7
|
-
|
8
|
-
def instance_bar(arg)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "Bug report 8302:" do
|
13
|
-
it "class method is not restored correctly when proxied" do
|
14
|
-
Foo.should_not_receive(:class_method).with(Array.new)
|
15
|
-
Foo.rspec_verify
|
16
|
-
Foo.class_method(Array.new)
|
17
|
-
end
|
18
|
-
|
19
|
-
it "instance method is not restored correctly when proxied" do
|
20
|
-
foo = Foo.new
|
21
|
-
foo.should_not_receive(:instance_bar).with(Array.new)
|
22
|
-
foo.rspec_verify
|
23
|
-
foo.instance_bar(Array.new)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
describe 'Calling a method that catches StandardError' do
|
6
|
-
class Foo
|
7
|
-
def self.foo
|
8
|
-
bar
|
9
|
-
rescue StandardError
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'still reports mock failures' do
|
14
|
-
Foo.should_not_receive :bar
|
15
|
-
lambda do
|
16
|
-
Foo.foo
|
17
|
-
end.should raise_error(MockExpectationError)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
describe "stubbing a base class class method" do
|
6
|
-
before do
|
7
|
-
@base_class = Class.new
|
8
|
-
@concrete_class = Class.new(@base_class)
|
9
|
-
|
10
|
-
@base_class.stub!(:find).and_return "stubbed_value"
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should return the value for the stub on the base class" do
|
14
|
-
@base_class.find.should == "stubbed_value"
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should return the value for the descendent class" do
|
18
|
-
@concrete_class.find.should == "stubbed_value"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe "double" do
|
4
|
-
it "is an alias for stub and mock" do
|
5
|
-
double().should be_a(Spec::Mocks::Mock)
|
6
|
-
end
|
7
|
-
|
8
|
-
it "uses 'Double' in failure messages" do
|
9
|
-
double = double('name')
|
10
|
-
expect {double.foo}.to raise_error(/Double "name" received/)
|
11
|
-
end
|
12
|
-
end
|
@@ -1,95 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
describe "failing MockArgumentMatchers" do
|
6
|
-
before(:each) do
|
7
|
-
@mock = mock("test mock")
|
8
|
-
@reporter = Mock.new("reporter", :null_object => true)
|
9
|
-
end
|
10
|
-
|
11
|
-
after(:each) do
|
12
|
-
@mock.rspec_reset
|
13
|
-
end
|
14
|
-
|
15
|
-
it "should reject non boolean" do
|
16
|
-
@mock.should_receive(:random_call).with(boolean())
|
17
|
-
lambda do
|
18
|
-
@mock.random_call("false")
|
19
|
-
end.should raise_error(MockExpectationError)
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should reject non numeric" do
|
23
|
-
@mock.should_receive(:random_call).with(an_instance_of(Numeric))
|
24
|
-
lambda do
|
25
|
-
@mock.random_call("1")
|
26
|
-
end.should raise_error(MockExpectationError)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should reject non string" do
|
30
|
-
@mock.should_receive(:random_call).with(an_instance_of(String))
|
31
|
-
lambda do
|
32
|
-
@mock.random_call(123)
|
33
|
-
end.should raise_error(MockExpectationError)
|
34
|
-
end
|
35
|
-
|
36
|
-
it "should reject goose when expecting a duck" do
|
37
|
-
@mock.should_receive(:random_call).with(duck_type(:abs, :div))
|
38
|
-
lambda { @mock.random_call("I don't respond to :abs or :div") }.should raise_error(MockExpectationError)
|
39
|
-
end
|
40
|
-
|
41
|
-
it "should fail if regexp does not match submitted string" do
|
42
|
-
@mock.should_receive(:random_call).with(/bcd/)
|
43
|
-
lambda { @mock.random_call("abc") }.should raise_error(MockExpectationError)
|
44
|
-
end
|
45
|
-
|
46
|
-
it "should fail if regexp does not match submitted regexp" do
|
47
|
-
@mock.should_receive(:random_call).with(/bcd/)
|
48
|
-
lambda { @mock.random_call(/bcde/) }.should raise_error(MockExpectationError)
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should fail for a hash w/ wrong values" do
|
52
|
-
@mock.should_receive(:random_call).with(:a => "b", :c => "d")
|
53
|
-
lambda do
|
54
|
-
@mock.random_call(:a => "b", :c => "e")
|
55
|
-
end.should raise_error(MockExpectationError, /Mock "test mock" received :random_call with unexpected arguments\n expected: \(\{(:a=>\"b\", :c=>\"d\"|:c=>\"d\", :a=>\"b\")\}\)\n got: \(\{(:a=>\"b\", :c=>\"e\"|:c=>\"e\", :a=>\"b\")\}\)/)
|
56
|
-
end
|
57
|
-
|
58
|
-
it "should fail for a hash w/ wrong keys" do
|
59
|
-
@mock.should_receive(:random_call).with(:a => "b", :c => "d")
|
60
|
-
lambda do
|
61
|
-
@mock.random_call("a" => "b", "c" => "d")
|
62
|
-
end.should raise_error(MockExpectationError, /Mock "test mock" received :random_call with unexpected arguments\n expected: \(\{(:a=>\"b\", :c=>\"d\"|:c=>\"d\", :a=>\"b\")\}\)\n got: \(\{(\"a\"=>\"b\", \"c\"=>\"d\"|\"c\"=>\"d\", \"a\"=>\"b\")\}\)/)
|
63
|
-
end
|
64
|
-
|
65
|
-
it "should match against a Matcher" do
|
66
|
-
lambda do
|
67
|
-
@mock.should_receive(:msg).with(equal(3))
|
68
|
-
@mock.msg(37)
|
69
|
-
end.should raise_error(MockExpectationError, "Mock \"test mock\" received :msg with unexpected arguments\n expected: (equal 3)\n got: (37)")
|
70
|
-
end
|
71
|
-
|
72
|
-
it "should fail no_args with one arg" do
|
73
|
-
lambda do
|
74
|
-
@mock.should_receive(:msg).with(no_args)
|
75
|
-
@mock.msg(37)
|
76
|
-
end.should raise_error(MockExpectationError, "Mock \"test mock\" received :msg with unexpected arguments\n expected: (no args)\n got: (37)")
|
77
|
-
end
|
78
|
-
|
79
|
-
it "should fail hash_including with missing key" do
|
80
|
-
lambda do
|
81
|
-
@mock.should_receive(:msg).with(hash_including(:a => 1))
|
82
|
-
@mock.msg({})
|
83
|
-
end.should raise_error(MockExpectationError, "Mock \"test mock\" received :msg with unexpected arguments\n expected: (hash_including(:a=>1))\n got: ({})")
|
84
|
-
end
|
85
|
-
|
86
|
-
it "should fail with block matchers" do
|
87
|
-
lambda do
|
88
|
-
@mock.should_receive(:msg).with {|arg| arg.should == :received }
|
89
|
-
@mock.msg :no_msg_for_you
|
90
|
-
end.should raise_error(Spec::Expectations::ExpectationNotMetError, /expected: :received.*\s*.*got: :no_msg_for_you/)
|
91
|
-
end
|
92
|
-
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
@@ -1,90 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
module ArgumentMatchers
|
6
|
-
describe HashIncludingMatcher do
|
7
|
-
|
8
|
-
it "should describe itself properly" do
|
9
|
-
HashIncludingMatcher.new(:a => 1).description.should == "hash_including(:a=>1)"
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "passing" do
|
13
|
-
it "should match the same hash" do
|
14
|
-
hash_including(:a => 1).should == {:a => 1}
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should match a hash with extra stuff" do
|
18
|
-
hash_including(:a => 1).should == {:a => 1, :b => 2}
|
19
|
-
end
|
20
|
-
|
21
|
-
describe "when matching against other matchers" do
|
22
|
-
it "should match an int against anything()" do
|
23
|
-
hash_including(:a => anything, :b => 2).should == {:a => 1, :b => 2}
|
24
|
-
end
|
25
|
-
|
26
|
-
it "should match a string against anything()" do
|
27
|
-
hash_including(:a => anything, :b => 2).should == {:a => "1", :b => 2}
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
describe "when passed only keys or keys mixed with key/value pairs" do
|
32
|
-
it "should match if the key is present" do
|
33
|
-
hash_including(:a).should == {:a => 1, :b => 2}
|
34
|
-
end
|
35
|
-
|
36
|
-
it "should match if more keys are present" do
|
37
|
-
hash_including(:a, :b).should == {:a => 1, :b => 2, :c => 3}
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should match a string against a given key" do
|
41
|
-
hash_including(:a).should == {:a => "1", :b => 2}
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should match if passed one key and one key/value pair" do
|
45
|
-
hash_including(:a, :b => 2).should == {:a => 1, :b => 2}
|
46
|
-
end
|
47
|
-
|
48
|
-
it "should match if passed many keys and one key/value pair" do
|
49
|
-
hash_including(:a, :b, :c => 3).should == {:a => 1, :b => 2, :c => 3, :d => 4}
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should match if passed many keys and many key/value pairs" do
|
53
|
-
hash_including(:a, :b, :c => 3, :e => 5).should == {:a => 1, :b => 2, :c => 3, :d => 4, :e => 5}
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
describe "failing" do
|
59
|
-
it "should not match a non-hash" do
|
60
|
-
hash_including(:a => 1).should_not == 1
|
61
|
-
end
|
62
|
-
|
63
|
-
it "should not match a hash with a missing key" do
|
64
|
-
hash_including(:a => 1).should_not == {:b => 2}
|
65
|
-
end
|
66
|
-
|
67
|
-
it "should not match a hash with a missing key" do
|
68
|
-
hash_including(:a).should_not == {:b => 2}
|
69
|
-
end
|
70
|
-
|
71
|
-
it "should not match an empty hash with a given key" do
|
72
|
-
hash_including(:a).should_not == {}
|
73
|
-
end
|
74
|
-
|
75
|
-
it "should not match a hash with a missing key when one pair is matching" do
|
76
|
-
hash_including(:a, :b => 2).should_not == {:b => 2}
|
77
|
-
end
|
78
|
-
|
79
|
-
it "should not match a hash with an incorrect value" do
|
80
|
-
hash_including(:a => 1, :b => 2).should_not == {:a => 1, :b => 3}
|
81
|
-
end
|
82
|
-
|
83
|
-
it "should not match when values are nil but keys are different" do
|
84
|
-
hash_including(:a => nil).should_not == {:b => nil}
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
@@ -1,67 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
module ArgumentMatchers
|
6
|
-
describe HashNotIncludingMatcher do
|
7
|
-
|
8
|
-
it "should describe itself properly" do
|
9
|
-
HashNotIncludingMatcher.new(:a => 5).description.should == "hash_not_including(:a=>5)"
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "passing" do
|
13
|
-
it "should match a hash without the specified key" do
|
14
|
-
hash_not_including(:c).should == {:a => 1, :b => 2}
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should match a hash with the specified key, but different value" do
|
18
|
-
hash_not_including(:b => 3).should == {:a => 1, :b => 2}
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should match a hash without the specified key, given as anything()" do
|
22
|
-
hash_not_including(:c => anything).should == {:a => 1, :b => 2}
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should match an empty hash" do
|
26
|
-
hash_not_including(:a).should == {}
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should match a hash without any of the specified keys" do
|
30
|
-
hash_not_including(:a, :b, :c).should == { :d => 7}
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
describe "failing" do
|
36
|
-
it "should not match a non-hash" do
|
37
|
-
hash_not_including(:a => 1).should_not == 1
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should not match a hash with a specified key" do
|
41
|
-
hash_not_including(:b).should_not == {:b => 2}
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should not match a hash with the specified key/value pair" do
|
45
|
-
hash_not_including(:b => 2).should_not == {:a => 1, :b => 2}
|
46
|
-
end
|
47
|
-
|
48
|
-
it "should not match a hash with the specified key" do
|
49
|
-
hash_not_including(:a, :b => 3).should_not == {:a => 1, :b => 2}
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should not match a hash with one of the specified keys" do
|
53
|
-
hash_not_including(:a, :b).should_not == {:b => 2}
|
54
|
-
end
|
55
|
-
|
56
|
-
it "should not match a hash with some of the specified keys" do
|
57
|
-
hash_not_including(:a, :b, :c).should_not == {:a => 1, :b => 2}
|
58
|
-
end
|
59
|
-
|
60
|
-
it "should not match a hash with one key/value pair included" do
|
61
|
-
hash_not_including(:a, :b, :c, :d => 7).should_not == { :d => 7}
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
@@ -1,94 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spec
|
4
|
-
module Mocks
|
5
|
-
|
6
|
-
describe "Mock ordering" do
|
7
|
-
|
8
|
-
before do
|
9
|
-
@mock = mock("test mock")
|
10
|
-
end
|
11
|
-
|
12
|
-
after do
|
13
|
-
@mock.rspec_reset
|
14
|
-
end
|
15
|
-
|
16
|
-
it "should pass two calls in order" do
|
17
|
-
@mock.should_receive(:one).ordered
|
18
|
-
@mock.should_receive(:two).ordered
|
19
|
-
@mock.one
|
20
|
-
@mock.two
|
21
|
-
@mock.rspec_verify
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should pass three calls in order" do
|
25
|
-
@mock.should_receive(:one).ordered
|
26
|
-
@mock.should_receive(:two).ordered
|
27
|
-
@mock.should_receive(:three).ordered
|
28
|
-
@mock.one
|
29
|
-
@mock.two
|
30
|
-
@mock.three
|
31
|
-
@mock.rspec_verify
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should fail if second call comes first" do
|
35
|
-
@mock.should_receive(:one).ordered
|
36
|
-
@mock.should_receive(:two).ordered
|
37
|
-
lambda do
|
38
|
-
@mock.two
|
39
|
-
end.should raise_error(MockExpectationError, "Mock \"test mock\" received :two out of order")
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should fail if third call comes first" do
|
43
|
-
@mock.should_receive(:one).ordered
|
44
|
-
@mock.should_receive(:two).ordered
|
45
|
-
@mock.should_receive(:three).ordered
|
46
|
-
@mock.one
|
47
|
-
lambda do
|
48
|
-
@mock.three
|
49
|
-
end.should raise_error(MockExpectationError, "Mock \"test mock\" received :three out of order")
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should fail if third call comes second" do
|
53
|
-
@mock.should_receive(:one).ordered
|
54
|
-
@mock.should_receive(:two).ordered
|
55
|
-
@mock.should_receive(:three).ordered
|
56
|
-
@mock.one
|
57
|
-
lambda do
|
58
|
-
@mock.three
|
59
|
-
end.should raise_error(MockExpectationError, "Mock \"test mock\" received :three out of order")
|
60
|
-
end
|
61
|
-
|
62
|
-
it "should ignore order of non ordered calls" do
|
63
|
-
@mock.should_receive(:ignored_0)
|
64
|
-
@mock.should_receive(:ordered_1).ordered
|
65
|
-
@mock.should_receive(:ignored_1)
|
66
|
-
@mock.should_receive(:ordered_2).ordered
|
67
|
-
@mock.should_receive(:ignored_2)
|
68
|
-
@mock.should_receive(:ignored_3)
|
69
|
-
@mock.should_receive(:ordered_3).ordered
|
70
|
-
@mock.should_receive(:ignored_4)
|
71
|
-
@mock.ignored_3
|
72
|
-
@mock.ordered_1
|
73
|
-
@mock.ignored_0
|
74
|
-
@mock.ordered_2
|
75
|
-
@mock.ignored_4
|
76
|
-
@mock.ignored_2
|
77
|
-
@mock.ordered_3
|
78
|
-
@mock.ignored_1
|
79
|
-
@mock.rspec_verify
|
80
|
-
end
|
81
|
-
|
82
|
-
it "should pass when duplicates exist" do
|
83
|
-
@mock.should_receive(:a).ordered
|
84
|
-
@mock.should_receive(:b).ordered
|
85
|
-
@mock.should_receive(:a).ordered
|
86
|
-
|
87
|
-
@mock.a
|
88
|
-
@mock.b
|
89
|
-
@mock.a
|
90
|
-
end
|
91
|
-
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|