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,55 @@
|
|
|
1
|
+
module Spec
|
|
2
|
+
module Rails
|
|
3
|
+
module Matchers
|
|
4
|
+
|
|
5
|
+
class HaveText #:nodoc:
|
|
6
|
+
|
|
7
|
+
def initialize(expected)
|
|
8
|
+
@expected = expected
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def matches?(response)
|
|
12
|
+
@actual = response.body
|
|
13
|
+
return actual =~ expected if Regexp === expected
|
|
14
|
+
return actual == expected unless Regexp === expected
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def failure_message
|
|
18
|
+
"expected #{expected.inspect}, got #{actual.inspect}"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def negative_failure_message
|
|
22
|
+
"expected not to have text #{expected.inspect}"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def to_s
|
|
26
|
+
"have text #{expected.inspect}"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
private
|
|
30
|
+
attr_reader :expected
|
|
31
|
+
attr_reader :actual
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# :call-seq:
|
|
36
|
+
# response.should have_text(expected)
|
|
37
|
+
# response.should_not have_text(expected)
|
|
38
|
+
#
|
|
39
|
+
# Accepts a String or a Regexp, matching a String using ==
|
|
40
|
+
# and a Regexp using =~.
|
|
41
|
+
#
|
|
42
|
+
# Use this instead of <tt>response.should have_tag()</tt>
|
|
43
|
+
# when you either don't know or don't care where on the page
|
|
44
|
+
# this text appears.
|
|
45
|
+
#
|
|
46
|
+
# == Examples
|
|
47
|
+
#
|
|
48
|
+
# response.should have_text("This is the expected text")
|
|
49
|
+
def have_text(text)
|
|
50
|
+
HaveText.new(text)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
require 'action_controller/url_rewriter'
|
|
2
|
+
|
|
3
|
+
module Spec
|
|
4
|
+
module Rails
|
|
5
|
+
module Matchers
|
|
6
|
+
|
|
7
|
+
class RedirectTo #:nodoc:
|
|
8
|
+
|
|
9
|
+
def initialize(request, expected)
|
|
10
|
+
@expected = expected
|
|
11
|
+
@request = request
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def matches?(response)
|
|
15
|
+
@redirected = response.redirect?
|
|
16
|
+
@actual = response.redirect_url
|
|
17
|
+
return false unless @redirected
|
|
18
|
+
if @expected.instance_of? Hash
|
|
19
|
+
return false unless @actual =~ %r{^\w+://#{@request.host}}
|
|
20
|
+
return false unless actual_redirect_to_valid_route
|
|
21
|
+
return actual_hash == expected_hash
|
|
22
|
+
else
|
|
23
|
+
return @actual == expected_url
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def actual_hash
|
|
28
|
+
hash_from_url @actual
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def expected_hash
|
|
32
|
+
hash_from_url expected_url
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def actual_redirect_to_valid_route
|
|
36
|
+
actual_hash
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def hash_from_url(url)
|
|
40
|
+
query_hash(url).merge(path_hash(url)).with_indifferent_access
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def path_hash(url)
|
|
44
|
+
path = url.sub(%r{^\w+://#{@request.host}}, "").split("?", 2)[0]
|
|
45
|
+
path = path.split("/")[1..-1] if ::Rails::VERSION::MINOR < 2
|
|
46
|
+
ActionController::Routing::Routes.recognize_path path
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def query_hash(url)
|
|
50
|
+
query = url.split("?", 2)[1] || ""
|
|
51
|
+
if defined?(CGIMethods)
|
|
52
|
+
CGIMethods.parse_query_parameters(query)
|
|
53
|
+
else
|
|
54
|
+
ActionController::AbstractRequest.parse_query_parameters(query)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def expected_url
|
|
59
|
+
case @expected
|
|
60
|
+
when Hash
|
|
61
|
+
return ActionController::UrlRewriter.new(@request, {}).rewrite(@expected)
|
|
62
|
+
when :back
|
|
63
|
+
return @request.env['HTTP_REFERER']
|
|
64
|
+
when %r{^\w+://.*}
|
|
65
|
+
return @expected
|
|
66
|
+
else
|
|
67
|
+
return "http://#{@request.host}" + (@expected.split('')[0] == '/' ? '' : '/') + @expected
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def failure_message
|
|
72
|
+
if @redirected
|
|
73
|
+
return %Q{expected redirect to #{@expected.inspect}, got redirect to #{@actual.inspect}}
|
|
74
|
+
else
|
|
75
|
+
return %Q{expected redirect to #{@expected.inspect}, got no redirect}
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def description
|
|
80
|
+
"redirect to #{@actual.inspect}"
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# :call-seq:
|
|
85
|
+
# response.should redirect_to(url)
|
|
86
|
+
# response.should redirect_to(:action => action_name)
|
|
87
|
+
# response.should redirect_to(:controller => controller_name, :action => action_name)
|
|
88
|
+
# response.should_not redirect_to(url)
|
|
89
|
+
# response.should_not redirect_to(:action => action_name)
|
|
90
|
+
# response.should_not redirect_to(:controller => controller_name, :action => action_name)
|
|
91
|
+
#
|
|
92
|
+
# Passes if the response is a redirect to the url, action or controller/action.
|
|
93
|
+
# Useful in controller specs (integration or isolation mode).
|
|
94
|
+
#
|
|
95
|
+
# == Examples
|
|
96
|
+
#
|
|
97
|
+
# response.should redirect_to("path/to/action")
|
|
98
|
+
# response.should redirect_to("http://test.host/path/to/action")
|
|
99
|
+
# response.should redirect_to(:action => 'list')
|
|
100
|
+
def redirect_to(opts)
|
|
101
|
+
RedirectTo.new(request, opts)
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
end
|
|
106
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
module Spec
|
|
2
|
+
module Rails
|
|
3
|
+
module Matchers
|
|
4
|
+
|
|
5
|
+
class RenderTemplate #:nodoc:
|
|
6
|
+
|
|
7
|
+
def initialize(expected)
|
|
8
|
+
@expected = expected
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def matches?(response)
|
|
12
|
+
@actual = response.rendered_file(!expected.include?('/'))
|
|
13
|
+
actual == expected
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def failure_message
|
|
17
|
+
"expected #{expected.inspect}, got #{actual.inspect}"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def description
|
|
21
|
+
"render template #{actual.inspect}"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
attr_reader :expected
|
|
26
|
+
attr_reader :actual
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# :call-seq:
|
|
31
|
+
# response.should render_template(path)
|
|
32
|
+
# response.should_not render_template(path)
|
|
33
|
+
#
|
|
34
|
+
# Passes if the specified template is rendered by the response.
|
|
35
|
+
# Useful in controller specs (integration or isolation mode).
|
|
36
|
+
#
|
|
37
|
+
# <code>path</code> can include the controller path or not. It
|
|
38
|
+
# can also include an optional extension (no extension assumes .rhtml).
|
|
39
|
+
#
|
|
40
|
+
# Note that partials must be spelled with the preceding underscore.
|
|
41
|
+
#
|
|
42
|
+
# == Examples
|
|
43
|
+
#
|
|
44
|
+
# response.should render_template('list')
|
|
45
|
+
# response.should render_template('same_controller/list')
|
|
46
|
+
# response.should render_template('other_controller/list')
|
|
47
|
+
#
|
|
48
|
+
# #rjs
|
|
49
|
+
# response.should render_template('list.rjs')
|
|
50
|
+
# response.should render_template('same_controller/list.rjs')
|
|
51
|
+
# response.should render_template('other_controller/list.rjs')
|
|
52
|
+
#
|
|
53
|
+
# #partials
|
|
54
|
+
# response.should render_template('_a_partial')
|
|
55
|
+
# response.should render_template('same_controller/_a_partial')
|
|
56
|
+
# response.should render_template('other_controller/_a_partial')
|
|
57
|
+
def render_template(path)
|
|
58
|
+
RenderTemplate.new(path.to_s)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Spec
|
|
2
|
+
module Rails
|
|
3
|
+
module VERSION #:nodoc:
|
|
4
|
+
unless defined?(REV)
|
|
5
|
+
# RANDOM_TOKEN: 0.956731547671535
|
|
6
|
+
REV = "$LastChangedRevision: 2081 $".match(/LastChangedRevision: (\d+)/)[1]
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Verifies that the plugin has the same revision as RSpec
|
|
13
|
+
if Spec::VERSION::REV != Spec::Rails::VERSION::REV
|
|
14
|
+
raise <<-EOF
|
|
15
|
+
|
|
16
|
+
############################################################################
|
|
17
|
+
Your RSpec on Rails plugin is incompatible with your installed RSpec.
|
|
18
|
+
|
|
19
|
+
RSpec : #{Spec::VERSION::FULL_VERSION}
|
|
20
|
+
RSpec on Rails : r#{Spec::Rails::VERSION::REV}
|
|
21
|
+
|
|
22
|
+
Make sure your RSpec on Rails plugin is compatible with your RSpec gem.
|
|
23
|
+
See http://rspec.rubyforge.org/documentation/rails/install.html for details.
|
|
24
|
+
############################################################################
|
|
25
|
+
EOF
|
|
26
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "An AssignsHashProxy" do
|
|
4
|
+
before(:each) do
|
|
5
|
+
@object = Object.new
|
|
6
|
+
@assigns = Hash.new
|
|
7
|
+
@object.stub!(:assigns).and_return(@assigns)
|
|
8
|
+
@proxy = Spec::Rails::DSL::AssignsHashProxy.new(@object)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it "has [] accessor" do
|
|
12
|
+
@proxy['foo'] = 'bar'
|
|
13
|
+
@assigns['foo'].should == 'bar'
|
|
14
|
+
@proxy['foo'].should == 'bar'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it "checks for string key before symbol key" do
|
|
18
|
+
@assigns[:foo] = 2
|
|
19
|
+
@proxy[:foo].should == 2
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "checks for string key before symbol key" do
|
|
23
|
+
@assigns['foo'] = false
|
|
24
|
+
@assigns[:foo] = 2
|
|
25
|
+
@proxy[:foo].should == false
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "each method iterates through each element like a Hash" do
|
|
29
|
+
values = {
|
|
30
|
+
'foo' => 1,
|
|
31
|
+
'bar' => 2,
|
|
32
|
+
'baz' => 3
|
|
33
|
+
}
|
|
34
|
+
@proxy['foo'] = values['foo']
|
|
35
|
+
@proxy['bar'] = values['bar']
|
|
36
|
+
@proxy['baz'] = values['baz']
|
|
37
|
+
|
|
38
|
+
@proxy.each do |key, value|
|
|
39
|
+
key.should == key
|
|
40
|
+
value.should == values[key]
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it "delete method deletes the element of passed in key" do
|
|
45
|
+
@proxy['foo'] = 'bar'
|
|
46
|
+
@proxy.delete('foo').should == 'bar'
|
|
47
|
+
@proxy['foo'].should be_nil
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "has_key? detects the presence of a key" do
|
|
51
|
+
@proxy['foo'] = 'bar'
|
|
52
|
+
@proxy.has_key?('foo').should == true
|
|
53
|
+
@proxy.has_key?('bar').should == false
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "the BehaviourFactory" do
|
|
4
|
+
it "should return a ModelBehaviour when given :behaviour_type => :model" do
|
|
5
|
+
Spec::DSL::BehaviourFactory.create("name", :behaviour_type => :model) {
|
|
6
|
+
}.should be_an_instance_of(Spec::Rails::DSL::ModelBehaviour)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
it "should return a ModelBehaviour when given :spec_path => '/blah/spec/models/'" do
|
|
10
|
+
Spec::DSL::BehaviourFactory.create("name", :spec_path => '/blah/spec/models/blah.rb') {
|
|
11
|
+
}.should be_an_instance_of(Spec::Rails::DSL::ModelBehaviour)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "should return a ViewBehaviour when given :behaviour_type => :model" do
|
|
15
|
+
Spec::DSL::BehaviourFactory.create("name", :behaviour_type => :view) {
|
|
16
|
+
}.should be_an_instance_of(Spec::Rails::DSL::ViewBehaviour)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it "should return a ViewBehaviour when given :spec_path => '/blah/spec/views/'" do
|
|
20
|
+
Spec::DSL::BehaviourFactory.create("name", :spec_path => '/blah/spec/views/blah.rb') {
|
|
21
|
+
}.should be_an_instance_of(Spec::Rails::DSL::ViewBehaviour)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "should return a HelperBehaviour when given :behaviour_type => :helper" do
|
|
25
|
+
Spec::DSL::BehaviourFactory.create("name", :behaviour_type => :helper) {
|
|
26
|
+
}.should be_an_instance_of(Spec::Rails::DSL::HelperBehaviour)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "should return a HelperBehaviour when given :spec_path => '/blah/spec/helpers/'" do
|
|
30
|
+
Spec::DSL::BehaviourFactory.create("name", :spec_path => '/blah/spec/helpers/blah.rb') {
|
|
31
|
+
}.should be_an_instance_of(Spec::Rails::DSL::HelperBehaviour)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it "should return a ControllerBehaviour when given :behaviour_type => :controller" do
|
|
35
|
+
Spec::DSL::BehaviourFactory.create("name", :behaviour_type => :controller) {
|
|
36
|
+
}.should be_an_instance_of(Spec::Rails::DSL::ControllerBehaviour)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it "should return a ControllerBehaviour when given :spec_path => '/blah/spec/controllers/'" do
|
|
40
|
+
Spec::DSL::BehaviourFactory.create("name", :spec_path => '/blah/spec/controllers/blah.rb') {
|
|
41
|
+
}.should be_an_instance_of(Spec::Rails::DSL::ControllerBehaviour)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it "should favor the :behaviour_type over the :spec_path" do
|
|
45
|
+
Spec::DSL::BehaviourFactory.create("name", :spec_path => '/blah/spec/models/blah.rb', :behaviour_type => :controller) {
|
|
46
|
+
}.should be_an_instance_of(Spec::Rails::DSL::ControllerBehaviour)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
it "should create a Spec::DSL::Behaviour if :shared => true" do
|
|
50
|
+
Spec::DSL::BehaviourFactory.create("name", :spec_path => '/blah/spec/models/blah.rb', :behaviour_type => :controller, :shared => true) {
|
|
51
|
+
}.should be_an_instance_of(Spec::DSL::Behaviour)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
+
require 'controller_spec_controller'
|
|
3
|
+
|
|
4
|
+
describe "a controller spec running in isolation mode", :behaviour_type => :controller do
|
|
5
|
+
controller_name :controller_spec
|
|
6
|
+
|
|
7
|
+
it "should not care if the template doesn't exist" do
|
|
8
|
+
get 'some_action'
|
|
9
|
+
response.should be_success
|
|
10
|
+
response.should render_template("template/that/does/not/actually/exist")
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it "should not care if the template has errors" do
|
|
14
|
+
get 'action_with_errors_in_template'
|
|
15
|
+
response.should be_success
|
|
16
|
+
response.should render_template("action_with_errors_in_template")
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
describe "a controller spec running in integration mode", :behaviour_type => :controller do
|
|
21
|
+
controller_name :controller_spec
|
|
22
|
+
integrate_views
|
|
23
|
+
|
|
24
|
+
before(:each) do
|
|
25
|
+
controller.class.send(:define_method, :rescue_action) { |e| raise e }
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "should render a template" do
|
|
29
|
+
get 'action_with_template'
|
|
30
|
+
response.should be_success
|
|
31
|
+
response.should have_tag('div', 'This is action_with_template.rhtml')
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it "should choke if the template doesn't exist" do
|
|
35
|
+
lambda { get 'some_action' }.should raise_error(ActionController::MissingTemplate)
|
|
36
|
+
response.should_not be_success
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it "should choke if the template has errors" do
|
|
40
|
+
lambda { get 'action_with_errors_in_template' }.should raise_error(ActionView::TemplateError)
|
|
41
|
+
response.should_not be_success
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
|
2
|
+
require 'controller_spec_controller'
|
|
3
|
+
|
|
4
|
+
['integration', 'isolation'].each do |mode|
|
|
5
|
+
describe "Given a controller spec for ControllerSpecController running in #{mode} mode", :behaviour_type => :controller do
|
|
6
|
+
controller_name :controller_spec
|
|
7
|
+
integrate_views if mode == 'integration'
|
|
8
|
+
|
|
9
|
+
it "session should be the same object as controller session" do
|
|
10
|
+
get 'action_with_template'
|
|
11
|
+
session.should equal(controller.session)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "session should be the same object before and after the action" do
|
|
15
|
+
session_before = session
|
|
16
|
+
get 'action_with_template'
|
|
17
|
+
session.should equal(session_before)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it "controller.session should NOT be nil before the action" do
|
|
21
|
+
controller.session.should_not be_nil
|
|
22
|
+
get 'action_with_template'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it "controller.session should NOT be nil after the action" do
|
|
26
|
+
get 'action_with_template'
|
|
27
|
+
controller.session.should_not be_nil
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it "specifying a partial should work with partial name only" do
|
|
31
|
+
get 'action_with_partial'
|
|
32
|
+
response.should render_template("_a_partial")
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it "specifying a partial should work with path relative to RAILS_ROOT/app/views/" do
|
|
36
|
+
get 'action_with_partial'
|
|
37
|
+
response.should render_template("controller_spec/_a_partial")
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it "spec should have access to flash" do
|
|
41
|
+
get 'action_with_template'
|
|
42
|
+
flash[:flash_key].should == "flash value"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
it "spec should have access to flash values set after a session reset" do
|
|
46
|
+
get 'action_setting_flash_after_session_reset'
|
|
47
|
+
flash[:after_reset].should == "available"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "spec should not have access to flash values set before a session reset" do
|
|
51
|
+
get 'action_setting_flash_before_session_reset'
|
|
52
|
+
flash[:before_reset].should_not == "available"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
it "spec should have access to session" do
|
|
56
|
+
get 'action_with_template'
|
|
57
|
+
session[:session_key].should == "session value"
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it "custom routes should be speccable" do
|
|
61
|
+
route_for(:controller => "custom_route_spec", :action => "custom_route").should == "/custom_route"
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
it "routes should be speccable" do
|
|
65
|
+
route_for(:controller => "controller_spec", :action => "some_action").should == "/controller_spec/some_action"
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
it "exposes the assigns hash directly" do
|
|
69
|
+
get 'action_setting_the_assigns_hash'
|
|
70
|
+
assigns[:direct_assigns_key].should == :direct_assigns_key_value
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
describe "Given a controller spec for RedirectSpecController running in #{mode} mode", :behaviour_type => :controller do
|
|
75
|
+
controller_name :redirect_spec
|
|
76
|
+
integrate_views if mode == 'integration'
|
|
77
|
+
|
|
78
|
+
it "a redirect should ignore the absence of a template" do
|
|
79
|
+
get 'action_with_redirect_to_somewhere'
|
|
80
|
+
response.should be_redirect
|
|
81
|
+
response.redirect_url.should == "http://test.host/redirect_spec/somewhere"
|
|
82
|
+
response.should redirect_to("http://test.host/redirect_spec/somewhere")
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
it "a call to response.should redirect_to should fail if no redirect" do
|
|
86
|
+
get 'action_with_no_redirect'
|
|
87
|
+
lambda {
|
|
88
|
+
response.redirect?.should be_true
|
|
89
|
+
}.should fail
|
|
90
|
+
lambda {
|
|
91
|
+
response.should redirect_to("http://test.host/redirect_spec/somewhere")
|
|
92
|
+
}.should fail_with("expected redirect to \"http://test.host/redirect_spec/somewhere\", got no redirect")
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
describe "Given a controller spec running in #{mode} mode", :behaviour_type => :controller do
|
|
97
|
+
integrate_views if mode == 'integration'
|
|
98
|
+
it "a spec in a context without controller_name set should fail with a useful warning",
|
|
99
|
+
:should_raise => [
|
|
100
|
+
Spec::Expectations::ExpectationNotMetError,
|
|
101
|
+
/You have to declare the controller name in controller specs/
|
|
102
|
+
] do
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
describe ControllerSpecController, :behaviour_type => :controller do
|
|
109
|
+
it "should not require naming the controller if describe is passed a type" do
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
module Spec
|
|
114
|
+
module Rails
|
|
115
|
+
module DSL
|
|
116
|
+
describe ControllerBehaviour do
|
|
117
|
+
it "should tell you its behaviour_type is :controller" do
|
|
118
|
+
behaviour = ControllerBehaviour.new("") {}
|
|
119
|
+
behaviour.behaviour_type.should == :controller
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|