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
data/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_controller_rescue_action_spec.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
|
3
|
+
module ActionController
|
4
|
+
describe "Rescue", "#rescue_action in default mode" do
|
5
|
+
before(:each) do
|
6
|
+
@fixture = Object.new
|
7
|
+
@fixture.extend ActionController::Rescue
|
8
|
+
class << @fixture
|
9
|
+
public :rescue_action
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should raise the passed in exception so examples fail fast" do
|
14
|
+
proc {@fixture.rescue_action(RuntimeError.new("Foobar"))}.should raise_error(RuntimeError, "Foobar")
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class RescueOverriddenController < ActionController::Base
|
19
|
+
def rescue_action(error)
|
20
|
+
"successfully overridden"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "Rescue", "#rescue_action, when overridden" do
|
25
|
+
before(:each) do
|
26
|
+
@fixture = RescueOverriddenController.new
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should do whatever the overridden method does" do
|
30
|
+
@fixture.rescue_action(RuntimeError.new("Foobar")).should == "successfully overridden"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class SearchController < ActionController::Base
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "Rescue", "#rescue_action when told to use rails error handling" do
|
38
|
+
before(:each) do
|
39
|
+
@controller = SearchController.new
|
40
|
+
@controller.use_rails_error_handling!
|
41
|
+
class << @controller
|
42
|
+
public :rescue_action
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should use Rails exception handling" do
|
47
|
+
exception = RuntimeError.new("The Error")
|
48
|
+
exception.stub!(:backtrace).and_return(caller)
|
49
|
+
@controller.should_receive(:rescue_action_locally).with(exception)
|
50
|
+
|
51
|
+
@controller.rescue_action(exception)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
require 'spec/mocks/errors'
|
3
|
+
|
4
|
+
describe ActionView::Base, "with RSpec extensions", :behaviour_type => :view do
|
5
|
+
it "should not raise when render has been received" do
|
6
|
+
template.expect_render(:partial => "name")
|
7
|
+
template.render :partial => "name"
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should raise when render has NOT been received", :should_raise => [Spec::Mocks::MockExpectationError] do
|
11
|
+
template.expect_render(:partial => "name")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should not raise when stubbing and render has been received" do
|
15
|
+
template.stub_render(:partial => "name")
|
16
|
+
template.render :partial => "name"
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should not raise when stubbing and render has NOT been received" do
|
20
|
+
template.stub_render(:partial => "name")
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should not raise when stubbing and render has been received with different options" do
|
24
|
+
template.stub_render(:partial => "name")
|
25
|
+
template.render :partial => "view_spec/spacer"
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should not raise when stubbing and expecting and render has been received" do
|
29
|
+
template.stub_render(:partial => "name")
|
30
|
+
template.expect_render(:partial => "name")
|
31
|
+
template.render(:partial => "name")
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
|
3
|
+
class Thing < ActiveRecord::Base
|
4
|
+
validates_presence_of :name
|
5
|
+
end
|
6
|
+
|
7
|
+
describe "A model" do
|
8
|
+
it "should tell you its required fields" do
|
9
|
+
Thing.new.should have(1).error_on(:name)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should tell you how many records it has" do
|
13
|
+
Thing.should have(:no).records
|
14
|
+
Thing.create(:name => "THE THING")
|
15
|
+
Thing.should have(1).record
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,783 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
|
3
|
+
# assert_select plugins for Rails
|
4
|
+
#
|
5
|
+
# Copyright (c) 2006 Assaf Arkin, under Creative Commons Attribution and/or MIT License
|
6
|
+
# Developed for http://co.mments.com
|
7
|
+
# Code and documention: http://labnotes.org
|
8
|
+
|
9
|
+
class AssertSelectController < ActionController::Base
|
10
|
+
|
11
|
+
def response=(content)
|
12
|
+
@content = content
|
13
|
+
end
|
14
|
+
|
15
|
+
#NOTE - this is commented because response is implemented in lib/spec/rails/context/controller
|
16
|
+
# def response(&block)
|
17
|
+
# @update = block
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
def html()
|
21
|
+
render :text=>@content, :layout=>false, :content_type=>Mime::HTML
|
22
|
+
@content = nil
|
23
|
+
end
|
24
|
+
|
25
|
+
def rjs()
|
26
|
+
update = @update
|
27
|
+
render :update do |page|
|
28
|
+
update.call page
|
29
|
+
end
|
30
|
+
@update = nil
|
31
|
+
end
|
32
|
+
|
33
|
+
def xml()
|
34
|
+
render :text=>@content, :layout=>false, :content_type=>Mime::XML
|
35
|
+
@content = nil
|
36
|
+
end
|
37
|
+
|
38
|
+
def rescue_action(e)
|
39
|
+
raise e
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
class AssertSelectMailer < ActionMailer::Base
|
45
|
+
|
46
|
+
def test(html)
|
47
|
+
recipients "test <test@test.host>"
|
48
|
+
from "test@test.host"
|
49
|
+
subject "Test e-mail"
|
50
|
+
part :content_type=>"text/html", :body=>html
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
module AssertSelectSpecHelpers
|
56
|
+
def render_html(html)
|
57
|
+
@controller.response = html
|
58
|
+
get :html
|
59
|
+
end
|
60
|
+
|
61
|
+
def render_rjs(&block)
|
62
|
+
clear_response
|
63
|
+
@controller.response &block
|
64
|
+
get :rjs
|
65
|
+
end
|
66
|
+
|
67
|
+
def render_xml(xml)
|
68
|
+
@controller.response = xml
|
69
|
+
get :xml
|
70
|
+
end
|
71
|
+
|
72
|
+
def first_non_rspec_line_in_backtrace_of(error)
|
73
|
+
rspec_path = File.join('rspec', 'lib', 'spec')
|
74
|
+
error.backtrace.reject { |line|
|
75
|
+
line =~ /#{rspec_path}/
|
76
|
+
}.first
|
77
|
+
end
|
78
|
+
|
79
|
+
private
|
80
|
+
# necessary for 1.2.1
|
81
|
+
def clear_response
|
82
|
+
render_html("")
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
unless defined?(SpecFailed)
|
87
|
+
SpecFailed = Spec::Expectations::ExpectationNotMetError
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "should have_tag", :behaviour_type => :controller do
|
91
|
+
include AssertSelectSpecHelpers
|
92
|
+
controller_name :assert_select
|
93
|
+
integrate_views
|
94
|
+
|
95
|
+
it "should find specific numbers of elements" do
|
96
|
+
render_html %Q{<div id="1"></div><div id="2"></div>}
|
97
|
+
response.should have_tag( "div" )
|
98
|
+
response.should have_tag("div", 2)
|
99
|
+
lambda { response.should_not have_tag("div") }.should raise_error(SpecFailed, "should not have tag(\"div\"), but did")
|
100
|
+
|
101
|
+
lambda { response.should have_tag("div", 3) }.should raise_error(SpecFailed)
|
102
|
+
lambda { response.should have_tag("p") }.should raise_error(SpecFailed)
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should expect to find elements when using true" do
|
106
|
+
render_html %Q{<div id="1"></div><div id="2"></div>}
|
107
|
+
response.should have_tag( "div", true )
|
108
|
+
lambda { response.should have_tag( "p", true )}.should raise_error(SpecFailed)
|
109
|
+
end
|
110
|
+
|
111
|
+
it "should expect to not find elements when using false" do
|
112
|
+
render_html %Q{<div id="1"></div><div id="2"></div>}
|
113
|
+
response.should have_tag( "p", false )
|
114
|
+
lambda { response.should have_tag( "div", false )}.should raise_error(SpecFailed)
|
115
|
+
end
|
116
|
+
|
117
|
+
|
118
|
+
it "should match submitted text using text or regexp" do
|
119
|
+
render_html %Q{<div id="1">foo</div><div id="2">foo</div>}
|
120
|
+
response.should have_tag("div", "foo")
|
121
|
+
response.should have_tag("div", /(foo|bar)/)
|
122
|
+
response.should have_tag("div", :text=>"foo")
|
123
|
+
response.should have_tag("div", :text=>/(foo|bar)/)
|
124
|
+
|
125
|
+
lambda { response.should have_tag("div", "bar") }.should raise_error(SpecFailed)
|
126
|
+
lambda { response.should have_tag("div", :text=>"bar") }.should raise_error(SpecFailed)
|
127
|
+
lambda { response.should have_tag("p", :text=>"foo") }.should raise_error(SpecFailed)
|
128
|
+
|
129
|
+
lambda { response.should have_tag("div", /foobar/) }.should raise_error(SpecFailed)
|
130
|
+
lambda { response.should have_tag("div", :text=>/foobar/) }.should raise_error(SpecFailed)
|
131
|
+
lambda { response.should have_tag("p", :text=>/foo/) }.should raise_error(SpecFailed)
|
132
|
+
end
|
133
|
+
|
134
|
+
it "should use submitted message" do
|
135
|
+
render_html %Q{nothing here}
|
136
|
+
lambda {
|
137
|
+
response.should have_tag("div", {}, "custom message")
|
138
|
+
}.should raise_error(SpecFailed, /custom message/)
|
139
|
+
end
|
140
|
+
|
141
|
+
it "should match submitted html" do
|
142
|
+
render_html %Q{<p>\n<em>"This is <strong>not</strong> a big problem,"</em> he said.\n</p>}
|
143
|
+
text = "\"This is not a big problem,\" he said."
|
144
|
+
html = "<em>\"This is <strong>not</strong> a big problem,\"</em> he said."
|
145
|
+
response.should have_tag("p", text)
|
146
|
+
lambda { response.should have_tag("p", html) }.should raise_error(SpecFailed)
|
147
|
+
response.should have_tag("p", :html=>html)
|
148
|
+
lambda { response.should have_tag("p", :html=>text) }.should raise_error(SpecFailed)
|
149
|
+
|
150
|
+
# # No stripping for pre.
|
151
|
+
render_html %Q{<pre>\n<em>"This is <strong>not</strong> a big problem,"</em> he said.\n</pre>}
|
152
|
+
text = "\n\"This is not a big problem,\" he said.\n"
|
153
|
+
html = "\n<em>\"This is <strong>not</strong> a big problem,\"</em> he said.\n"
|
154
|
+
response.should have_tag("pre", text)
|
155
|
+
lambda { response.should have_tag("pre", html) }.should raise_error(SpecFailed)
|
156
|
+
response.should have_tag("pre", :html=>html)
|
157
|
+
lambda { response.should have_tag("pre", :html=>text) }.should raise_error(SpecFailed)
|
158
|
+
end
|
159
|
+
|
160
|
+
it "should match number of instances" do
|
161
|
+
render_html %Q{<div id="1">foo</div><div id="2">foo</div>}
|
162
|
+
response.should have_tag("div", 2)
|
163
|
+
lambda { response.should have_tag("div", 3) }.should raise_error(SpecFailed)
|
164
|
+
response.should have_tag("div", 1..2)
|
165
|
+
lambda { response.should have_tag("div", 3..4) }.should raise_error(SpecFailed)
|
166
|
+
response.should have_tag("div", :count=>2)
|
167
|
+
lambda { response.should have_tag("div", :count=>3) }.should raise_error(SpecFailed)
|
168
|
+
response.should have_tag("div", :minimum=>1)
|
169
|
+
response.should have_tag("div", :minimum=>2)
|
170
|
+
lambda { response.should have_tag("div", :minimum=>3) }.should raise_error(SpecFailed)
|
171
|
+
response.should have_tag("div", :maximum=>2)
|
172
|
+
response.should have_tag("div", :maximum=>3)
|
173
|
+
lambda { response.should have_tag("div", :maximum=>1) }.should raise_error(SpecFailed)
|
174
|
+
response.should have_tag("div", :minimum=>1, :maximum=>2)
|
175
|
+
lambda { response.should have_tag("div", :minimum=>3, :maximum=>4) }.should raise_error(SpecFailed)
|
176
|
+
end
|
177
|
+
|
178
|
+
it "substitution values" do
|
179
|
+
render_html %Q{<div id="1">foo</div><div id="2">foo</div><span id="3"></span>}
|
180
|
+
response.should have_tag("div#?", /\d+/) do |elements| #using do/end
|
181
|
+
elements.size.should == 2
|
182
|
+
end
|
183
|
+
response.should have_tag("div#?", /\d+/) { |elements| #using {}
|
184
|
+
elements.size.should == 2
|
185
|
+
}
|
186
|
+
lambda {
|
187
|
+
response.should have_tag("div#?", /\d+/) do |elements|
|
188
|
+
elements.size.should == 3
|
189
|
+
end
|
190
|
+
}.should raise_error(SpecFailed, "expected: 3,\n got: 2 (using ==)")
|
191
|
+
|
192
|
+
lambda {
|
193
|
+
response.should have_tag("div#?", /\d+/) { |elements|
|
194
|
+
elements.size.should == 3
|
195
|
+
}
|
196
|
+
}.should raise_error(SpecFailed, "expected: 3,\n got: 2 (using ==)")
|
197
|
+
|
198
|
+
response.should have_tag("div#?", /\d+/) do |elements|
|
199
|
+
elements.size.should == 2
|
200
|
+
with_tag("#1")
|
201
|
+
with_tag("#2")
|
202
|
+
without_tag("#3")
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
206
|
+
#added for RSpec
|
207
|
+
it "nested tags in form" do
|
208
|
+
render_html %Q{
|
209
|
+
<form action="test">
|
210
|
+
<input type="text" name="email">
|
211
|
+
</form>
|
212
|
+
<form action="other">
|
213
|
+
<input type="text" name="other_input">
|
214
|
+
</form>
|
215
|
+
}
|
216
|
+
response.should have_tag("form[action=test]") { |form|
|
217
|
+
with_tag("input[type=text][name=email]")
|
218
|
+
}
|
219
|
+
response.should have_tag("form[action=test]") { |form|
|
220
|
+
with_tag("input[type=text][name=email]")
|
221
|
+
}
|
222
|
+
|
223
|
+
lambda {
|
224
|
+
response.should have_tag("form[action=test]") { |form|
|
225
|
+
with_tag("input[type=text][name=other_input]")
|
226
|
+
}
|
227
|
+
}.should raise_error(SpecFailed)
|
228
|
+
|
229
|
+
lambda {
|
230
|
+
response.should have_tag("form[action=test]") {
|
231
|
+
with_tag("input[type=text][name=other_input]")
|
232
|
+
}
|
233
|
+
}.should raise_error(SpecFailed)
|
234
|
+
end
|
235
|
+
|
236
|
+
it "should report the correct line number for a nested failed expectation" do
|
237
|
+
render_html %Q{
|
238
|
+
<form action="test">
|
239
|
+
<input type="text" name="email">
|
240
|
+
</form>
|
241
|
+
}
|
242
|
+
begin
|
243
|
+
response.should have_tag("form[action=test]") {
|
244
|
+
@expected_error_line = __LINE__; should have_tag("input[type=text][name=other_input]")
|
245
|
+
}
|
246
|
+
rescue => e
|
247
|
+
first_non_rspec_line_in_backtrace_of(e).should =~
|
248
|
+
/#{File.basename(__FILE__)}:#{@expected_error_line}/
|
249
|
+
else
|
250
|
+
fail
|
251
|
+
end
|
252
|
+
end
|
253
|
+
|
254
|
+
it "should report the correct line number for a nested raised exception" do
|
255
|
+
render_html %Q{
|
256
|
+
<form action="test">
|
257
|
+
<input type="text" name="email">
|
258
|
+
</form>
|
259
|
+
}
|
260
|
+
begin
|
261
|
+
response.should have_tag("form[action=test]") {
|
262
|
+
@expected_error_line = __LINE__; raise "Failed!"
|
263
|
+
}
|
264
|
+
rescue => e
|
265
|
+
first_non_rspec_line_in_backtrace_of(e).should =~
|
266
|
+
/#{File.basename(__FILE__)}:#{@expected_error_line}/
|
267
|
+
else
|
268
|
+
fail
|
269
|
+
end
|
270
|
+
end
|
271
|
+
|
272
|
+
it "should report the correct line number for a nested failed test/unit assertion" do
|
273
|
+
pending "Doesn't work at the moment. Do we want to support this?" do
|
274
|
+
render_html %Q{
|
275
|
+
<form action="test">
|
276
|
+
<input type="text" name="email">
|
277
|
+
</form>
|
278
|
+
}
|
279
|
+
begin
|
280
|
+
response.should have_tag("form[action=test]") {
|
281
|
+
@expected_error_line = __LINE__; assert false
|
282
|
+
}
|
283
|
+
rescue => e
|
284
|
+
first_non_rspec_line_in_backtrace_of(e).should =~
|
285
|
+
/#{File.basename(__FILE__)}:#{@expected_error_line}/
|
286
|
+
else
|
287
|
+
fail
|
288
|
+
end
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
292
|
+
|
293
|
+
it "beatles" do
|
294
|
+
unless defined?(BEATLES)
|
295
|
+
BEATLES = [
|
296
|
+
["John", "Guitar"],
|
297
|
+
["George", "Guitar"],
|
298
|
+
["Paul", "Bass"],
|
299
|
+
["Ringo", "Drums"]
|
300
|
+
]
|
301
|
+
end
|
302
|
+
|
303
|
+
render_html %Q{
|
304
|
+
<div id="beatles">
|
305
|
+
<div class="beatle">
|
306
|
+
<h2>John</h2><p>Guitar</p>
|
307
|
+
</div>
|
308
|
+
<div class="beatle">
|
309
|
+
<h2>George</h2><p>Guitar</p>
|
310
|
+
</div>
|
311
|
+
<div class="beatle">
|
312
|
+
<h2>Paul</h2><p>Bass</p>
|
313
|
+
</div>
|
314
|
+
<div class="beatle">
|
315
|
+
<h2>Ringo</h2><p>Drums</p>
|
316
|
+
</div>
|
317
|
+
</div>
|
318
|
+
}
|
319
|
+
response.should have_tag("div#beatles>div[class=\"beatle\"]", 4)
|
320
|
+
|
321
|
+
response.should have_tag("div#beatles>div.beatle") {
|
322
|
+
BEATLES.each { |name, instrument|
|
323
|
+
with_tag("div.beatle>h2", name)
|
324
|
+
with_tag("div.beatle>p", instrument)
|
325
|
+
without_tag("div.beatle>span")
|
326
|
+
}
|
327
|
+
}
|
328
|
+
end
|
329
|
+
|
330
|
+
it "assert_select_text_match" do
|
331
|
+
render_html %Q{<div id="1"><span>foo</span></div><div id="2"><span>bar</span></div>}
|
332
|
+
response.should have_tag("div") do |divs|
|
333
|
+
with_tag("div", "foo")
|
334
|
+
with_tag("div", "bar")
|
335
|
+
with_tag("div", /\w*/)
|
336
|
+
with_tag("div", /\w*/, :count=>2)
|
337
|
+
without_tag("div", :text=>"foo", :count=>2)
|
338
|
+
with_tag("div", :html=>"<span>bar</span>")
|
339
|
+
with_tag("div", :html=>"<span>bar</span>")
|
340
|
+
with_tag("div", :html=>/\w*/)
|
341
|
+
with_tag("div", :html=>/\w*/, :count=>2)
|
342
|
+
without_tag("div", :html=>"<span>foo</span>", :count=>2)
|
343
|
+
end
|
344
|
+
end
|
345
|
+
|
346
|
+
|
347
|
+
it "assert_select_from_rjs with one item" do
|
348
|
+
render_rjs do |page|
|
349
|
+
page.replace_html "test", "<div id=\"1\">foo</div>\n<div id=\"2\">foo</div>"
|
350
|
+
end
|
351
|
+
response.should have_tag("div") { |elements|
|
352
|
+
elements.size.should == 2
|
353
|
+
with_tag("#1")
|
354
|
+
with_tag("#2")
|
355
|
+
}
|
356
|
+
|
357
|
+
lambda {
|
358
|
+
response.should have_tag("div") { |elements|
|
359
|
+
elements.size.should == 2
|
360
|
+
with_tag("#1")
|
361
|
+
with_tag("#3")
|
362
|
+
}
|
363
|
+
}.should raise_error(SpecFailed)
|
364
|
+
|
365
|
+
lambda {
|
366
|
+
response.should have_tag("div") { |elements|
|
367
|
+
elements.size.should == 2
|
368
|
+
with_tag("#1")
|
369
|
+
without_tag("#2")
|
370
|
+
}
|
371
|
+
}.should raise_error(SpecFailed, "should not have tag(\"#2\"), but did")
|
372
|
+
|
373
|
+
lambda {
|
374
|
+
response.should have_tag("div") { |elements|
|
375
|
+
elements.size.should == 3
|
376
|
+
with_tag("#1")
|
377
|
+
with_tag("#2")
|
378
|
+
}
|
379
|
+
}.should raise_error(SpecFailed)
|
380
|
+
|
381
|
+
|
382
|
+
response.should have_tag("div#?", /\d+/) { |elements|
|
383
|
+
with_tag("#1")
|
384
|
+
with_tag("#2")
|
385
|
+
}
|
386
|
+
end
|
387
|
+
|
388
|
+
it "assert_select_from_rjs with multiple items" do
|
389
|
+
render_rjs do |page|
|
390
|
+
page.replace_html "test", "<div id=\"1\">foo</div>"
|
391
|
+
page.replace_html "test2", "<div id=\"2\">foo</div>"
|
392
|
+
end
|
393
|
+
response.should have_tag("div")
|
394
|
+
response.should have_tag("div") { |elements|
|
395
|
+
elements.size.should == 2
|
396
|
+
with_tag("#1")
|
397
|
+
with_tag("#2")
|
398
|
+
}
|
399
|
+
|
400
|
+
lambda {
|
401
|
+
response.should have_tag("div") { |elements|
|
402
|
+
with_tag("#3")
|
403
|
+
}
|
404
|
+
}.should raise_error(SpecFailed)
|
405
|
+
end
|
406
|
+
end
|
407
|
+
|
408
|
+
describe "css_select", :behaviour_type => :controller do
|
409
|
+
include AssertSelectSpecHelpers
|
410
|
+
controller_name :assert_select
|
411
|
+
integrate_views
|
412
|
+
|
413
|
+
it "can select tags from html" do
|
414
|
+
render_html %Q{<div id="1"></div><div id="2"></div>}
|
415
|
+
css_select("div").size.should == 2
|
416
|
+
css_select("p").size.should == 0
|
417
|
+
end
|
418
|
+
|
419
|
+
|
420
|
+
it "can select nested tags from html" do
|
421
|
+
render_html %Q{<div id="1">foo</div><div id="2">foo</div>}
|
422
|
+
response.should have_tag("div#?", /\d+/) { |elements|
|
423
|
+
css_select(elements[0], "div").should have(1).element
|
424
|
+
css_select(elements[1], "div").should have(1).element
|
425
|
+
}
|
426
|
+
response.should have_tag("div") {
|
427
|
+
css_select("div").should have(2).elements
|
428
|
+
css_select("div").each { |element|
|
429
|
+
# Testing as a group is one thing
|
430
|
+
css_select("#1,#2").should have(2).elements
|
431
|
+
# Testing individually is another
|
432
|
+
css_select("#1").should have(1).element
|
433
|
+
css_select("#2").should have(1).element
|
434
|
+
}
|
435
|
+
}
|
436
|
+
end
|
437
|
+
|
438
|
+
it "can select nested tags from rjs (one result)" do
|
439
|
+
render_rjs do |page|
|
440
|
+
page.replace_html "test", "<div id=\"1\">foo</div>\n<div id=\"2\">foo</div>"
|
441
|
+
end
|
442
|
+
css_select("div").should have(2).elements
|
443
|
+
css_select("#1").should have(1).element
|
444
|
+
css_select("#2").should have(1).element
|
445
|
+
end
|
446
|
+
|
447
|
+
it "can select nested tags from rjs (two results)" do
|
448
|
+
render_rjs do |page|
|
449
|
+
page.replace_html "test", "<div id=\"1\">foo</div>"
|
450
|
+
page.replace_html "test2", "<div id=\"2\">foo</div>"
|
451
|
+
end
|
452
|
+
css_select("div").should have(2).elements
|
453
|
+
css_select("#1").should have(1).element
|
454
|
+
css_select("#2").should have(1).element
|
455
|
+
end
|
456
|
+
|
457
|
+
end
|
458
|
+
|
459
|
+
describe "have_rjs behaviour", :behaviour_type => :controller do
|
460
|
+
include AssertSelectSpecHelpers
|
461
|
+
controller_name :assert_select
|
462
|
+
integrate_views
|
463
|
+
|
464
|
+
before(:each) do
|
465
|
+
render_rjs do |page|
|
466
|
+
page.replace "test1", "<div id=\"1\">foo</div>"
|
467
|
+
page.replace_html "test2", "<div id=\"2\">bar</div><div id=\"3\">none</div>"
|
468
|
+
page.insert_html :top, "test3", "<div id=\"4\">loopy</div>"
|
469
|
+
page.hide "test4"
|
470
|
+
page["test5"].hide
|
471
|
+
end
|
472
|
+
end
|
473
|
+
|
474
|
+
it "should pass if any rjs exists" do
|
475
|
+
response.should have_rjs
|
476
|
+
end
|
477
|
+
|
478
|
+
it "should fail if no rjs exists" do
|
479
|
+
render_rjs do |page|
|
480
|
+
end
|
481
|
+
lambda do
|
482
|
+
response.should have_rjs
|
483
|
+
end.should raise_error(SpecFailed)
|
484
|
+
end
|
485
|
+
|
486
|
+
it "should find all rjs from multiple statements" do
|
487
|
+
response.should have_rjs do
|
488
|
+
with_tag("#1")
|
489
|
+
with_tag("#2")
|
490
|
+
with_tag("#3")
|
491
|
+
# with_tag("#4")
|
492
|
+
# with_tag("#5")
|
493
|
+
end
|
494
|
+
end
|
495
|
+
|
496
|
+
it "should find by id" do
|
497
|
+
response.should have_rjs("test1") { |rjs|
|
498
|
+
rjs.size.should == 1
|
499
|
+
with_tag("div", 1)
|
500
|
+
with_tag("div#1", "foo")
|
501
|
+
}
|
502
|
+
|
503
|
+
lambda do
|
504
|
+
response.should have_rjs("test1") { |rjs|
|
505
|
+
rjs.size.should == 1
|
506
|
+
without_tag("div#1", "foo")
|
507
|
+
}
|
508
|
+
end.should raise_error(SpecFailed, "should not have tag(\"div#1\", \"foo\"), but did")
|
509
|
+
|
510
|
+
response.should have_rjs("test2") { |rjs|
|
511
|
+
rjs.size.should == 2
|
512
|
+
with_tag("div", 2)
|
513
|
+
with_tag("div#2", "bar")
|
514
|
+
with_tag("div#3", "none")
|
515
|
+
}
|
516
|
+
# response.should have_rjs("test4")
|
517
|
+
# response.should have_rjs("test5")
|
518
|
+
end
|
519
|
+
|
520
|
+
# specify "should find rjs using :hide" do
|
521
|
+
# response.should have_rjs(:hide)
|
522
|
+
# response.should have_rjs(:hide, "test4")
|
523
|
+
# response.should have_rjs(:hide, "test5")
|
524
|
+
# lambda do
|
525
|
+
# response.should have_rjs(:hide, "test3")
|
526
|
+
# end.should raise_error(SpecFailed)
|
527
|
+
# end
|
528
|
+
|
529
|
+
it "should find rjs using :replace" do
|
530
|
+
response.should have_rjs(:replace) { |rjs|
|
531
|
+
with_tag("div", 1)
|
532
|
+
with_tag("div#1", "foo")
|
533
|
+
}
|
534
|
+
response.should have_rjs(:replace, "test1") { |rjs|
|
535
|
+
with_tag("div", 1)
|
536
|
+
with_tag("div#1", "foo")
|
537
|
+
}
|
538
|
+
lambda {
|
539
|
+
response.should have_rjs(:replace, "test2")
|
540
|
+
}.should raise_error(SpecFailed)
|
541
|
+
|
542
|
+
lambda {
|
543
|
+
response.should have_rjs(:replace, "test3")
|
544
|
+
}.should raise_error(SpecFailed)
|
545
|
+
end
|
546
|
+
|
547
|
+
it "should find rjs using :replace_html" do
|
548
|
+
response.should have_rjs(:replace_html) { |rjs|
|
549
|
+
with_tag("div", 2)
|
550
|
+
with_tag("div#2", "bar")
|
551
|
+
with_tag("div#3", "none")
|
552
|
+
}
|
553
|
+
|
554
|
+
response.should have_rjs(:replace_html, "test2") { |rjs|
|
555
|
+
with_tag("div", 2)
|
556
|
+
with_tag("div#2", "bar")
|
557
|
+
with_tag("div#3", "none")
|
558
|
+
}
|
559
|
+
|
560
|
+
lambda {
|
561
|
+
response.should have_rjs(:replace_html, "test1")
|
562
|
+
}.should raise_error(SpecFailed)
|
563
|
+
|
564
|
+
lambda {
|
565
|
+
response.should have_rjs(:replace_html, "test3")
|
566
|
+
}.should raise_error(SpecFailed)
|
567
|
+
end
|
568
|
+
|
569
|
+
it "should find rjs using :insert_html (non-positioned)" do
|
570
|
+
response.should have_rjs(:insert_html) { |rjs|
|
571
|
+
with_tag("div", 1)
|
572
|
+
with_tag("div#4", "loopy")
|
573
|
+
}
|
574
|
+
|
575
|
+
response.should have_rjs(:insert_html, "test3") { |rjs|
|
576
|
+
with_tag("div", 1)
|
577
|
+
with_tag("div#4", "loopy")
|
578
|
+
}
|
579
|
+
|
580
|
+
lambda {
|
581
|
+
response.should have_rjs(:insert_html, "test1")
|
582
|
+
}.should raise_error(SpecFailed)
|
583
|
+
|
584
|
+
lambda {
|
585
|
+
response.should have_rjs(:insert_html, "test2")
|
586
|
+
}.should raise_error(SpecFailed)
|
587
|
+
end
|
588
|
+
|
589
|
+
it "should find rjs using :insert (positioned)" do
|
590
|
+
render_rjs do |page|
|
591
|
+
page.insert_html :top, "test1", "<div id=\"1\">foo</div>"
|
592
|
+
page.insert_html :bottom, "test2", "<div id=\"2\">bar</div>"
|
593
|
+
page.insert_html :before, "test3", "<div id=\"3\">none</div>"
|
594
|
+
page.insert_html :after, "test4", "<div id=\"4\">loopy</div>"
|
595
|
+
end
|
596
|
+
response.should have_rjs(:insert, :top) do
|
597
|
+
with_tag("div", 1)
|
598
|
+
with_tag("#1")
|
599
|
+
end
|
600
|
+
response.should have_rjs(:insert, :top, "test1") do
|
601
|
+
with_tag("div", 1)
|
602
|
+
with_tag("#1")
|
603
|
+
end
|
604
|
+
lambda {
|
605
|
+
response.should have_rjs(:insert, :top, "test2")
|
606
|
+
}.should raise_error(SpecFailed)
|
607
|
+
response.should have_rjs(:insert, :bottom) {|rjs|
|
608
|
+
with_tag("div", 1)
|
609
|
+
with_tag("#2")
|
610
|
+
}
|
611
|
+
response.should have_rjs(:insert, :bottom, "test2") {|rjs|
|
612
|
+
with_tag("div", 1)
|
613
|
+
with_tag("#2")
|
614
|
+
}
|
615
|
+
response.should have_rjs(:insert, :before) {|rjs|
|
616
|
+
with_tag("div", 1)
|
617
|
+
with_tag("#3")
|
618
|
+
}
|
619
|
+
response.should have_rjs(:insert, :before, "test3") {|rjs|
|
620
|
+
with_tag("div", 1)
|
621
|
+
with_tag("#3")
|
622
|
+
}
|
623
|
+
response.should have_rjs(:insert, :after) {|rjs|
|
624
|
+
with_tag("div", 1)
|
625
|
+
with_tag("#4")
|
626
|
+
}
|
627
|
+
response.should have_rjs(:insert, :after, "test4") {|rjs|
|
628
|
+
with_tag("div", 1)
|
629
|
+
with_tag("#4")
|
630
|
+
}
|
631
|
+
end
|
632
|
+
end
|
633
|
+
|
634
|
+
describe "send_email behaviour", :behaviour_type => :controller do
|
635
|
+
include AssertSelectSpecHelpers
|
636
|
+
controller_name :assert_select
|
637
|
+
integrate_views
|
638
|
+
|
639
|
+
before(:each) do
|
640
|
+
ActionMailer::Base.delivery_method = :test
|
641
|
+
ActionMailer::Base.perform_deliveries = true
|
642
|
+
ActionMailer::Base.deliveries = []
|
643
|
+
end
|
644
|
+
|
645
|
+
after(:each) do
|
646
|
+
ActionMailer::Base.deliveries.clear
|
647
|
+
end
|
648
|
+
|
649
|
+
it "should fail with nothing sent" do
|
650
|
+
response.should_not send_email
|
651
|
+
lambda {
|
652
|
+
response.should send_email{}
|
653
|
+
}.should raise_error(SpecFailed, /No e-mail in delivery list./)
|
654
|
+
end
|
655
|
+
|
656
|
+
it "should pass otherwise" do
|
657
|
+
AssertSelectMailer.deliver_test "<div><p>foo</p><p>bar</p></div>"
|
658
|
+
response.should send_email
|
659
|
+
lambda {
|
660
|
+
response.should_not send_email
|
661
|
+
}.should raise_error(SpecFailed)
|
662
|
+
response.should send_email{}
|
663
|
+
response.should send_email {
|
664
|
+
with_tag("div:root") {
|
665
|
+
with_tag("p:first-child", "foo")
|
666
|
+
with_tag("p:last-child", "bar")
|
667
|
+
}
|
668
|
+
}
|
669
|
+
|
670
|
+
lambda {
|
671
|
+
response.should_not send_email
|
672
|
+
}.should raise_error(SpecFailed, "should not send email, but did")
|
673
|
+
end
|
674
|
+
|
675
|
+
end
|
676
|
+
|
677
|
+
# describe "An rjs call to :visual_effect, a 'should have_rjs' spec with",
|
678
|
+
# :behaviour_type => :view do
|
679
|
+
#
|
680
|
+
# before do
|
681
|
+
# render 'rjs_spec/visual_effect'
|
682
|
+
# end
|
683
|
+
#
|
684
|
+
# it "should pass with the correct element name" do
|
685
|
+
# response.should have_rjs(:effect, :fade, 'mydiv')
|
686
|
+
# end
|
687
|
+
#
|
688
|
+
# it "should fail the wrong element name" do
|
689
|
+
# lambda {
|
690
|
+
# response.should have_rjs(:effect, :fade, 'wrongname')
|
691
|
+
# }.should raise_error(SpecFailed)
|
692
|
+
# end
|
693
|
+
#
|
694
|
+
# it "should fail with the correct element but the wrong command" do
|
695
|
+
# lambda {
|
696
|
+
# response.should have_rjs(:effect, :puff, 'mydiv')
|
697
|
+
# }.should raise_error(SpecFailed)
|
698
|
+
# end
|
699
|
+
#
|
700
|
+
# end
|
701
|
+
#
|
702
|
+
# describe "An rjs call to :visual_effect for a toggle, a 'should have_rjs' spec with",
|
703
|
+
# :behaviour_type => :view do
|
704
|
+
#
|
705
|
+
# before do
|
706
|
+
# render 'rjs_spec/visual_toggle_effect'
|
707
|
+
# end
|
708
|
+
#
|
709
|
+
# it "should pass with the correct element name" do
|
710
|
+
# response.should have_rjs(:effect, :toggle_blind, 'mydiv')
|
711
|
+
# end
|
712
|
+
#
|
713
|
+
# it "should fail with the wrong element name" do
|
714
|
+
# lambda {
|
715
|
+
# response.should have_rjs(:effect, :toggle_blind, 'wrongname')
|
716
|
+
# }.should raise_error(SpecFailed)
|
717
|
+
# end
|
718
|
+
#
|
719
|
+
# it "should fail the correct element but the wrong command" do
|
720
|
+
# lambda {
|
721
|
+
# response.should have_rjs(:effect, :puff, 'mydiv')
|
722
|
+
# }.should raise_error(SpecFailed)
|
723
|
+
# end
|
724
|
+
#
|
725
|
+
# end
|
726
|
+
|
727
|
+
describe "string.should have_tag", :behaviour_type => :helper do
|
728
|
+
include AssertSelectSpecHelpers
|
729
|
+
|
730
|
+
it "should find root element" do
|
731
|
+
"<p>a paragraph</p>".should have_tag("p", "a paragraph")
|
732
|
+
end
|
733
|
+
|
734
|
+
it "should not find non-existent element" do
|
735
|
+
lambda do
|
736
|
+
"<p>a paragraph</p>".should have_tag("p", "wrong text")
|
737
|
+
end.should raise_error(SpecFailed)
|
738
|
+
end
|
739
|
+
|
740
|
+
it "should find child element" do
|
741
|
+
"<div><p>a paragraph</p></div>".should have_tag("p", "a paragraph")
|
742
|
+
end
|
743
|
+
|
744
|
+
it "should find nested element" do
|
745
|
+
"<div><p>a paragraph</p></div>".should have_tag("div") do
|
746
|
+
with_tag("p", "a paragraph")
|
747
|
+
end
|
748
|
+
end
|
749
|
+
|
750
|
+
it "should not find wrong nested element" do
|
751
|
+
lambda do
|
752
|
+
"<div><p>a paragraph</p></div>".should have_tag("div") do
|
753
|
+
with_tag("p", "wrong text")
|
754
|
+
end
|
755
|
+
end.should raise_error(SpecFailed)
|
756
|
+
end
|
757
|
+
end
|
758
|
+
|
759
|
+
describe "have_tag", :behaviour_type => :controller do
|
760
|
+
include AssertSelectSpecHelpers
|
761
|
+
controller_name :assert_select
|
762
|
+
integrate_views
|
763
|
+
|
764
|
+
it "should work exactly the same as assert_select" do
|
765
|
+
render_html %Q{
|
766
|
+
<div id="wrapper">foo
|
767
|
+
<div class="piece">
|
768
|
+
<h3>Text</h3>
|
769
|
+
</div>
|
770
|
+
<div class="piece">
|
771
|
+
<h3>Another</h3>
|
772
|
+
</div>
|
773
|
+
</div>
|
774
|
+
}
|
775
|
+
|
776
|
+
assert_select "#wrapper .piece h3", :text => "Text"
|
777
|
+
assert_select "#wrapper .piece h3", :text => "Another"
|
778
|
+
|
779
|
+
response.should have_tag("#wrapper .piece h3", :text => "Text")
|
780
|
+
response.should have_tag("#wrapper .piece h3", :text => "Another")
|
781
|
+
end
|
782
|
+
end
|
783
|
+
|