has_finder 0.1.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/History.txt +4 -0
- data/License.txt +20 -0
- data/Manifest.txt +431 -0
- data/README.txt +1 -0
- data/Rakefile +4 -0
- data/config/hoe.rb +70 -0
- data/config/requirements.rb +17 -0
- data/lib/has_finder.rb +1 -0
- data/lib/has_finder/has_finder.rb +84 -0
- data/lib/has_finder/metaid.rb +15 -0
- data/lib/has_finder/version.rb +9 -0
- data/log/debug.log +0 -0
- data/nbproject/private/private.xml +4 -0
- data/nbproject/private/rake-t.txt +1 -0
- data/nbproject/project.properties +4 -0
- data/nbproject/project.xml +15 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/setup.rb +1585 -0
- data/spec/rails/README +182 -0
- data/spec/rails/Rakefile +10 -0
- data/spec/rails/app/controllers/application.rb +7 -0
- data/spec/rails/app/helpers/application_helper.rb +3 -0
- data/spec/rails/app/models/being.rb +3 -0
- data/spec/rails/config/boot.rb +45 -0
- data/spec/rails/config/database.yml +36 -0
- data/spec/rails/config/environment.rb +62 -0
- data/spec/rails/config/environments/development.rb +21 -0
- data/spec/rails/config/environments/production.rb +18 -0
- data/spec/rails/config/environments/test.rb +19 -0
- data/spec/rails/config/routes.rb +23 -0
- data/spec/rails/db/migrate/001_create_beings.rb +12 -0
- data/spec/rails/db/schema.rb +17 -0
- data/spec/rails/doc/README_FOR_APP +2 -0
- data/spec/rails/log/development.log +432 -0
- data/spec/rails/log/production.log +0 -0
- data/spec/rails/log/server.log +0 -0
- data/spec/rails/log/test.log +5820 -0
- data/spec/rails/nbproject/private/config.properties +0 -0
- data/spec/rails/nbproject/private/private.properties +1 -0
- data/spec/rails/nbproject/private/rake-t.txt +54 -0
- data/spec/rails/nbproject/project.properties +4 -0
- data/spec/rails/nbproject/project.xml +9 -0
- data/spec/rails/previous_failures.txt +0 -0
- data/spec/rails/public/404.html +30 -0
- data/spec/rails/public/500.html +30 -0
- data/spec/rails/public/dispatch.cgi +10 -0
- data/spec/rails/public/dispatch.fcgi +24 -0
- data/spec/rails/public/dispatch.rb +10 -0
- data/spec/rails/public/favicon.ico +0 -0
- data/spec/rails/public/images/rails.png +0 -0
- data/spec/rails/public/index.html +277 -0
- data/spec/rails/public/javascripts/application.js +2 -0
- data/spec/rails/public/javascripts/controls.js +833 -0
- data/spec/rails/public/javascripts/dragdrop.js +942 -0
- data/spec/rails/public/javascripts/effects.js +1088 -0
- data/spec/rails/public/javascripts/prototype.js +2515 -0
- data/spec/rails/public/robots.txt +1 -0
- data/spec/rails/script/about +3 -0
- data/spec/rails/script/breakpointer +3 -0
- data/spec/rails/script/console +3 -0
- data/spec/rails/script/destroy +3 -0
- data/spec/rails/script/generate +3 -0
- data/spec/rails/script/performance/benchmarker +3 -0
- data/spec/rails/script/performance/profiler +3 -0
- data/spec/rails/script/plugin +3 -0
- data/spec/rails/script/process/inspector +3 -0
- data/spec/rails/script/process/reaper +3 -0
- data/spec/rails/script/process/spawner +3 -0
- data/spec/rails/script/runner +3 -0
- data/spec/rails/script/server +3 -0
- data/spec/rails/script/spec +4 -0
- data/spec/rails/script/spec_server +45 -0
- data/spec/rails/spec/fixtures/beings.yml +12 -0
- data/spec/rails/spec/models/being_spec.rb +98 -0
- data/spec/rails/spec/spec.opts +6 -0
- data/spec/rails/spec/spec_helper.rb +15 -0
- data/spec/rails/test/test_helper.rb +28 -0
- data/spec/rails/tmp/sessions/ruby_sess.5edc9bf3b65456d0 +0 -0
- data/spec/rails/vendor/plugins/rspec/CHANGES +797 -0
- data/spec/rails/vendor/plugins/rspec/MIT-LICENSE +20 -0
- data/spec/rails/vendor/plugins/rspec/README +70 -0
- data/spec/rails/vendor/plugins/rspec/Rakefile +304 -0
- data/spec/rails/vendor/plugins/rspec/UPGRADE +31 -0
- data/spec/rails/vendor/plugins/rspec/bin/spec +3 -0
- data/spec/rails/vendor/plugins/rspec/bin/spec_translator +8 -0
- data/spec/rails/vendor/plugins/rspec/examples/auto_spec_description_example.rb +19 -0
- data/spec/rails/vendor/plugins/rspec/examples/before_and_after_example.rb +39 -0
- data/spec/rails/vendor/plugins/rspec/examples/behave_as_example.rb +45 -0
- data/spec/rails/vendor/plugins/rspec/examples/custom_expectation_matchers.rb +54 -0
- data/spec/rails/vendor/plugins/rspec/examples/custom_formatter.rb +11 -0
- data/spec/rails/vendor/plugins/rspec/examples/dynamic_spec.rb +9 -0
- data/spec/rails/vendor/plugins/rspec/examples/file_accessor.rb +18 -0
- data/spec/rails/vendor/plugins/rspec/examples/file_accessor_spec.rb +38 -0
- data/spec/rails/vendor/plugins/rspec/examples/greeter_spec.rb +30 -0
- data/spec/rails/vendor/plugins/rspec/examples/helper_method_example.rb +11 -0
- data/spec/rails/vendor/plugins/rspec/examples/io_processor.rb +8 -0
- data/spec/rails/vendor/plugins/rspec/examples/io_processor_spec.rb +21 -0
- data/spec/rails/vendor/plugins/rspec/examples/legacy_spec.rb +10 -0
- data/spec/rails/vendor/plugins/rspec/examples/mocking_example.rb +27 -0
- data/spec/rails/vendor/plugins/rspec/examples/multi_threaded_behaviour_runner.rb +25 -0
- data/spec/rails/vendor/plugins/rspec/examples/not_yet_implemented_spec.rb +12 -0
- data/spec/rails/vendor/plugins/rspec/examples/partial_mock_example.rb +28 -0
- data/spec/rails/vendor/plugins/rspec/examples/predicate_example.rb +27 -0
- data/spec/rails/vendor/plugins/rspec/examples/priority.txt +1 -0
- data/spec/rails/vendor/plugins/rspec/examples/shared_behaviours_example.rb +39 -0
- data/spec/rails/vendor/plugins/rspec/examples/spec_helper.rb +1 -0
- data/spec/rails/vendor/plugins/rspec/examples/stack.rb +36 -0
- data/spec/rails/vendor/plugins/rspec/examples/stack_spec.rb +97 -0
- data/spec/rails/vendor/plugins/rspec/examples/stubbing_example.rb +69 -0
- data/spec/rails/vendor/plugins/rspec/examples/test_case_adapter_example.rb +26 -0
- data/spec/rails/vendor/plugins/rspec/examples/test_case_spec.rb +65 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/diffing_spec.rb +36 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/failure_in_setup.rb +10 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/failure_in_teardown.rb +10 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/mocking_example.rb +33 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/mocking_with_flexmock.rb +26 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/mocking_with_mocha.rb +25 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/partial_mock_example.rb +20 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/predicate_example.rb +29 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/raising_example.rb +47 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/spec_helper.rb +1 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/syntax_error_example.rb +7 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/team_spec.rb +46 -0
- data/spec/rails/vendor/plugins/rspec/failing_examples/timeout_behaviour.rb +7 -0
- data/spec/rails/vendor/plugins/rspec/init.rb +3 -0
- data/spec/rails/vendor/plugins/rspec/lib/autotest/discover.rb +3 -0
- data/spec/rails/vendor/plugins/rspec/lib/autotest/rspec.rb +67 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec.rb +13 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl.rb +10 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/behaviour.rb +210 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/behaviour_callbacks.rb +78 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/behaviour_eval.rb +220 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/behaviour_factory.rb +42 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/composite_proc_builder.rb +28 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/configuration.rb +119 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/description.rb +69 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/example.rb +127 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/example_matcher.rb +40 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/example_should_raise_handler.rb +74 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/expectations.rb +56 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/differs/default.rb +61 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/errors.rb +6 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/extensions.rb +2 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb +66 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/handler.rb +43 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/extensions.rb +1 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/extensions/object.rb +6 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers.rb +166 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/be.rb +206 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/be_close.rb +37 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/change.rb +120 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/eql.rb +43 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/equal.rb +43 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/has.rb +44 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/have.rb +145 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/include.rb +70 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/match.rb +41 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +72 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +100 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/respond_to.rb +45 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/satisfy.rb +47 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb +72 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks.rb +208 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb +27 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +183 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/error_generator.rb +84 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/errors.rb +10 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/extensions/object.rb +3 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +231 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/methods.rb +35 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/mock.rb +29 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/order_group.rb +29 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +163 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/space.rb +28 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/spec_methods.rb +30 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/rake/spectask.rb +175 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb +52 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner.rb +165 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +56 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/behaviour_runner.rb +102 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/command_line.rb +22 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/drb_command_line.rb +21 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/extensions/kernel.rb +50 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/extensions/object.rb +32 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter.rb +9 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +68 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +102 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/failing_behaviours_formatter.rb +25 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +22 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +316 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +30 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/rdoc_formatter.rb +24 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +28 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb +72 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +226 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/options.rb +158 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/reporter.rb +114 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/runner/spec_parser.rb +50 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/test_case_adapter.rb +10 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/translator.rb +106 -0
- data/spec/rails/vendor/plugins/rspec/lib/spec/version.rb +22 -0
- data/spec/rails/vendor/plugins/rspec/plugins/mock_frameworks/flexmock.rb +27 -0
- data/spec/rails/vendor/plugins/rspec/plugins/mock_frameworks/mocha.rb +21 -0
- data/spec/rails/vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb +18 -0
- data/spec/rails/vendor/plugins/rspec/rake_tasks/examples.rake +7 -0
- data/spec/rails/vendor/plugins/rspec/rake_tasks/examples_specdoc.rake +9 -0
- data/spec/rails/vendor/plugins/rspec/rake_tasks/examples_with_rcov.rake +9 -0
- data/spec/rails/vendor/plugins/rspec/rake_tasks/failing_examples_with_html.rake +9 -0
- data/spec/rails/vendor/plugins/rspec/rake_tasks/verify_rcov.rake +7 -0
- data/spec/rails/vendor/plugins/rspec/spec.opts +13 -0
- data/spec/rails/vendor/plugins/rspec/spec/README.jruby +14 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/behaviour_eval_spec.rb +49 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/behaviour_factory_spec.rb +30 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/behaviour_spec.rb +624 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/composite_proc_builder_spec.rb +57 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/configuration_spec.rb +50 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/description_spec.rb +81 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/example_class_spec.rb +24 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/example_instance_spec.rb +162 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/example_should_raise_spec.rb +137 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/predicate_matcher_spec.rb +21 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/shared_behaviour_spec.rb +228 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/expectations/differs/default_spec.rb +107 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/expectations/extensions/object_spec.rb +46 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/expectations/fail_with_spec.rb +71 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/be_close_spec.rb +39 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +209 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +232 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/description_generation_spec.rb +159 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/eql_spec.rb +28 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/equal_spec.rb +28 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/exist_spec.rb +48 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb +88 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +37 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +272 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/include_spec.rb +45 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/match_spec.rb +37 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb +78 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/mock_constraint_matchers_spec.rb +24 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +158 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +147 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb +54 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb +51 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +29 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/argument_expectation_spec.rb +19 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +114 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb +84 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +377 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb +40 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb +33 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +52 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +148 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb +159 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb +12 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/behaviour_runner_spec.rb +206 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb +33 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/context_matching_spec.rb +27 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +81 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/empty_file.txt +0 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/example_matcher_spec.rb +127 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/examples.txt +2 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/execution_context_spec.rb +31 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/extensions/kernel_spec.rb +36 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/failed.txt +3 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb +27 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +28 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html +333 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +344 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html +338 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +338 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +56 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +21 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +36 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +78 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb +19 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/rdoc_formatter_spec.rb +46 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +11 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb +21 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +56 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +63 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/heckler_spec.rb +14 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +45 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/object_ext_spec.rb +11 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +348 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +142 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +56 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +153 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/spec.opts +2 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb +93 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/runner/spec_spaced.opts +2 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/spec_classes.rb +111 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec/translator_spec.rb +216 -0
- data/spec/rails/vendor/plugins/rspec/spec/spec_helper.rb +43 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/MIT-LICENSE +31 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/README +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/Rakefile +9 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/CHANGES +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/rspec_generator.rb +31 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/templates/previous_failures.txt +0 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec +4 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec_server +45 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec.opts +6 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec_helper.rb +26 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_controller/USAGE +33 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_controller/rspec_controller_generator.rb +42 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/controller_spec.rb +23 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb +11 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/view_spec.rb +12 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_model/USAGE +18 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_model/rspec_model_generator.rb +30 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_model/templates/model_spec.rb +11 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +161 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb +303 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +25 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb +4 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb +22 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/new_erb_spec.rb +26 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb +22 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/init.rb +9 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb +81 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/dsl.rb +2 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/dsl/configuration.rb +23 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/matchers.rb +3 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/matchers/have.rb +12 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails.rb +57 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl.rb +40 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/assigns_hash_proxy.rb +42 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour.rb +8 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/base.rb +82 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/controller.rb +246 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/functional.rb +90 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/helper.rb +100 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/model.rb +21 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/view.rb +185 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/ivar_proxy.rb +62 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions.rb +7 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/base.rb +11 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/rescue.rb +10 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/test_response.rb +5 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_view/base.rb +26 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/active_record/base.rb +29 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/object.rb +5 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers.rb +29 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/assert_select.rb +131 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb +55 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb +106 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/render_template.rb +63 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb +26 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/assigns_hash_proxy_spec.rb +55 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/behaviour_factory_spec.rb +53 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/controller_isolation_spec.rb +43 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/controller_spec_spec.rb +124 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/helper_spec_spec.rb +62 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/ivar_proxy_spec.rb +64 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/model_spec_spec.rb +14 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/shared_behaviour_spec.rb +16 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/test_unit_assertion_accessibility_spec.rb +28 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/view_spec_spec.rb +165 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/extensions/active_record_spec.rb +17 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb +718 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/matchers/description_generation_spec.rb +42 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb +183 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/matchers/render_spec.rb +112 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec/spec_helper.rb +40 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb +36 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/controllers/redirect_spec_controller.rb +59 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/controllers/render_spec_controller.rb +18 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/controllers/rjs_spec_controller.rb +58 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/helpers/explicit_helper.rb +10 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/helpers/more_explicit_helper.rb +5 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/helpers/plugin_application_helper.rb +6 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/helpers/view_spec_helper.rb +13 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/_a_partial.rhtml +0 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml +0 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_template.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/_a_partial.rhtml +0 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.js.rjs +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rhtml +0 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rjs +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/_replacement_partial.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_div.rjs +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_page_element.rjs +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/insert_html.rjs +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace.rjs +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html.rjs +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html_with_partial.rjs +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_effect.rjs +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_toggle_effect.rjs +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/no_tags.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_included_partial.rhtml +2 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_included_partial_collection_with_spacer_template.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_local_variable.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_spacer.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/accessor.rhtml +3 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/entry_form.rhtml +2 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/explicit_helper.rhtml +2 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/multiple_helpers.rhtml +3 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/partial_collection_including_template.rhtml +2 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/partial_including_template.rhtml +2 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/partial_with_array.rhtml +1 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/show.rhtml +2 -0
- data/spec/rails/vendor/plugins/rspec_on_rails/tasks/rspec.rake +90 -0
- data/tasks/deployment.rake +27 -0
- data/tasks/environment.rake +7 -0
- data/tasks/website.rake +9 -0
- data/test/test_has_finder.rb +11 -0
- data/test/test_helper.rb +2 -0
- metadata +490 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper.rb'
|
|
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
|
data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper.rb'
|
|
2
|
+
|
|
3
|
+
module Spec
|
|
4
|
+
module Mocks
|
|
5
|
+
describe "failing MockArgumentConstraints" 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' expected :random_call with \(\{(:a=>\"b\", :c=>\"d\"|:c=>\"d\", :a=>\"b\")\}\) but received it with \(\{(: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' expected :random_call with \(\{(:a=>\"b\", :c=>\"d\"|:c=>\"d\", :a=>\"b\")\}\) but received it with \(\{(\"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' expected :msg with (equal 3) but received it with (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' expected :msg with (no args) but received it with (37)")
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
describe "failing deprecated MockArgumentConstraints" do
|
|
81
|
+
before(:each) do
|
|
82
|
+
@mock = mock("test mock")
|
|
83
|
+
@reporter = Mock.new("reporter", :null_object => true)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
after(:each) do
|
|
87
|
+
@mock.rspec_reset
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
it "should reject non boolean" do
|
|
91
|
+
@mock.should_receive(:random_call).with(:boolean)
|
|
92
|
+
lambda do
|
|
93
|
+
@mock.random_call("false")
|
|
94
|
+
end.should raise_error(MockExpectationError)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
it "should reject non numeric" do
|
|
98
|
+
@mock.should_receive(:random_call).with(:numeric)
|
|
99
|
+
lambda do
|
|
100
|
+
@mock.random_call("1")
|
|
101
|
+
end.should raise_error(MockExpectationError)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
it "should reject non string" do
|
|
105
|
+
@mock.should_receive(:random_call).with(:string)
|
|
106
|
+
lambda do
|
|
107
|
+
@mock.random_call(123)
|
|
108
|
+
end.should raise_error(MockExpectationError)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../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
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper.rb'
|
|
2
|
+
require 'spec/mocks'
|
|
3
|
+
|
|
4
|
+
module Spec
|
|
5
|
+
module Mocks
|
|
6
|
+
describe Space do
|
|
7
|
+
before :each do
|
|
8
|
+
@space = Space.new
|
|
9
|
+
klazz = Class.new do
|
|
10
|
+
def rspec_verify
|
|
11
|
+
@verified = true
|
|
12
|
+
end
|
|
13
|
+
def verified?
|
|
14
|
+
@verified
|
|
15
|
+
end
|
|
16
|
+
def rspec_reset
|
|
17
|
+
@reset = true
|
|
18
|
+
end
|
|
19
|
+
def reset?
|
|
20
|
+
@reset
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
@m1 = klazz.new
|
|
24
|
+
@m2 = klazz.new
|
|
25
|
+
end
|
|
26
|
+
it "should verify all mocks within" do
|
|
27
|
+
@space.add(@m1)
|
|
28
|
+
@space.add(@m2)
|
|
29
|
+
@space.verify_all
|
|
30
|
+
@m1.should be_verified
|
|
31
|
+
@m2.should be_verified
|
|
32
|
+
end
|
|
33
|
+
it "should reset all mocks within" do
|
|
34
|
+
@space.add(m1 = mock("mock1"))
|
|
35
|
+
@space.add(m2 = mock("mock2"))
|
|
36
|
+
m1.should_receive(:rspec_reset)
|
|
37
|
+
m2.should_receive(:rspec_reset)
|
|
38
|
+
@space.reset_all
|
|
39
|
+
end
|
|
40
|
+
it "should clear internal mocks on reset_all" do
|
|
41
|
+
@space.add(m = mock("mock"))
|
|
42
|
+
@space.reset_all
|
|
43
|
+
@space.instance_eval { mocks.empty? }.should be_true
|
|
44
|
+
end
|
|
45
|
+
it "should only add an instance once" do
|
|
46
|
+
@space.add(m1 = mock("mock1"))
|
|
47
|
+
@space.add(m1)
|
|
48
|
+
m1.should_receive(:rspec_verify)
|
|
49
|
+
@space.verify_all
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
+
|
|
3
|
+
module Spec
|
|
4
|
+
module Mocks
|
|
5
|
+
describe "a Mock expectation" do
|
|
6
|
+
|
|
7
|
+
before do
|
|
8
|
+
@mock = mock("test mock")
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
after do
|
|
12
|
+
@mock.rspec_reset
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it "should report line number of expectation of unreceived message" do
|
|
16
|
+
@mock.should_receive(:wont_happen).with("x", 3)
|
|
17
|
+
#NOTE - this test is quite ticklish because it specifies that
|
|
18
|
+
#the above statement appears on line 12 of this file.
|
|
19
|
+
|
|
20
|
+
begin
|
|
21
|
+
@mock.rspec_verify
|
|
22
|
+
violated
|
|
23
|
+
rescue MockExpectationError => e
|
|
24
|
+
e.backtrace[0].should match(/mock_spec\.rb:16/)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "should pass when not receiving message specified as not to be received" do
|
|
30
|
+
@mock.should_not_receive(:not_expected)
|
|
31
|
+
@mock.rspec_verify
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it "should pass when receiving message specified as not to be received with different args" do
|
|
35
|
+
@mock.should_not_receive(:message).with("unwanted text")
|
|
36
|
+
@mock.should_receive(:message).with("other text")
|
|
37
|
+
@mock.message "other text"
|
|
38
|
+
@mock.rspec_verify
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it "should fail when receiving message specified as not to be received" do
|
|
42
|
+
@mock.should_not_receive(:not_expected)
|
|
43
|
+
@mock.not_expected
|
|
44
|
+
begin
|
|
45
|
+
@mock.rspec_verify
|
|
46
|
+
violated
|
|
47
|
+
rescue MockExpectationError => e
|
|
48
|
+
e.message.should == "Mock 'test mock' expected :not_expected with (any args) 0 times, but received it once"
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it "should fail when receiving message specified as not to be received with args" do
|
|
53
|
+
@mock.should_not_receive(:not_expected).with("unexpected text")
|
|
54
|
+
@mock.not_expected("unexpected text")
|
|
55
|
+
begin
|
|
56
|
+
@mock.rspec_verify
|
|
57
|
+
violated
|
|
58
|
+
rescue MockExpectationError => e
|
|
59
|
+
e.message.should == "Mock 'test mock' expected :not_expected with (\"unexpected text\") 0 times, but received it once"
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
it "should pass when receiving message specified as not to be received with wrong args" do
|
|
64
|
+
@mock.should_not_receive(:not_expected).with("unexpected text")
|
|
65
|
+
@mock.not_expected "really unexpected text"
|
|
66
|
+
@mock.rspec_verify
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
it "should allow block to calculate return values" do
|
|
70
|
+
@mock.should_receive(:something).with("a","b","c").and_return { |a,b,c| c+b+a }
|
|
71
|
+
@mock.something("a","b","c").should == "cba"
|
|
72
|
+
@mock.rspec_verify
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
it "should allow parameter as return value" do
|
|
76
|
+
@mock.should_receive(:something).with("a","b","c").and_return("booh")
|
|
77
|
+
@mock.something("a","b","c").should == "booh"
|
|
78
|
+
@mock.rspec_verify
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
it "should return nil if no return value set" do
|
|
82
|
+
@mock.should_receive(:something).with("a","b","c")
|
|
83
|
+
@mock.something("a","b","c").should be_nil
|
|
84
|
+
@mock.rspec_verify
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
it "should raise exception if args dont match when method called" do
|
|
88
|
+
@mock.should_receive(:something).with("a","b","c").and_return("booh")
|
|
89
|
+
begin
|
|
90
|
+
@mock.something("a","d","c")
|
|
91
|
+
violated
|
|
92
|
+
rescue MockExpectationError => e
|
|
93
|
+
e.message.should == "Mock 'test mock' expected :something with (\"a\", \"b\", \"c\") but received it with (\"a\", \"d\", \"c\")"
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
it "should fail if unexpected method called" do
|
|
98
|
+
begin
|
|
99
|
+
@mock.something("a","b","c")
|
|
100
|
+
violated
|
|
101
|
+
rescue MockExpectationError => e
|
|
102
|
+
e.message.should == "Mock 'test mock' received unexpected message :something with (\"a\", \"b\", \"c\")"
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
it "should use block for expectation if provided" do
|
|
107
|
+
@mock.should_receive(:something) do | a, b |
|
|
108
|
+
a.should == "a"
|
|
109
|
+
b.should == "b"
|
|
110
|
+
"booh"
|
|
111
|
+
end
|
|
112
|
+
@mock.something("a", "b").should == "booh"
|
|
113
|
+
@mock.rspec_verify
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
it "should fail if expectation block fails" do
|
|
117
|
+
@mock.should_receive(:something) {| bool | bool.should be_true}
|
|
118
|
+
begin
|
|
119
|
+
@mock.something false
|
|
120
|
+
rescue MockExpectationError => e
|
|
121
|
+
e.message.should match(/Mock 'test mock' received :something but passed block failed with: expected true, got false/)
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
it "should fail when method defined as never is received" do
|
|
126
|
+
@mock.should_receive(:not_expected).never
|
|
127
|
+
begin
|
|
128
|
+
@mock.not_expected
|
|
129
|
+
rescue MockExpectationError => e
|
|
130
|
+
e.message.should == "Mock 'test mock' expected :not_expected 0 times, but received it 1 times"
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
it "should raise when told to" do
|
|
135
|
+
@mock.should_receive(:something).and_raise(RuntimeError)
|
|
136
|
+
lambda do
|
|
137
|
+
@mock.something
|
|
138
|
+
end.should raise_error(RuntimeError)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
it "should raise passed an Exception instance" do
|
|
142
|
+
error = RuntimeError.new("error message")
|
|
143
|
+
@mock.should_receive(:something).and_raise(error)
|
|
144
|
+
begin
|
|
145
|
+
@mock.something
|
|
146
|
+
rescue RuntimeError => e
|
|
147
|
+
e.message.should eql("error message")
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
it "should raise RuntimeError with passed message" do
|
|
152
|
+
@mock.should_receive(:something).and_raise("error message")
|
|
153
|
+
begin
|
|
154
|
+
@mock.something
|
|
155
|
+
rescue RuntimeError => e
|
|
156
|
+
e.message.should eql("error message")
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
it "should not raise when told to if args dont match" do
|
|
161
|
+
@mock.should_receive(:something).with(2).and_raise(RuntimeError)
|
|
162
|
+
lambda do
|
|
163
|
+
@mock.something 1
|
|
164
|
+
end.should raise_error(MockExpectationError)
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
it "should throw when told to" do
|
|
168
|
+
@mock.should_receive(:something).and_throw(:blech)
|
|
169
|
+
lambda do
|
|
170
|
+
@mock.something
|
|
171
|
+
end.should throw_symbol(:blech)
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
it "should raise when explicit return and block constrained" do
|
|
175
|
+
lambda do
|
|
176
|
+
@mock.should_receive(:fruit) do |colour|
|
|
177
|
+
:strawberry
|
|
178
|
+
end.and_return :apple
|
|
179
|
+
end.should raise_error(AmbiguousReturnError)
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
it "should ignore args on any args" do
|
|
183
|
+
@mock.should_receive(:something).at_least(:once).with(any_args)
|
|
184
|
+
@mock.something
|
|
185
|
+
@mock.something 1
|
|
186
|
+
@mock.something "a", 2
|
|
187
|
+
@mock.something [], {}, "joe", 7
|
|
188
|
+
@mock.rspec_verify
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
it "should fail on no args if any args received" do
|
|
192
|
+
@mock.should_receive(:something).with(no_args())
|
|
193
|
+
begin
|
|
194
|
+
@mock.something 1
|
|
195
|
+
rescue MockExpectationError => e
|
|
196
|
+
e.message.should == "Mock 'test mock' expected :something with (no args) but received it with (1)"
|
|
197
|
+
end
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
it "should fail when args are expected but none are received" do
|
|
201
|
+
@mock.should_receive(:something).with(1)
|
|
202
|
+
begin
|
|
203
|
+
@mock.something
|
|
204
|
+
rescue MockExpectationError => e
|
|
205
|
+
e.message.should == "Mock 'test mock' expected :something with (1) but received it with (no args)"
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
it "should yield 0 args to blocks that take a variable number of arguments" do
|
|
210
|
+
@mock.should_receive(:yield_back).with(no_args()).once.and_yield
|
|
211
|
+
a = nil
|
|
212
|
+
@mock.yield_back {|*a|}
|
|
213
|
+
a.should == []
|
|
214
|
+
@mock.rspec_verify
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
it "should yield one arg to blocks that take a variable number of arguments" do
|
|
218
|
+
@mock.should_receive(:yield_back).with(no_args()).once.and_yield(99)
|
|
219
|
+
a = nil
|
|
220
|
+
@mock.yield_back {|*a|}
|
|
221
|
+
a.should == [99]
|
|
222
|
+
@mock.rspec_verify
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
it "should yield many args to blocks that take a variable number of arguments" do
|
|
226
|
+
@mock.should_receive(:yield_back).with(no_args()).once.and_yield(99, 27, "go")
|
|
227
|
+
a = nil
|
|
228
|
+
@mock.yield_back {|*a|}
|
|
229
|
+
a.should == [99, 27, "go"]
|
|
230
|
+
@mock.rspec_verify
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
it "should yield single value" do
|
|
234
|
+
@mock.should_receive(:yield_back).with(no_args()).once.and_yield(99)
|
|
235
|
+
a = nil
|
|
236
|
+
@mock.yield_back {|a|}
|
|
237
|
+
a.should == 99
|
|
238
|
+
@mock.rspec_verify
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
it "should yield two values" do
|
|
242
|
+
@mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
|
|
243
|
+
a, b = nil
|
|
244
|
+
@mock.yield_back {|a,b|}
|
|
245
|
+
a.should == 'wha'
|
|
246
|
+
b.should == 'zup'
|
|
247
|
+
@mock.rspec_verify
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
it "should fail when calling yielding method with wrong arity" do
|
|
251
|
+
@mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
|
|
252
|
+
begin
|
|
253
|
+
@mock.yield_back {|a|}
|
|
254
|
+
rescue MockExpectationError => e
|
|
255
|
+
e.message.should == "Mock 'test mock' yielded |\"wha\", \"zup\"| to block with arity of 1"
|
|
256
|
+
end
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
it "should fail when calling yielding method without block" do
|
|
260
|
+
@mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
|
|
261
|
+
begin
|
|
262
|
+
@mock.yield_back
|
|
263
|
+
rescue MockExpectationError => e
|
|
264
|
+
e.message.should == "Mock 'test mock' asked to yield |\"wha\", \"zup\"| but no block was passed"
|
|
265
|
+
end
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
it "should be able to mock send" do
|
|
269
|
+
@mock.should_receive(:send).with(any_args)
|
|
270
|
+
@mock.send 'hi'
|
|
271
|
+
@mock.rspec_verify
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
it "should be able to raise from method calling yielding mock" do
|
|
275
|
+
@mock.should_receive(:yield_me).and_yield 44
|
|
276
|
+
|
|
277
|
+
lambda do
|
|
278
|
+
@mock.yield_me do |x|
|
|
279
|
+
raise "Bang"
|
|
280
|
+
end
|
|
281
|
+
end.should raise_error(StandardError)
|
|
282
|
+
|
|
283
|
+
@mock.rspec_verify
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
# TODO - this is failing, but not if you run the file w/ --reverse - weird!!!!!!
|
|
287
|
+
# specify "should clear expectations after verify" do
|
|
288
|
+
# @mock.should_receive(:foobar)
|
|
289
|
+
# @mock.foobar
|
|
290
|
+
# @mock.rspec_verify
|
|
291
|
+
# begin
|
|
292
|
+
# @mock.foobar
|
|
293
|
+
# rescue MockExpectationError => e
|
|
294
|
+
# e.message.should == "Mock 'test mock' received unexpected message :foobar with (no args)"
|
|
295
|
+
# end
|
|
296
|
+
# end
|
|
297
|
+
|
|
298
|
+
it "should restore objects to their original state on rspec_reset" do
|
|
299
|
+
mock = mock("this is a mock")
|
|
300
|
+
mock.should_receive(:blah)
|
|
301
|
+
mock.rspec_reset
|
|
302
|
+
mock.rspec_verify #should throw if reset didn't work
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
describe "a mock message receiving a block" do
|
|
308
|
+
before(:each) do
|
|
309
|
+
@mock = mock("mock")
|
|
310
|
+
@calls = 0
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
def add_call
|
|
314
|
+
@calls = @calls + 1
|
|
315
|
+
end
|
|
316
|
+
|
|
317
|
+
it "should call the block after #should_receive" do
|
|
318
|
+
@mock.should_receive(:foo) { add_call }
|
|
319
|
+
|
|
320
|
+
@mock.foo
|
|
321
|
+
|
|
322
|
+
@calls.should == 1
|
|
323
|
+
end
|
|
324
|
+
|
|
325
|
+
it "should call the block after #once" do
|
|
326
|
+
@mock.should_receive(:foo).once { add_call }
|
|
327
|
+
|
|
328
|
+
@mock.foo
|
|
329
|
+
|
|
330
|
+
@calls.should == 1
|
|
331
|
+
end
|
|
332
|
+
|
|
333
|
+
it "should call the block after #twice" do
|
|
334
|
+
@mock.should_receive(:foo).twice { add_call }
|
|
335
|
+
|
|
336
|
+
@mock.foo
|
|
337
|
+
@mock.foo
|
|
338
|
+
|
|
339
|
+
@calls.should == 2
|
|
340
|
+
end
|
|
341
|
+
|
|
342
|
+
it "should call the block after #times" do
|
|
343
|
+
@mock.should_receive(:foo).exactly(10).times { add_call }
|
|
344
|
+
|
|
345
|
+
(1..10).each { @mock.foo }
|
|
346
|
+
|
|
347
|
+
@calls.should == 10
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
it "should call the block after #any_number_of_times" do
|
|
351
|
+
@mock.should_receive(:foo).any_number_of_times { add_call }
|
|
352
|
+
|
|
353
|
+
(1..7).each { @mock.foo }
|
|
354
|
+
|
|
355
|
+
@calls.should == 7
|
|
356
|
+
end
|
|
357
|
+
|
|
358
|
+
it "should call the block after #with" do
|
|
359
|
+
@mock.should_receive(:foo).with(:arg) { add_call }
|
|
360
|
+
|
|
361
|
+
@mock.foo(:arg)
|
|
362
|
+
|
|
363
|
+
@calls.should == 1
|
|
364
|
+
end
|
|
365
|
+
|
|
366
|
+
it "should call the block after #ordered" do
|
|
367
|
+
@mock.should_receive(:foo).ordered { add_call }
|
|
368
|
+
@mock.should_receive(:bar).ordered { add_call }
|
|
369
|
+
|
|
370
|
+
@mock.foo
|
|
371
|
+
@mock.bar
|
|
372
|
+
|
|
373
|
+
@calls.should == 2
|
|
374
|
+
end
|
|
375
|
+
end
|
|
376
|
+
end
|
|
377
|
+
end
|