deckshuffler 0.0.2
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/.DS_Store +0 -0
- data/MIT-LICENSE +21 -0
- data/Rakefile +55 -0
- data/app/controllers/account_controller.rb +41 -0
- data/app/controllers/application.rb +27 -0
- data/app/controllers/board_controller.rb +15 -0
- data/app/controllers/capacities_controller.rb +52 -0
- data/app/controllers/card_sizes_controller.rb +47 -0
- data/app/controllers/card_types_controller.rb +47 -0
- data/app/controllers/cards_controller.rb +233 -0
- data/app/controllers/functional_sets_controller.rb +55 -0
- data/app/controllers/iteration_controller.rb +93 -0
- data/app/controllers/milestones_controller.rb +51 -0
- data/app/controllers/priorities_controller.rb +52 -0
- data/app/controllers/project_infos_controller.rb +40 -0
- data/app/helpers/account_helper.rb +2 -0
- data/app/helpers/application_helper.rb +39 -0
- data/app/helpers/board_helper.rb +2 -0
- data/app/helpers/capacities_helper.rb +2 -0
- data/app/helpers/card_sizes_helper.rb +2 -0
- data/app/helpers/card_types_helper.rb +2 -0
- data/app/helpers/cards_helper.rb +2 -0
- data/app/helpers/functional_sets_helper.rb +2 -0
- data/app/helpers/milestones_helper.rb +2 -0
- data/app/helpers/priorities_helper.rb +2 -0
- data/app/helpers/project_infos_helper.rb +5 -0
- data/app/models/capacity.rb +4 -0
- data/app/models/card.rb +64 -0
- data/app/models/card_size.rb +13 -0
- data/app/models/card_type.rb +13 -0
- data/app/models/functional_set.rb +5 -0
- data/app/models/milestone.rb +15 -0
- data/app/models/previous_card_owner.rb +6 -0
- data/app/models/priority.rb +14 -0
- data/app/models/project_info.rb +3 -0
- data/app/views/account/index.rhtml +56 -0
- data/app/views/account/login.rhtml +12 -0
- data/app/views/account/signup.rhtml +24 -0
- data/app/views/board/_card_summary.rhtml +24 -0
- data/app/views/board/_cards_column.rhtml +11 -0
- data/app/views/board/index.rhtml +30 -0
- data/app/views/capacities/edit.rhtml +11 -0
- data/app/views/capacities/list.rhtml +34 -0
- data/app/views/capacities/new.rhtml +10 -0
- data/app/views/capacities/show.rhtml +8 -0
- data/app/views/card_sizes/_form.rhtml +10 -0
- data/app/views/card_sizes/edit.rhtml +7 -0
- data/app/views/card_sizes/list.rhtml +27 -0
- data/app/views/card_sizes/new.rhtml +6 -0
- data/app/views/card_sizes/show.rhtml +8 -0
- data/app/views/card_types/_form.rhtml +7 -0
- data/app/views/card_types/edit.rhtml +7 -0
- data/app/views/card_types/list.rhtml +27 -0
- data/app/views/card_types/new.rhtml +6 -0
- data/app/views/card_types/show.rhtml +8 -0
- data/app/views/cards/_form.rhtml +104 -0
- data/app/views/cards/edit.rhtml +4 -0
- data/app/views/cards/import.rhtml +4 -0
- data/app/views/cards/list_per_functional_set.rhtml +37 -0
- data/app/views/cards/list_per_milestone.rhtml +36 -0
- data/app/views/cards/list_per_status.rhtml +40 -0
- data/app/views/cards/list_per_user.rhtml +38 -0
- data/app/views/cards/merge.rhtml +41 -0
- data/app/views/cards/raise_card.rhtml +4 -0
- data/app/views/cards/split.rhtml +4 -0
- data/app/views/functional_sets/_form.rhtml +10 -0
- data/app/views/functional_sets/edit.rhtml +4 -0
- data/app/views/functional_sets/list.rhtml +25 -0
- data/app/views/functional_sets/new.rhtml +4 -0
- data/app/views/iteration/bulk_edit_actual.rhtml +23 -0
- data/app/views/iteration/bulk_edit_planned.rhtml +19 -0
- data/app/views/layouts/account.rhtml +22 -0
- data/app/views/layouts/standard.rhtml +36 -0
- data/app/views/milestones/_form.rhtml +8 -0
- data/app/views/milestones/edit.rhtml +7 -0
- data/app/views/milestones/list.rhtml +23 -0
- data/app/views/milestones/new.rhtml +6 -0
- data/app/views/milestones/show.rhtml +8 -0
- data/app/views/priorities/_form.rhtml +9 -0
- data/app/views/priorities/edit.rhtml +7 -0
- data/app/views/priorities/list.rhtml +25 -0
- data/app/views/priorities/new.rhtml +6 -0
- data/app/views/priorities/show.rhtml +9 -0
- data/app/views/project_infos/_form.rhtml +18 -0
- data/app/views/project_infos/edit.rhtml +7 -0
- data/app/views/project_infos/list.rhtml +25 -0
- data/app/views/project_infos/new.rhtml +6 -0
- data/bin/deckshuffler +74 -0
- data/config/boot.rb +19 -0
- data/config/environment.rb +68 -0
- data/config/routes.rb +19 -0
- data/db/development_structure.sql +81 -0
- data/db/migrate/001_cards.rb +41 -0
- data/db/migrate/002_statuses.rb +45 -0
- data/db/migrate/003_card_sizes.rb +17 -0
- data/db/migrate/004_card_types.rb +15 -0
- data/db/migrate/005_functional_set.rb +23 -0
- data/db/migrate/006_project_info.rb +14 -0
- data/db/migrate/007_create_users.rb +18 -0
- data/db/migrate/008_capacities.rb +14 -0
- data/db/migrate/009_in_play_status.rb +48 -0
- data/db/migrate/010_milestones.rb +14 -0
- data/db/migrate/011_priorities.rb +18 -0
- data/db/migrate/012_card_dependencies.rb +21 -0
- data/db/migrate/013_authentication_independent.rb +15 -0
- data/db/schema.rb +104 -0
- data/doc/.DS_Store +0 -0
- data/doc/deckshuffler.svg +199 -0
- data/lib/authentication/authenticated_system.rb +162 -0
- data/lib/authentication/authenticated_test_helper.rb +113 -0
- data/lib/authentication/user.rb +67 -0
- data/lib/authentication/user_notifier.rb +22 -0
- data/lib/authentication/user_observer.rb +9 -0
- data/lib/cards_csv_exporter.rb +33 -0
- data/lib/cards_csv_importer.rb +87 -0
- data/lib/module_validator.rb +12 -0
- data/lib/status.rb +69 -0
- data/lib/transition_manager.rb +30 -0
- data/previous_failures.txt +0 -0
- data/public/.DS_Store +0 -0
- data/public/.htaccess +41 -0
- data/public/404.html +8 -0
- data/public/500.html +8 -0
- data/public/dispatch.cgi +10 -0
- data/public/dispatch.fcgi +29 -0
- data/public/dispatch.rb +10 -0
- data/public/favicon.ico +0 -0
- data/public/images/.DS_Store +0 -0
- data/public/images/deckshuffler.png +0 -0
- data/public/javascripts/controls.js +750 -0
- data/public/javascripts/dragdrop.js +584 -0
- data/public/javascripts/effects.js +854 -0
- data/public/javascripts/prototype.js +1785 -0
- data/public/robots.txt +1 -0
- data/public/stylesheets/deckshuffler.css +142 -0
- data/public/stylesheets/scaffold.css +74 -0
- data/script/about +3 -0
- data/script/breakpointer +3 -0
- data/script/console +3 -0
- data/script/destroy +3 -0
- data/script/generate +3 -0
- data/script/performance/benchmarker +3 -0
- data/script/performance/profiler +3 -0
- data/script/plugin +3 -0
- data/script/process/reaper +3 -0
- data/script/process/spawner +3 -0
- data/script/process/spinner +3 -0
- data/script/runner +3 -0
- data/script/server +3 -0
- data/script/spec +4 -0
- data/script/spec_server +86 -0
- data/spec/controllers/cards_controller_spec.rb +98 -0
- data/spec/lib/cards_csv_exporter_spec.rb +86 -0
- data/spec/lib/cards_csv_importer_spec.rb +184 -0
- data/spec/spec.opts +6 -0
- data/spec/spec_helper.rb +23 -0
- data/test/.DS_Store +0 -0
- data/test/fixtures/capacities.yml +5 -0
- data/test/fixtures/card_sizes.yml +6 -0
- data/test/fixtures/card_types.yml +5 -0
- data/test/fixtures/cards.yml +17 -0
- data/test/fixtures/functional_sets.yml +5 -0
- data/test/fixtures/milestones.yml +5 -0
- data/test/fixtures/priorities.yml +7 -0
- data/test/fixtures/project_infos.yml +5 -0
- data/test/fixtures/users.yml +17 -0
- data/test/functional/.DS_Store +0 -0
- data/test/functional/account_controller_test.rb +129 -0
- data/test/functional/board_controller_test.rb +28 -0
- data/test/functional/capacities_controller_test.rb +37 -0
- data/test/functional/cards_controller_test.rb +268 -0
- data/test/functional/functional_sets_controller_test.rb +27 -0
- data/test/functional/project_infos_controller_test.rb +38 -0
- data/test/test_helper.rb +30 -0
- data/test/unit/.DS_Store +0 -0
- data/test/unit/capacity_test.rb +14 -0
- data/test/unit/card_size_test.rb +21 -0
- data/test/unit/card_test.rb +51 -0
- data/test/unit/card_type_test.rb +20 -0
- data/test/unit/milestone_test.rb +20 -0
- data/test/unit/priority_test.rb +20 -0
- data/test/unit/status_test.rb +93 -0
- data/test/unit/transition_manager_test.rb +142 -0
- data/test/unit/user_notifier_test.rb +32 -0
- data/test/unit/user_test.rb +75 -0
- data/vendor/plugins/acts_as_authenticated/CHANGELOG +86 -0
- data/vendor/plugins/acts_as_authenticated/README +20 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/USAGE +1 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/authenticated_generator.rb +102 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/authenticated_system.rb +131 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/authenticated_test_helper.rb +113 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/controller.rb +43 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/fixtures.yml +17 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/functional_test.rb +129 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/helper.rb +2 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/index.rhtml +56 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/login.rhtml +14 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/migration.rb +18 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/model.rb +64 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/signup.rhtml +16 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/unit_test.rb +75 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/USAGE +1 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/authenticated_mailer_generator.rb +27 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/templates/activation.rhtml +3 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/templates/notifier.rb +22 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/templates/notifier_test.rb +27 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/templates/observer.rb +9 -0
- data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/templates/signup_notification.rhtml +8 -0
- data/vendor/plugins/acts_as_authenticated/install.rb +1 -0
- data/vendor/plugins/rspec/CHANGES +963 -0
- data/vendor/plugins/rspec/MIT-LICENSE +20 -0
- data/vendor/plugins/rspec/README +75 -0
- data/vendor/plugins/rspec/Rakefile +273 -0
- data/vendor/plugins/rspec/TODO +54 -0
- data/vendor/plugins/rspec/UPGRADE +31 -0
- data/vendor/plugins/rspec/autotest/discover.rb +6 -0
- data/vendor/plugins/rspec/autotest/rspec.rb +1 -0
- data/vendor/plugins/rspec/bin/spec +3 -0
- data/vendor/plugins/rspec/bin/spec_translator +8 -0
- data/vendor/plugins/rspec/examples/auto_spec_description_example.rb +19 -0
- data/vendor/plugins/rspec/examples/before_and_after_example.rb +40 -0
- data/vendor/plugins/rspec/examples/behave_as_example.rb +45 -0
- data/vendor/plugins/rspec/examples/custom_expectation_matchers.rb +54 -0
- data/vendor/plugins/rspec/examples/custom_formatter.rb +12 -0
- data/vendor/plugins/rspec/examples/dynamic_spec.rb +9 -0
- data/vendor/plugins/rspec/examples/file_accessor.rb +19 -0
- data/vendor/plugins/rspec/examples/file_accessor_spec.rb +38 -0
- data/vendor/plugins/rspec/examples/greeter_spec.rb +31 -0
- data/vendor/plugins/rspec/examples/helper_method_example.rb +11 -0
- data/vendor/plugins/rspec/examples/io_processor.rb +8 -0
- data/vendor/plugins/rspec/examples/io_processor_spec.rb +21 -0
- data/vendor/plugins/rspec/examples/legacy_spec.rb +11 -0
- data/vendor/plugins/rspec/examples/mocking_example.rb +27 -0
- data/vendor/plugins/rspec/examples/multi_threaded_behaviour_runner.rb +27 -0
- data/vendor/plugins/rspec/examples/partial_mock_example.rb +28 -0
- data/vendor/plugins/rspec/examples/pending_example.rb +20 -0
- data/vendor/plugins/rspec/examples/predicate_example.rb +27 -0
- data/vendor/plugins/rspec/examples/priority.txt +1 -0
- data/vendor/plugins/rspec/examples/shared_behaviours_example.rb +39 -0
- data/vendor/plugins/rspec/examples/spec_and_test_together.rb +20 -0
- data/vendor/plugins/rspec/examples/spec_helper.rb +3 -0
- data/vendor/plugins/rspec/examples/stack.rb +36 -0
- data/vendor/plugins/rspec/examples/stack_spec.rb +97 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/.loadpath +5 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/README.txt +21 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/everything.rb +6 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/examples/examples.rb +3 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/examples/game_behaviour.rb +35 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/examples/grid_behaviour.rb +66 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +21 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +21 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +42 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/ICanCreateACell.story +42 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/ICanKillACell.story +17 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/TheGridWraps.story +53 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/create_a_cell.rb +52 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/kill_a_cell.rb +24 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/stories.rb +5 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/stories.txt +22 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/life.rb +3 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/life/game.rb +23 -0
- data/vendor/plugins/rspec/examples/story/game-of-life/life/grid.rb +43 -0
- data/vendor/plugins/rspec/examples/stubbing_example.rb +69 -0
- data/vendor/plugins/rspec/examples/test_case_adapter_example.rb +26 -0
- data/vendor/plugins/rspec/failing_examples/diffing_spec.rb +36 -0
- data/vendor/plugins/rspec/failing_examples/failure_in_setup.rb +10 -0
- data/vendor/plugins/rspec/failing_examples/failure_in_teardown.rb +10 -0
- data/vendor/plugins/rspec/failing_examples/mocking_example.rb +40 -0
- data/vendor/plugins/rspec/failing_examples/mocking_with_flexmock.rb +26 -0
- data/vendor/plugins/rspec/failing_examples/mocking_with_mocha.rb +25 -0
- data/vendor/plugins/rspec/failing_examples/mocking_with_rr.rb +27 -0
- data/vendor/plugins/rspec/failing_examples/partial_mock_example.rb +20 -0
- data/vendor/plugins/rspec/failing_examples/predicate_example.rb +29 -0
- data/vendor/plugins/rspec/failing_examples/raising_example.rb +47 -0
- data/vendor/plugins/rspec/failing_examples/spec_helper.rb +3 -0
- data/vendor/plugins/rspec/failing_examples/syntax_error_example.rb +7 -0
- data/vendor/plugins/rspec/failing_examples/team_spec.rb +44 -0
- data/vendor/plugins/rspec/failing_examples/timeout_behaviour.rb +7 -0
- data/vendor/plugins/rspec/init.rb +3 -0
- data/vendor/plugins/rspec/lib/autotest/discover.rb +3 -0
- data/vendor/plugins/rspec/lib/autotest/rspec.rb +94 -0
- data/vendor/plugins/rspec/lib/spec.rb +12 -0
- data/vendor/plugins/rspec/lib/spec/dsl.rb +16 -0
- data/vendor/plugins/rspec/lib/spec/dsl/behaviour.rb +183 -0
- data/vendor/plugins/rspec/lib/spec/dsl/behaviour_description.rb +85 -0
- data/vendor/plugins/rspec/lib/spec/dsl/behaviour_factory.rb +59 -0
- data/vendor/plugins/rspec/lib/spec/dsl/configuration.rb +137 -0
- data/vendor/plugins/rspec/lib/spec/dsl/errors.rb +9 -0
- data/vendor/plugins/rspec/lib/spec/dsl/example.rb +7 -0
- data/vendor/plugins/rspec/lib/spec/dsl/example_definition.rb +32 -0
- data/vendor/plugins/rspec/lib/spec/dsl/example_matcher.rb +38 -0
- data/vendor/plugins/rspec/lib/spec/dsl/example_module.rb +198 -0
- data/vendor/plugins/rspec/lib/spec/dsl/example_runner.rb +147 -0
- data/vendor/plugins/rspec/lib/spec/dsl/example_suite.rb +110 -0
- data/vendor/plugins/rspec/lib/spec/dsl/pending.rb +18 -0
- data/vendor/plugins/rspec/lib/spec/dsl/shared_behaviour.rb +52 -0
- data/vendor/plugins/rspec/lib/spec/dsl/should_raise_handler.rb +64 -0
- data/vendor/plugins/rspec/lib/spec/expectations.rb +56 -0
- data/vendor/plugins/rspec/lib/spec/expectations/differs/default.rb +66 -0
- data/vendor/plugins/rspec/lib/spec/expectations/errors.rb +6 -0
- data/vendor/plugins/rspec/lib/spec/expectations/extensions.rb +2 -0
- data/vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb +71 -0
- data/vendor/plugins/rspec/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
- data/vendor/plugins/rspec/lib/spec/expectations/handler.rb +52 -0
- data/vendor/plugins/rspec/lib/spec/extensions.rb +2 -0
- data/vendor/plugins/rspec/lib/spec/extensions/main.rb +51 -0
- data/vendor/plugins/rspec/lib/spec/extensions/object.rb +10 -0
- data/vendor/plugins/rspec/lib/spec/matchers.rb +153 -0
- data/vendor/plugins/rspec/lib/spec/matchers/be.rb +206 -0
- data/vendor/plugins/rspec/lib/spec/matchers/be_close.rb +37 -0
- data/vendor/plugins/rspec/lib/spec/matchers/change.rb +120 -0
- data/vendor/plugins/rspec/lib/spec/matchers/eql.rb +43 -0
- data/vendor/plugins/rspec/lib/spec/matchers/equal.rb +43 -0
- data/vendor/plugins/rspec/lib/spec/matchers/has.rb +44 -0
- data/vendor/plugins/rspec/lib/spec/matchers/have.rb +142 -0
- data/vendor/plugins/rspec/lib/spec/matchers/include.rb +70 -0
- data/vendor/plugins/rspec/lib/spec/matchers/match.rb +41 -0
- data/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +73 -0
- data/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +105 -0
- data/vendor/plugins/rspec/lib/spec/matchers/respond_to.rb +45 -0
- data/vendor/plugins/rspec/lib/spec/matchers/satisfy.rb +47 -0
- data/vendor/plugins/rspec/lib/spec/matchers/simple_matcher.rb +27 -0
- data/vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb +73 -0
- data/vendor/plugins/rspec/lib/spec/mocks.rb +211 -0
- data/vendor/plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb +27 -0
- data/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +183 -0
- data/vendor/plugins/rspec/lib/spec/mocks/error_generator.rb +84 -0
- data/vendor/plugins/rspec/lib/spec/mocks/errors.rb +10 -0
- data/vendor/plugins/rspec/lib/spec/mocks/extensions/object.rb +3 -0
- data/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +254 -0
- data/vendor/plugins/rspec/lib/spec/mocks/methods.rb +39 -0
- data/vendor/plugins/rspec/lib/spec/mocks/mock.rb +37 -0
- data/vendor/plugins/rspec/lib/spec/mocks/order_group.rb +29 -0
- data/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +170 -0
- data/vendor/plugins/rspec/lib/spec/mocks/space.rb +28 -0
- data/vendor/plugins/rspec/lib/spec/mocks/spec_methods.rb +37 -0
- data/vendor/plugins/rspec/lib/spec/rake/spectask.rb +224 -0
- data/vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb +52 -0
- data/vendor/plugins/rspec/lib/spec/runner.rb +164 -0
- data/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +57 -0
- data/vendor/plugins/rspec/lib/spec/runner/behaviour_runner.rb +56 -0
- data/vendor/plugins/rspec/lib/spec/runner/command_line.rb +39 -0
- data/vendor/plugins/rspec/lib/spec/runner/drb_command_line.rb +20 -0
- data/vendor/plugins/rspec/lib/spec/runner/extensions/object.rb +32 -0
- data/vendor/plugins/rspec/lib/spec/runner/formatter.rb +9 -0
- data/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +77 -0
- data/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +128 -0
- data/vendor/plugins/rspec/lib/spec/runner/formatter/failing_behaviours_formatter.rb +29 -0
- data/vendor/plugins/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +22 -0
- data/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +322 -0
- data/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +31 -0
- data/vendor/plugins/rspec/lib/spec/runner/formatter/rdoc_formatter.rb +24 -0
- data/vendor/plugins/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
- data/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +29 -0
- data/vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb +72 -0
- data/vendor/plugins/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
- data/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +222 -0
- data/vendor/plugins/rspec/lib/spec/runner/options.rb +223 -0
- data/vendor/plugins/rspec/lib/spec/runner/reporter.rb +137 -0
- data/vendor/plugins/rspec/lib/spec/runner/spec_parser.rb +53 -0
- data/vendor/plugins/rspec/lib/spec/story.rb +10 -0
- data/vendor/plugins/rspec/lib/spec/story/documenter.rb +1 -0
- data/vendor/plugins/rspec/lib/spec/story/documenter/plain_text_documenter.rb +43 -0
- data/vendor/plugins/rspec/lib/spec/story/extensions.rb +1 -0
- data/vendor/plugins/rspec/lib/spec/story/extensions/main.rb +13 -0
- data/vendor/plugins/rspec/lib/spec/story/given_scenario.rb +14 -0
- data/vendor/plugins/rspec/lib/spec/story/reporter.rb +1 -0
- data/vendor/plugins/rspec/lib/spec/story/reporter/plain_text_reporter.rb +60 -0
- data/vendor/plugins/rspec/lib/spec/story/runner.rb +49 -0
- data/vendor/plugins/rspec/lib/spec/story/runner/scenario_collector.rb +18 -0
- data/vendor/plugins/rspec/lib/spec/story/runner/scenario_runner.rb +43 -0
- data/vendor/plugins/rspec/lib/spec/story/runner/story_runner.rb +65 -0
- data/vendor/plugins/rspec/lib/spec/story/scenario.rb +14 -0
- data/vendor/plugins/rspec/lib/spec/story/simple_step.rb +17 -0
- data/vendor/plugins/rspec/lib/spec/story/step_mother.rb +31 -0
- data/vendor/plugins/rspec/lib/spec/story/story.rb +22 -0
- data/vendor/plugins/rspec/lib/spec/story/world.rb +87 -0
- data/vendor/plugins/rspec/lib/spec/test.rb +9 -0
- data/vendor/plugins/rspec/lib/spec/test/unit/autorunner.rb +6 -0
- data/vendor/plugins/rspec/lib/spec/test/unit/example.rb +15 -0
- data/vendor/plugins/rspec/lib/spec/test/unit/example_suite.rb +11 -0
- data/vendor/plugins/rspec/lib/spec/test/unit/rspectestresult.rb +5 -0
- data/vendor/plugins/rspec/lib/spec/test/unit/ui/console/testrunner.rb +18 -0
- data/vendor/plugins/rspec/lib/spec/test/unit/ui/testrunnermediator.rb +10 -0
- data/vendor/plugins/rspec/lib/spec/test_case_adapter.rb +10 -0
- data/vendor/plugins/rspec/lib/spec/translator.rb +114 -0
- data/vendor/plugins/rspec/lib/spec/version.rb +23 -0
- data/vendor/plugins/rspec/plugins/mock_frameworks/flexmock.rb +23 -0
- data/vendor/plugins/rspec/plugins/mock_frameworks/mocha.rb +19 -0
- data/vendor/plugins/rspec/plugins/mock_frameworks/rr.rb +21 -0
- data/vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb +18 -0
- data/vendor/plugins/rspec/rake_tasks/examples.rake +7 -0
- data/vendor/plugins/rspec/rake_tasks/examples_rdoc.rake +8 -0
- data/vendor/plugins/rspec/rake_tasks/examples_with_rcov.rake +9 -0
- data/vendor/plugins/rspec/rake_tasks/failing_examples_with_html.rake +9 -0
- data/vendor/plugins/rspec/rake_tasks/verify_rcov.rake +7 -0
- data/vendor/plugins/rspec/spec.opts +6 -0
- data/vendor/plugins/rspec/spec/README.jruby +14 -0
- data/vendor/plugins/rspec/spec/autotest/discover_spec.rb +19 -0
- data/vendor/plugins/rspec/spec/autotest/rspec_spec.rb +264 -0
- data/vendor/plugins/rspec/spec/autotest_helper.rb +5 -0
- data/vendor/plugins/rspec/spec/rspec_suite.rb +6 -0
- data/vendor/plugins/rspec/spec/spec/dsl/behaviour_description_spec.rb +97 -0
- data/vendor/plugins/rspec/spec/spec/dsl/behaviour_factory_spec.rb +22 -0
- data/vendor/plugins/rspec/spec/spec/dsl/configuration_spec.rb +61 -0
- data/vendor/plugins/rspec/spec/spec/dsl/example_class_definition_spec.rb +48 -0
- data/vendor/plugins/rspec/spec/spec/dsl/example_definition_class_spec.rb +23 -0
- data/vendor/plugins/rspec/spec/spec/dsl/example_definition_spec.rb +17 -0
- data/vendor/plugins/rspec/spec/spec/dsl/example_factory_spec.rb +69 -0
- data/vendor/plugins/rspec/spec/spec/dsl/example_instance_spec.rb +242 -0
- data/vendor/plugins/rspec/spec/spec/dsl/example_matcher_spec.rb +91 -0
- data/vendor/plugins/rspec/spec/spec/dsl/example_should_raise_spec.rb +164 -0
- data/vendor/plugins/rspec/spec/spec/dsl/example_spec.rb +399 -0
- data/vendor/plugins/rspec/spec/spec/dsl/example_suite_spec.rb +617 -0
- data/vendor/plugins/rspec/spec/spec/dsl/pending_module_spec.rb +31 -0
- data/vendor/plugins/rspec/spec/spec/dsl/predicate_matcher_spec.rb +21 -0
- data/vendor/plugins/rspec/spec/spec/dsl/shared_behaviour_spec.rb +248 -0
- data/vendor/plugins/rspec/spec/spec/expectations/differs/default_spec.rb +109 -0
- data/vendor/plugins/rspec/spec/spec/expectations/extensions/object_spec.rb +107 -0
- data/vendor/plugins/rspec/spec/spec/expectations/fail_with_spec.rb +71 -0
- data/vendor/plugins/rspec/spec/spec/extensions/main_spec.rb +33 -0
- data/vendor/plugins/rspec/spec/spec/matchers/be_close_spec.rb +39 -0
- data/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +209 -0
- data/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +232 -0
- data/vendor/plugins/rspec/spec/spec/matchers/description_generation_spec.rb +157 -0
- data/vendor/plugins/rspec/spec/spec/matchers/eql_spec.rb +28 -0
- data/vendor/plugins/rspec/spec/spec/matchers/equal_spec.rb +28 -0
- data/vendor/plugins/rspec/spec/spec/matchers/exist_spec.rb +75 -0
- data/vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb +129 -0
- data/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +37 -0
- data/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +272 -0
- data/vendor/plugins/rspec/spec/spec/matchers/include_spec.rb +45 -0
- data/vendor/plugins/rspec/spec/spec/matchers/match_spec.rb +37 -0
- data/vendor/plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb +78 -0
- data/vendor/plugins/rspec/spec/spec/matchers/mock_constraint_matchers_spec.rb +24 -0
- data/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +158 -0
- data/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +185 -0
- data/vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb +54 -0
- data/vendor/plugins/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
- data/vendor/plugins/rspec/spec/spec/matchers/simple_matcher_spec.rb +26 -0
- data/vendor/plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb +54 -0
- data/vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +29 -0
- data/vendor/plugins/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
- data/vendor/plugins/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
- data/vendor/plugins/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
- data/vendor/plugins/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
- data/vendor/plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb +31 -0
- data/vendor/plugins/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
- data/vendor/plugins/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
- data/vendor/plugins/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
- data/vendor/plugins/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
- data/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +115 -0
- data/vendor/plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb +84 -0
- data/vendor/plugins/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
- data/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +450 -0
- data/vendor/plugins/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
- data/vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb +40 -0
- data/vendor/plugins/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
- data/vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb +42 -0
- data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +106 -0
- data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
- data/vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +154 -0
- data/vendor/plugins/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
- data/vendor/plugins/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
- data/vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb +215 -0
- data/vendor/plugins/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
- data/vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb +12 -0
- data/vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb +140 -0
- data/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +92 -0
- data/vendor/plugins/rspec/spec/spec/runner/empty_file.txt +0 -0
- data/vendor/plugins/rspec/spec/spec/runner/examples.txt +2 -0
- data/vendor/plugins/rspec/spec/spec/runner/execution_context_spec.rb +31 -0
- data/vendor/plugins/rspec/spec/spec/runner/failed.txt +3 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb +41 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +30 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html +365 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +375 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html +371 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +371 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +54 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +21 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +39 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +110 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb +21 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/rdoc_formatter_spec.rb +48 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +11 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb +21 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +64 -0
- data/vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +62 -0
- data/vendor/plugins/rspec/spec/spec/runner/heckler_spec.rb +13 -0
- data/vendor/plugins/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +45 -0
- data/vendor/plugins/rspec/spec/spec/runner/object_ext_spec.rb +11 -0
- data/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +356 -0
- data/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +255 -0
- data/vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +56 -0
- data/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +216 -0
- data/vendor/plugins/rspec/spec/spec/runner/spec.opts +2 -0
- data/vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb +124 -0
- data/vendor/plugins/rspec/spec/spec/runner/spec_spaced.opts +2 -0
- data/vendor/plugins/rspec/spec/spec/runner_spec.rb +11 -0
- data/vendor/plugins/rspec/spec/spec/spec_classes.rb +123 -0
- data/vendor/plugins/rspec/spec/spec/story/builders.rb +46 -0
- data/vendor/plugins/rspec/spec/spec/story/documenter/plain_text_documenter_spec.rb +100 -0
- data/vendor/plugins/rspec/spec/spec/story/extensions_spec.rb +14 -0
- data/vendor/plugins/rspec/spec/spec/story/given_scenario_spec.rb +27 -0
- data/vendor/plugins/rspec/spec/spec/story/reporter/plain_text_reporter_spec.rb +114 -0
- data/vendor/plugins/rspec/spec/spec/story/rspec_adapter.rb +49 -0
- data/vendor/plugins/rspec/spec/spec/story/runner/scenario_collector_spec.rb +27 -0
- data/vendor/plugins/rspec/spec/spec/story/runner/scenario_runner_spec.rb +145 -0
- data/vendor/plugins/rspec/spec/spec/story/runner/story_runner_spec.rb +247 -0
- data/vendor/plugins/rspec/spec/spec/story/runner_spec.rb +64 -0
- data/vendor/plugins/rspec/spec/spec/story/scenario_spec.rb +20 -0
- data/vendor/plugins/rspec/spec/spec/story/simple_step_spec.rb +37 -0
- data/vendor/plugins/rspec/spec/spec/story/step_mother_spec.rb +59 -0
- data/vendor/plugins/rspec/spec/spec/story/story_helper.rb +3 -0
- data/vendor/plugins/rspec/spec/spec/story/story_spec.rb +45 -0
- data/vendor/plugins/rspec/spec/spec/story/world_spec.rb +406 -0
- data/vendor/plugins/rspec/spec/spec/test/unit/autorunner_test.rb +12 -0
- data/vendor/plugins/rspec/spec/spec/test/unit/sample_spec_test.rb +28 -0
- data/vendor/plugins/rspec/spec/spec/test/unit/spec_helper.rb +4 -0
- data/vendor/plugins/rspec/spec/spec/test/unit/test_unit_and_rspec_spec.rb +28 -0
- data/vendor/plugins/rspec/spec/spec/translator_spec.rb +264 -0
- data/vendor/plugins/rspec/spec/spec_helper.rb +56 -0
- data/vendor/plugins/rspec_on_rails/MIT-LICENSE +31 -0
- data/vendor/plugins/rspec_on_rails/README +1 -0
- data/vendor/plugins/rspec_on_rails/Rakefile +9 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec/CHANGES +1 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec/rspec_generator.rb +34 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec/templates/all_stories.rb +4 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec/templates/previous_failures.txt +0 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec +4 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec_server +103 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec.opts +6 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec_helper.rb +23 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec/templates/stories_helper.rb +3 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_controller/USAGE +33 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_controller/rspec_controller_generator.rb +49 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/controller_spec.rb +23 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb +11 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/view_spec.rb +12 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_model/USAGE +18 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_model/rspec_model_generator.rb +30 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_model/templates/model_spec.rb +11 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +165 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb +355 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +25 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb +4 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb +22 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/new_erb_spec.rb +26 -0
- data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb +22 -0
- data/vendor/plugins/rspec_on_rails/init.rb +9 -0
- data/vendor/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb +81 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/dsl.rb +2 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/dsl/configuration.rb +23 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/matchers.rb +3 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/matchers/have.rb +19 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails.rb +57 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl.rb +40 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/assigns_hash_proxy.rb +42 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour.rb +7 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/controller_example.rb +251 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/functional_example.rb +67 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/helper_example.rb +82 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/model_example.rb +14 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/rails_example.rb +93 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/render_observer.rb +90 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/view_example.rb +181 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/ivar_proxy.rb +62 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions.rb +7 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/base.rb +11 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/rescue.rb +21 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/test_response.rb +11 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_view/base.rb +27 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/active_record/base.rb +29 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/object.rb +5 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers.rb +29 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/assert_select.rb +130 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb +55 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb +114 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/render_template.rb +66 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/story_adapter.rb +47 -0
- data/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb +26 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/autotest/mappings_spec.rb +39 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/autotest/rails_rspec_spec.rb +8 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/assigns_hash_proxy_spec.rb +55 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/behaviour_factory_spec.rb +83 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/configuration_spec.rb +56 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/controller_isolation_spec.rb +43 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/controller_spec_spec.rb +166 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/helper_spec_spec.rb +106 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/ivar_proxy_spec.rb +64 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/model_spec_spec.rb +14 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/shared_behaviour_spec.rb +16 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/test_unit_assertion_accessibility_spec.rb +33 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/dsl/view_spec_spec.rb +245 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_controller_rescue_action_spec.rb +54 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_view_base_spec.rb +34 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/extensions/active_record_spec.rb +17 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb +783 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/matchers/description_generation_spec.rb +40 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/matchers/errors_on_spec.rb +13 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb +203 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/matchers/render_spec.rb +131 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb +65 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/sample_spec.rb +7 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/spec_server_spec.rb +47 -0
- data/vendor/plugins/rspec_on_rails/spec/rails/spec_spec.rb +11 -0
- data/vendor/plugins/rspec_on_rails/spec/rails_suite.rb +7 -0
- data/vendor/plugins/rspec_on_rails/spec/spec_helper.rb +48 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/controllers/action_view_base_spec_controller.rb +2 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb +48 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/controllers/redirect_spec_controller.rb +59 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/controllers/render_spec_controller.rb +22 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/controllers/rjs_spec_controller.rb +58 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/helpers/explicit_helper.rb +10 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/helpers/more_explicit_helper.rb +5 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/helpers/plugin_application_helper.rb +6 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/helpers/view_spec_helper.rb +13 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/_partial.rhtml +0 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml +0 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_template.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/_a_partial.rhtml +0 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.js.rjs +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rhtml +0 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rjs +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/_replacement_partial.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_div.rjs +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_page_element.rjs +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/insert_html.rjs +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace.rjs +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html.rjs +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html_with_partial.rjs +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_effect.rjs +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_toggle_effect.rjs +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/no_tags.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial.rhtml +2 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_used_twice.rhtml +0 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_local_variable.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_sub_partial.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_spacer.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/accessor.rhtml +3 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/entry_form.rhtml +2 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/explicit_helper.rhtml +2 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/foo/show.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/implicit_helper.rhtml +2 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/multiple_helpers.rhtml +3 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial.rhtml +5 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial_using_collection.rhtml +3 -0
- data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial_with_array.rhtml +1 -0
- data/vendor/plugins/rspec_on_rails/tasks/rspec.rake +133 -0
- metadata +875 -0
@@ -0,0 +1,9 @@
|
|
1
|
+
# Placeholder to satisfy Rails.
|
2
|
+
#
|
3
|
+
# Do NOT add any require statements to this file. Doing
|
4
|
+
# so will cause Rails to load this plugin all of the time.
|
5
|
+
#
|
6
|
+
# Running 'ruby script/generate rspec' will
|
7
|
+
# generate spec/spec_helper.rb, which includes the necessary
|
8
|
+
# require statements and configuration. This file should
|
9
|
+
# be required by all of your spec files.
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# (c) Copyright 2006 Nick Sieger <nicksieger@gmail.com>
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person
|
4
|
+
# obtaining a copy of this software and associated documentation files
|
5
|
+
# (the "Software"), to deal in the Software without restriction,
|
6
|
+
# including without limitation the rights to use, copy, modify, merge,
|
7
|
+
# publish, distribute, sublicense, and/or sell copies of the Software,
|
8
|
+
# and to permit persons to whom the Software is furnished to do so,
|
9
|
+
# subject to the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
18
|
+
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
19
|
+
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
20
|
+
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
# SOFTWARE.
|
22
|
+
|
23
|
+
$:.push(*Dir["vendor/rails/*/lib"])
|
24
|
+
|
25
|
+
require 'active_support'
|
26
|
+
require 'autotest/rspec'
|
27
|
+
|
28
|
+
class Autotest::RailsRspec < Autotest::Rspec
|
29
|
+
|
30
|
+
def initialize # :nodoc:
|
31
|
+
super
|
32
|
+
@exceptions = %r%^\./(?:coverage|db|doc|log|public|script|vendor\/rails|previous_failures.txt)%
|
33
|
+
@test_mappings = {
|
34
|
+
%r%^(test|spec)/fixtures/(.*).yml$% => proc { |_, m|
|
35
|
+
["spec/models/#{m[2].singularize}_spec.rb"] + files_matching(%r%^spec\/views\/#{m[2]}/.*_spec\.rb$%)
|
36
|
+
},
|
37
|
+
%r%^spec/(models|controllers|views|helpers|lib)/.*rb$% => proc { |filename, _|
|
38
|
+
filename
|
39
|
+
},
|
40
|
+
%r%^app/models/(.*)\.rb$% => proc { |_, m|
|
41
|
+
["spec/models/#{m[1]}_spec.rb"]
|
42
|
+
},
|
43
|
+
%r%^app/views/(.*)$% => proc { |_, m|
|
44
|
+
files_matching %r%^spec/views/#{m[1]}_spec.rb$%
|
45
|
+
},
|
46
|
+
%r%^app/controllers/(.*)\.rb$% => proc { |_, m|
|
47
|
+
["spec/controllers/#{m[1]}_spec.rb"]
|
48
|
+
},
|
49
|
+
%r%^app/helpers/(.*)_helper\.rb$% => proc { |_, m|
|
50
|
+
if m[1] == "application" then
|
51
|
+
files_matching(%r%^spec/(views|helpers)/.*_spec\.rb$%)
|
52
|
+
else
|
53
|
+
["spec/helpers/#{m[1]}_helper_spec.rb"] + files_matching(%r%^spec\/views\/#{m[1]}/.*_spec\.rb$%)
|
54
|
+
end
|
55
|
+
},
|
56
|
+
%r%^app/helpers/application_helper\.rb$% => proc {
|
57
|
+
files_matching %r%^spec/(views|helpers)/.*_spec\.rb$%
|
58
|
+
},
|
59
|
+
%r%^app/controllers/application\.rb$% => proc { |_, m|
|
60
|
+
files_matching %r%^spec/controllers/.*_spec\.rb$%
|
61
|
+
},
|
62
|
+
%r%^config/routes\.rb$% => proc {
|
63
|
+
files_matching %r%^spec/(controllers|views|helpers)/.*_spec\.rb$%
|
64
|
+
},
|
65
|
+
%r%^config/database\.yml$% => proc { |_, m|
|
66
|
+
files_matching %r%^spec/models/.*_spec\.rb$%
|
67
|
+
},
|
68
|
+
%r%^(spec/(spec_helper|shared/.*)|config/(boot|environment(s/test)?))\.rb$% => proc {
|
69
|
+
files_matching %r%^spec/(models|controllers|views|helpers)/.*_spec\.rb$%
|
70
|
+
},
|
71
|
+
%r%^lib/(.*)\.rb$% => proc { |_, m|
|
72
|
+
["spec/lib/#{m[1]}_spec.rb"]
|
73
|
+
},
|
74
|
+
}
|
75
|
+
end
|
76
|
+
|
77
|
+
def spec_command
|
78
|
+
"script/spec"
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Spec
|
2
|
+
module DSL
|
3
|
+
class Configuration
|
4
|
+
attr_writer :use_transactional_fixtures, :use_instantiated_fixtures, :fixture_path, :global_fixtures
|
5
|
+
|
6
|
+
def use_transactional_fixtures
|
7
|
+
@use_transactional_fixtures.nil? ? @use_transactional_fixtures = true : @use_transactional_fixtures
|
8
|
+
end
|
9
|
+
|
10
|
+
def use_instantiated_fixtures
|
11
|
+
@use_instantiated_fixtures ||= false
|
12
|
+
end
|
13
|
+
|
14
|
+
def fixture_path
|
15
|
+
@fixture_path ||= RAILS_ROOT + '/spec/fixtures'
|
16
|
+
end
|
17
|
+
|
18
|
+
def global_fixtures
|
19
|
+
@global_fixtures ||= []
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Spec #:nodoc:
|
2
|
+
module Matchers #:nodoc:
|
3
|
+
class Have #:nodoc:
|
4
|
+
alias_method :__original_failure_message, :failure_message
|
5
|
+
def failure_message
|
6
|
+
return "expected #{relativities[@relativity]}#{@expected} errors on :#{@args[0]}, got #{@actual}" if @collection_name == :errors_on
|
7
|
+
return "expected #{relativities[@relativity]}#{@expected} error on :#{@args[0]}, got #{@actual}" if @collection_name == :error_on
|
8
|
+
return __original_failure_message
|
9
|
+
end
|
10
|
+
|
11
|
+
alias_method :__original_description, :description
|
12
|
+
def description
|
13
|
+
return "should have #{relativities[@relativity]}#{@expected} errors on :#{@args[0]}" if @collection_name == :errors_on
|
14
|
+
return "should have #{relativities[@relativity]}#{@expected} error on :#{@args[0]}" if @collection_name == :error_on
|
15
|
+
return __original_description
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
dir = File.dirname(__FILE__)
|
2
|
+
require 'application'
|
3
|
+
|
4
|
+
silence_warnings { RAILS_ENV = "test" }
|
5
|
+
require 'action_controller/test_process'
|
6
|
+
require 'action_controller/integration'
|
7
|
+
require 'active_record/base'
|
8
|
+
require 'active_record/fixtures'
|
9
|
+
require 'test/unit'
|
10
|
+
require 'spec'
|
11
|
+
|
12
|
+
require File.expand_path("#{dir}/dsl")
|
13
|
+
require File.expand_path("#{dir}/matchers")
|
14
|
+
require File.expand_path("#{dir}/rails/dsl")
|
15
|
+
|
16
|
+
require File.expand_path("#{dir}/rails/version")
|
17
|
+
require File.expand_path("#{dir}/rails/extensions")
|
18
|
+
require File.expand_path("#{dir}/rails/matchers")
|
19
|
+
|
20
|
+
#Test::Unit.run = true
|
21
|
+
|
22
|
+
module Spec
|
23
|
+
# = Spec::Rails
|
24
|
+
#
|
25
|
+
# Spec::Rails (a.k.a. RSpec on Rails) is a Ruby on Rails plugin that allows you to drive the development
|
26
|
+
# of your RoR application using RSpec, a framework that aims to enable Example Driven Development
|
27
|
+
# in Ruby.
|
28
|
+
#
|
29
|
+
# == Features
|
30
|
+
#
|
31
|
+
# * Use RSpec to independently specify Rails Models, Views, Controllers and Helpers
|
32
|
+
# * Integrated fixture loading
|
33
|
+
# * Special generators for Resources, Models, Views and Controllers that generate Specs instead of Tests.
|
34
|
+
#
|
35
|
+
# == Vision
|
36
|
+
#
|
37
|
+
# For people for whom TDD is a brand new concept, the testing support built into Ruby on Rails
|
38
|
+
# is a huge leap forward. The fact that it is built right in is fantastic, and Ruby on Rails
|
39
|
+
# apps are generally much easier to maintain than they might have been without such support.
|
40
|
+
#
|
41
|
+
# For those of us coming from a history with TDD, and now BDD, the existing support presents some problems related to dependencies across specs. To that end, RSpec on Rails supports 4 types of specs. We’ve also built in first class mocking and stubbing support in order to break dependencies across these different concerns.
|
42
|
+
#
|
43
|
+
# == More Information
|
44
|
+
#
|
45
|
+
# See Spec::Rails::Runner for information about the different kinds of contexts
|
46
|
+
# you can use to spec the different Rails components
|
47
|
+
#
|
48
|
+
# See Spec::Rails::Expectations for information about Rails-specific expectations
|
49
|
+
# you can set on responses and models, etc.
|
50
|
+
#
|
51
|
+
# == License
|
52
|
+
#
|
53
|
+
# RSpec on Rails is licensed under the same license as RSpec itself,
|
54
|
+
# the MIT-LICENSE.
|
55
|
+
module Rails
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
dir = File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require File.expand_path("#{dir}/dsl/ivar_proxy")
|
4
|
+
require File.expand_path("#{dir}/dsl/assigns_hash_proxy")
|
5
|
+
require File.expand_path("#{dir}/dsl/behaviour")
|
6
|
+
|
7
|
+
module Spec
|
8
|
+
module Rails
|
9
|
+
# Spec::Rails::DSL extends Spec::DSL (RSpec's core DSL module) to provide
|
10
|
+
# Rails-specific contexts for describing Rails Models, Views, Controllers and Helpers.
|
11
|
+
#
|
12
|
+
# == Model Examples
|
13
|
+
#
|
14
|
+
# These are the equivalent of unit tests in Rails' built in testing. Ironically (for the traditional TDD'er) these are the only specs that we feel should actually interact with the database.
|
15
|
+
#
|
16
|
+
# See Spec::Rails::DSL::ModelExample
|
17
|
+
#
|
18
|
+
# == Controller Examples
|
19
|
+
#
|
20
|
+
# These align somewhat with functional tests in rails, except that they do not actually render views (though you can force rendering of views if you prefer). Instead of setting expectations about what goes on a page, you set expectations about what templates get rendered.
|
21
|
+
#
|
22
|
+
# See Spec::Rails::DSL::ControllerExample
|
23
|
+
#
|
24
|
+
# == View Examples
|
25
|
+
#
|
26
|
+
# This is the other half of Rails functional testing. View specs allow you to set up assigns and render
|
27
|
+
# a template. By assigning mock model data, you can specify view behaviour with no dependency on a database
|
28
|
+
# or your real models.
|
29
|
+
#
|
30
|
+
# See Spec::Rails::DSL::ViewExample
|
31
|
+
#
|
32
|
+
# == Helper Examples
|
33
|
+
#
|
34
|
+
# These let you specify directly methods that live in your helpers.
|
35
|
+
#
|
36
|
+
# See Spec::Rails::DSL::HelperExample
|
37
|
+
module DSL
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Spec
|
2
|
+
module Rails
|
3
|
+
module DSL
|
4
|
+
class AssignsHashProxy #:nodoc:
|
5
|
+
def initialize(object)
|
6
|
+
@object = object
|
7
|
+
end
|
8
|
+
|
9
|
+
def [](ivar)
|
10
|
+
if assigns.include?(ivar.to_s)
|
11
|
+
assigns[ivar.to_s]
|
12
|
+
elsif assigns.include?(ivar)
|
13
|
+
assigns[ivar]
|
14
|
+
else
|
15
|
+
nil
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def []=(ivar, val)
|
20
|
+
assigns[ivar.to_s] = val
|
21
|
+
end
|
22
|
+
|
23
|
+
def delete(name)
|
24
|
+
assigns.delete(name.to_s)
|
25
|
+
end
|
26
|
+
|
27
|
+
def each(&block)
|
28
|
+
assigns.each &block
|
29
|
+
end
|
30
|
+
|
31
|
+
def has_key?(key)
|
32
|
+
assigns.key?(key.to_s)
|
33
|
+
end
|
34
|
+
|
35
|
+
protected
|
36
|
+
def assigns
|
37
|
+
@object.assigns
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
require "spec/rails/dsl/behaviour/render_observer"
|
2
|
+
require "spec/rails/dsl/behaviour/rails_example"
|
3
|
+
require "spec/rails/dsl/behaviour/model_example"
|
4
|
+
require "spec/rails/dsl/behaviour/functional_example"
|
5
|
+
require "spec/rails/dsl/behaviour/controller_example"
|
6
|
+
require "spec/rails/dsl/behaviour/helper_example"
|
7
|
+
require "spec/rails/dsl/behaviour/view_example"
|
@@ -0,0 +1,251 @@
|
|
1
|
+
module Spec
|
2
|
+
module Rails
|
3
|
+
module DSL
|
4
|
+
# Controller Examples live in $RAILS_ROOT/spec/controllers/.
|
5
|
+
#
|
6
|
+
# Controller Examples use Spec::Rails::DSL::ControllerExample, which supports running specs for
|
7
|
+
# Controllers in two modes, which represent the tension between the more granular
|
8
|
+
# testing common in TDD and the more high level testing built into
|
9
|
+
# rails. BDD sits somewhere in between: we want to a balance between
|
10
|
+
# specs that are close enough to the code to enable quick fault
|
11
|
+
# isolation and far enough away from the code to enable refactoring
|
12
|
+
# with minimal changes to the existing specs.
|
13
|
+
#
|
14
|
+
# == Isolation mode (default)
|
15
|
+
#
|
16
|
+
# No dependencies on views because none are ever rendered. The
|
17
|
+
# benefit of this mode is that can spec the controller completely
|
18
|
+
# independent of the view, allowing that responsibility to be
|
19
|
+
# handled later, or by somebody else. Combined w/ separate view
|
20
|
+
# specs, this also provides better fault isolation.
|
21
|
+
#
|
22
|
+
# == Integration mode
|
23
|
+
#
|
24
|
+
# To run in this mode, include the +integrate_views+ declaration
|
25
|
+
# in your controller context:
|
26
|
+
#
|
27
|
+
# describe ThingController do
|
28
|
+
# integrate_views
|
29
|
+
# ...
|
30
|
+
#
|
31
|
+
# In this mode, controller specs are run in the same way that
|
32
|
+
# rails functional tests run - one set of tests for both the
|
33
|
+
# controllers and the views. The benefit of this approach is that
|
34
|
+
# you get wider coverage from each spec. Experienced rails
|
35
|
+
# developers may find this an easier approach to begin with, however
|
36
|
+
# we encourage you to explore using the isolation mode and revel
|
37
|
+
# in its benefits.
|
38
|
+
#
|
39
|
+
# == Expecting Errors
|
40
|
+
#
|
41
|
+
# Rspec on Rails will raise errors that occur in controller actions.
|
42
|
+
# In contrast, Rails will swallow errors that are raised in controller
|
43
|
+
# actions and return an error code in the header. If you wish to override
|
44
|
+
# Rspec and have Rail's default behaviour,tell the controller to use
|
45
|
+
# rails error handling ...
|
46
|
+
#
|
47
|
+
# before(:each) do
|
48
|
+
# controller.use_rails_error_handling!
|
49
|
+
# end
|
50
|
+
#
|
51
|
+
# When using Rail's error handling, you can expect error codes in headers ...
|
52
|
+
#
|
53
|
+
# it "should return an error in the header" do
|
54
|
+
# response.should be_error
|
55
|
+
# end
|
56
|
+
#
|
57
|
+
# it "should return a 501" do
|
58
|
+
# response.response_code.should == 501
|
59
|
+
# end
|
60
|
+
#
|
61
|
+
# it "should return a 501" do
|
62
|
+
# response.code.should == "501"
|
63
|
+
# end
|
64
|
+
class ControllerExample < FunctionalExample
|
65
|
+
class << self
|
66
|
+
def before_eval # :nodoc:
|
67
|
+
prepend_before {controller_setup}
|
68
|
+
append_after {teardown}
|
69
|
+
configure
|
70
|
+
end
|
71
|
+
|
72
|
+
# Use this to instruct RSpec to render views in your controller examples (Integration Mode).
|
73
|
+
#
|
74
|
+
# describe ThingController do
|
75
|
+
# integrate_views
|
76
|
+
# ...
|
77
|
+
#
|
78
|
+
# See Spec::Rails::DSL::ControllerExample for more information about
|
79
|
+
# Integration and Isolation modes.
|
80
|
+
def integrate_views
|
81
|
+
@integrate_views = true
|
82
|
+
end
|
83
|
+
def integrate_views? # :nodoc:
|
84
|
+
@integrate_views
|
85
|
+
end
|
86
|
+
|
87
|
+
# You MUST provide a controller_name within the context of
|
88
|
+
# your controller specs:
|
89
|
+
#
|
90
|
+
# describe "ThingController" do
|
91
|
+
# controller_name :thing
|
92
|
+
# ...
|
93
|
+
def controller_name(name)
|
94
|
+
@controller_class_name = "#{name}_controller".camelize
|
95
|
+
end
|
96
|
+
attr_accessor :controller_class_name # :nodoc:
|
97
|
+
end
|
98
|
+
|
99
|
+
attr_reader :response, :request, :controller
|
100
|
+
|
101
|
+
def initialize(example)
|
102
|
+
super
|
103
|
+
if rspec_behaviour.controller_class_name
|
104
|
+
@controller_class_name = rspec_behaviour.controller_class_name.to_s
|
105
|
+
else
|
106
|
+
@controller_class_name = rspec_behaviour.described_type.to_s
|
107
|
+
end
|
108
|
+
@integrate_views = rspec_behaviour.integrate_views?
|
109
|
+
end
|
110
|
+
|
111
|
+
def controller_setup #:nodoc:
|
112
|
+
functional_setup
|
113
|
+
|
114
|
+
# Some Rails apps explicitly disable ActionMailer in environment.rb
|
115
|
+
if defined?(ActionMailer)
|
116
|
+
@deliveries = []
|
117
|
+
ActionMailer::Base.deliveries = @deliveries
|
118
|
+
end
|
119
|
+
|
120
|
+
unless @controller.class.ancestors.include?(ActionController::Base)
|
121
|
+
Spec::Expectations.fail_with <<-EOE
|
122
|
+
You have to declare the controller name in controller specs. For example:
|
123
|
+
describe "The ExampleController" do
|
124
|
+
controller_name "example" #invokes the ExampleController
|
125
|
+
end
|
126
|
+
EOE
|
127
|
+
end
|
128
|
+
@controller.metaclass.class_eval do
|
129
|
+
def controller_path #:nodoc:
|
130
|
+
self.class.name.underscore.gsub('_controller', '')
|
131
|
+
end
|
132
|
+
include ControllerInstanceMethods
|
133
|
+
end
|
134
|
+
@controller.integrate_views! if @integrate_views
|
135
|
+
@controller.session = session
|
136
|
+
end
|
137
|
+
|
138
|
+
# Uses ActionController::Routing::Routes to generate
|
139
|
+
# the correct route for a given set of options.
|
140
|
+
# == Example
|
141
|
+
# route_for(:controller => 'registrations', :action => 'edit', :id => 1)
|
142
|
+
# => '/registrations/1;edit'
|
143
|
+
def route_for(options)
|
144
|
+
ensure_that_routes_are_loaded
|
145
|
+
ActionController::Routing::Routes.generate(options)
|
146
|
+
end
|
147
|
+
|
148
|
+
# Uses ActionController::Routing::Routes to parse
|
149
|
+
# an incoming path so the parameters it generates can be checked
|
150
|
+
# == Example
|
151
|
+
# params_from(:get, '/registrations/1;edit')
|
152
|
+
# => :controller => 'registrations', :action => 'edit', :id => 1
|
153
|
+
def params_from(method, path)
|
154
|
+
ensure_that_routes_are_loaded
|
155
|
+
ActionController::Routing::Routes.recognize_path(path, :method => method)
|
156
|
+
end
|
157
|
+
|
158
|
+
protected
|
159
|
+
def _controller_ivar_proxy
|
160
|
+
@controller_ivar_proxy ||= AssignsHashProxy.new @controller
|
161
|
+
end
|
162
|
+
|
163
|
+
private
|
164
|
+
def ensure_that_routes_are_loaded
|
165
|
+
ActionController::Routing::Routes.reload if ActionController::Routing::Routes.empty?
|
166
|
+
end
|
167
|
+
|
168
|
+
module ControllerInstanceMethods #:nodoc:
|
169
|
+
include Spec::Rails::DSL::RenderObserver
|
170
|
+
|
171
|
+
# === render(options = nil, deprecated_status = nil, &block)
|
172
|
+
#
|
173
|
+
# This gets added to the controller's singleton meta class,
|
174
|
+
# allowing Controller Examples to run in two modes, freely switching
|
175
|
+
# from context to context.
|
176
|
+
def render(options=nil, deprecated_status=nil, &block)
|
177
|
+
unless block_given?
|
178
|
+
unless integrate_views?
|
179
|
+
@template.metaclass.class_eval do
|
180
|
+
define_method :file_exists? do
|
181
|
+
true
|
182
|
+
end
|
183
|
+
define_method :render_file do |*args|
|
184
|
+
@first_render ||= args[0]
|
185
|
+
end
|
186
|
+
end
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
190
|
+
if expect_render_mock_proxy.send(:__mock_proxy).send(:find_matching_expectation, :render, options)
|
191
|
+
expect_render_mock_proxy.render(options)
|
192
|
+
@performed_render = true
|
193
|
+
else
|
194
|
+
unless expect_render_mock_proxy.send(:__mock_proxy).send(:find_matching_method_stub, :render, options)
|
195
|
+
super(options, deprecated_status, &block)
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
if self.respond_to?(:should_receive) && self.respond_to?(:stub!)
|
201
|
+
self.send :alias_method, :orig_should_receive, :should_receive
|
202
|
+
self.send :alias_method, :orig_stub!, :stub!
|
203
|
+
def raise_with_disable_message(old_method, new_method)
|
204
|
+
raise %Q|
|
205
|
+
controller.#{old_method}(:render) has been disabled because it
|
206
|
+
can often produce unexpected results. Instead, you should
|
207
|
+
use the following (before the action):
|
208
|
+
|
209
|
+
controller.#{new_method}(*args)
|
210
|
+
|
211
|
+
See the rdoc for #{new_method} for more information.
|
212
|
+
|
|
213
|
+
end
|
214
|
+
def should_receive(*args)
|
215
|
+
if args[0] == :render
|
216
|
+
raise_with_disable_message("should_receive", "expect_render")
|
217
|
+
else
|
218
|
+
orig_should_receive(*args)
|
219
|
+
end
|
220
|
+
end
|
221
|
+
def stub!(*args)
|
222
|
+
if args[0] == :render
|
223
|
+
raise_with_disable_message("stub!", "stub_render")
|
224
|
+
else
|
225
|
+
orig_stub!(*args)
|
226
|
+
end
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
def response(&block)
|
231
|
+
# NOTE - we're setting @update for the assert_select_spec - kinda weird, huh?
|
232
|
+
@update = block
|
233
|
+
@_response || @response
|
234
|
+
end
|
235
|
+
|
236
|
+
def integrate_views!
|
237
|
+
@integrate_views = true
|
238
|
+
end
|
239
|
+
|
240
|
+
private
|
241
|
+
|
242
|
+
def integrate_views?
|
243
|
+
@integrate_views
|
244
|
+
end
|
245
|
+
end
|
246
|
+
|
247
|
+
Spec::DSL::BehaviourFactory.add_example_class(:controller, self)
|
248
|
+
end
|
249
|
+
end
|
250
|
+
end
|
251
|
+
end
|