rspec-rails 2.99.0 → 3.0.0.beta1
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.
- checksums.yaml +8 -8
- checksums.yaml.gz.sig +2 -0
- data.tar.gz.sig +0 -0
- data/Changelog.md +40 -68
- data/License.txt +1 -0
- data/README.md +6 -4
- data/features/Generators.md +24 -0
- data/features/GettingStarted.md +84 -0
- data/features/README.md +56 -0
- data/features/RailsVersions.md +4 -0
- data/features/Transactions.md +84 -0
- data/features/Upgrade.md +121 -0
- data/features/controller_specs/Cookies.md +57 -0
- data/features/controller_specs/README.md +45 -0
- data/features/controller_specs/anonymous_controller.feature +378 -0
- data/features/controller_specs/bypass_rescue.feature +75 -0
- data/features/controller_specs/controller_spec.feature +58 -0
- data/features/controller_specs/engine_routes.feature +51 -0
- data/features/controller_specs/isolation_from_views.feature +87 -0
- data/features/controller_specs/render_views.feature +114 -0
- data/features/directory_structure.feature +71 -0
- data/features/feature_specs/feature_spec.feature +35 -0
- data/features/helper_specs/helper_spec.feature +122 -0
- data/features/mailer_specs/url_helpers.feature +38 -0
- data/features/matchers/README.md +18 -0
- data/features/matchers/new_record_matcher.feature +41 -0
- data/features/matchers/redirect_to_matcher.feature +40 -0
- data/features/matchers/relation_match_array.feature +27 -0
- data/features/matchers/render_template_matcher.feature +49 -0
- data/features/mocks/mock_model.feature +147 -0
- data/features/mocks/stub_model.feature +58 -0
- data/features/model_specs/README.md +21 -0
- data/features/model_specs/errors_on.feature +51 -0
- data/features/model_specs/records.feature +27 -0
- data/features/model_specs/transactional_examples.feature +109 -0
- data/features/request_specs/request_spec.feature +49 -0
- data/features/routing_specs/README.md +16 -0
- data/features/routing_specs/be_routable_matcher.feature +80 -0
- data/features/routing_specs/engine_routes.feature +38 -0
- data/features/routing_specs/named_routes.feature +18 -0
- data/features/routing_specs/route_to_matcher.feature +90 -0
- data/features/step_definitions/additional_cli_steps.rb +4 -0
- data/features/step_definitions/model_steps.rb +3 -0
- data/features/support/capybara.rb +7 -0
- data/features/support/env.rb +53 -0
- data/features/support/rails_versions.rb +4 -0
- data/features/support/rubinius.rb +6 -0
- data/features/view_specs/inferred_controller_path.feature +45 -0
- data/features/view_specs/stub_template.feature +51 -0
- data/features/view_specs/view_spec.feature +206 -0
- data/lib/generators/rspec/controller/templates/controller_spec.rb +1 -1
- data/lib/generators/rspec/install/templates/spec/spec_helper.rb.tt +2 -21
- data/lib/generators/rspec/integration/integration_generator.rb +2 -3
- data/lib/generators/rspec/integration/templates/request_spec.rb +1 -1
- data/lib/generators/rspec/mailer/templates/mailer_spec.rb +4 -4
- data/lib/generators/rspec/scaffold/scaffold_generator.rb +2 -3
- data/lib/generators/rspec/scaffold/templates/controller_spec.rb +16 -16
- data/lib/generators/rspec/scaffold/templates/edit_spec.rb +2 -2
- data/lib/generators/rspec/scaffold/templates/index_spec.rb +1 -1
- data/lib/generators/rspec/scaffold/templates/new_spec.rb +2 -2
- data/lib/generators/rspec/scaffold/templates/routing_spec.rb +7 -7
- data/lib/generators/rspec/scaffold/templates/show_spec.rb +2 -2
- data/lib/rspec/rails.rb +0 -5
- data/lib/rspec/rails/adapters.rb +5 -12
- data/lib/rspec/rails/example.rb +55 -24
- data/lib/rspec/rails/example/controller_example_group.rb +7 -31
- data/lib/rspec/rails/example/view_example_group.rb +0 -3
- data/lib/rspec/rails/matchers.rb +1 -2
- data/lib/rspec/rails/matchers/be_a_new.rb +1 -1
- data/lib/rspec/rails/matchers/be_new_record.rb +1 -1
- data/lib/rspec/rails/matchers/be_valid.rb +1 -1
- data/lib/rspec/rails/matchers/have_rendered.rb +1 -1
- data/lib/rspec/rails/matchers/redirect_to.rb +1 -1
- data/lib/rspec/rails/matchers/relation_match_array.rb +1 -1
- data/lib/rspec/rails/matchers/routing_matchers.rb +6 -10
- data/lib/rspec/rails/mocks.rb +5 -41
- data/lib/rspec/rails/tasks/rspec.rake +5 -12
- data/lib/rspec/rails/vendor/capybara.rb +4 -35
- data/lib/rspec/rails/version.rb +1 -1
- data/spec/generators/rspec/controller/controller_generator_spec.rb +97 -0
- data/spec/generators/rspec/helper/helper_generator_spec.rb +30 -0
- data/spec/generators/rspec/install/install_generator_spec.rb +30 -0
- data/spec/generators/rspec/integration/integration_generator_spec.rb +44 -0
- data/spec/generators/rspec/mailer/mailer_generator_spec.rb +48 -0
- data/spec/generators/rspec/model/model_generator_spec.rb +52 -0
- data/spec/generators/rspec/observer/observer_generator_spec.rb +21 -0
- data/spec/generators/rspec/scaffold/scaffold_generator_spec.rb +138 -0
- data/spec/generators/rspec/view/view_generator_spec.rb +41 -0
- data/spec/rspec/rails/assertion_adapter_spec.rb +28 -0
- data/spec/rspec/rails/assertion_delegator_spec.rb +43 -0
- data/spec/rspec/rails/configuration_spec.rb +26 -0
- data/spec/rspec/rails/deprecations_spec.rb +18 -0
- data/spec/rspec/rails/example/controller_example_group_spec.rb +100 -0
- data/spec/rspec/rails/example/feature_example_group_spec.rb +56 -0
- data/spec/rspec/rails/example/helper_example_group_spec.rb +66 -0
- data/spec/rspec/rails/example/mailer_example_group_spec.rb +21 -0
- data/spec/rspec/rails/example/model_example_group_spec.rb +15 -0
- data/spec/rspec/rails/example/request_example_group_spec.rb +17 -0
- data/spec/rspec/rails/example/routing_example_group_spec.rb +32 -0
- data/spec/rspec/rails/example/view_example_group_spec.rb +220 -0
- data/spec/rspec/rails/extensions/active_model/errors_on_spec.rb +23 -0
- data/spec/rspec/rails/extensions/active_record/base_spec.rb +42 -0
- data/spec/rspec/rails/fixture_support_spec.rb +17 -0
- data/spec/rspec/rails/matchers/be_a_new_spec.rb +142 -0
- data/spec/rspec/rails/matchers/be_new_record_spec.rb +33 -0
- data/spec/rspec/rails/matchers/be_routable_spec.rb +41 -0
- data/spec/rspec/rails/matchers/be_valid_spec.rb +44 -0
- data/spec/rspec/rails/matchers/has_spec.rb +29 -0
- data/spec/rspec/rails/matchers/have_rendered_spec.rb +93 -0
- data/spec/rspec/rails/matchers/redirect_to_spec.rb +80 -0
- data/spec/rspec/rails/matchers/relation_match_array_spec.rb +31 -0
- data/spec/rspec/rails/matchers/route_to_spec.rb +151 -0
- data/spec/rspec/rails/minitest_lifecycle_adapter_spec.rb +22 -0
- data/spec/rspec/rails/mocks/mock_model_spec.rb +378 -0
- data/spec/rspec/rails/mocks/stub_model_spec.rb +154 -0
- data/spec/rspec/rails/setup_and_teardown_adapter_spec.rb +32 -0
- data/spec/rspec/rails/view_rendering_spec.rb +111 -0
- data/spec/spec_helper.rb +35 -0
- data/spec/support/ar_classes.rb +42 -0
- data/spec/support/helpers.rb +20 -0
- data/spec/support/matchers.rb +9 -0
- data/spec/support/null_object.rb +6 -0
- metadata +229 -42
- metadata.gz.sig +0 -0
- data/lib/autotest/rails_rspec2.rb +0 -91
- data/lib/rspec/rails/infer_type_configuration.rb +0 -26
- data/lib/rspec/rails/matchers/have_extension.rb +0 -36
- data/lib/rspec/rails/module_inclusion.rb +0 -19
| @@ -2,6 +2,7 @@ | |
| 2 2 | 
             
            ENV["RAILS_ENV"] ||= 'test'
         | 
| 3 3 | 
             
            require File.expand_path("../../config/environment", __FILE__)
         | 
| 4 4 | 
             
            require 'rspec/rails'
         | 
| 5 | 
            +
            require 'rspec/autorun'
         | 
| 5 6 |  | 
| 6 7 | 
             
            # Requires supporting ruby files with custom matchers and macros, etc, in
         | 
| 7 8 | 
             
            # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
         | 
| @@ -12,12 +13,7 @@ require 'rspec/rails' | |
| 12 13 | 
             
            # option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
         | 
| 13 14 | 
             
            Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
         | 
| 14 15 |  | 
| 15 | 
            -
            <% if ::Rails::VERSION::STRING >= '4 | 
| 16 | 
            -
            # Checks for pending migrations before tests are run.
         | 
| 17 | 
            -
            # If you are not using ActiveRecord, you can remove this line.
         | 
| 18 | 
            -
            ActiveRecord::Migration.maintain_test_schema!
         | 
| 19 | 
            -
             | 
| 20 | 
            -
            <% elsif ::Rails::VERSION::STRING >= '4' -%>
         | 
| 16 | 
            +
            <% if ::Rails::VERSION::STRING >= '4' -%>
         | 
| 21 17 | 
             
            # Checks for pending migrations before tests are run.
         | 
| 22 18 | 
             
            # If you are not using ActiveRecord, you can remove this line.
         | 
| 23 19 | 
             
            ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
         | 
| @@ -50,19 +46,4 @@ RSpec.configure do |config| | |
| 50 46 | 
             
              # the seed, which is printed after each run.
         | 
| 51 47 | 
             
              #     --seed 1234
         | 
| 52 48 | 
             
              config.order = "random"
         | 
| 53 | 
            -
             | 
| 54 | 
            -
              # RSpec Rails can automatically mix in different behaviours to your tests
         | 
| 55 | 
            -
              # based on their file location, for example enabling you to call `get` and
         | 
| 56 | 
            -
              # `post` in specs under `spec/controllers`.
         | 
| 57 | 
            -
              #
         | 
| 58 | 
            -
              # You can disable this behaviour by removing the line below, and instead
         | 
| 59 | 
            -
              # explictly tag your specs with their type, e.g.:
         | 
| 60 | 
            -
              #
         | 
| 61 | 
            -
              #     describe UsersController, :type => :controller do
         | 
| 62 | 
            -
              #       # ...
         | 
| 63 | 
            -
              #     end
         | 
| 64 | 
            -
              #
         | 
| 65 | 
            -
              # The different available types are documented in the features, such as in
         | 
| 66 | 
            -
              # https://relishapp.com/rspec/rspec-rails/v/3-0/docs
         | 
| 67 | 
            -
              config.infer_spec_type_from_file_location!
         | 
| 68 49 | 
             
            end
         | 
| @@ -10,16 +10,15 @@ module Rspec | |
| 10 10 | 
             
                  def generate_request_spec
         | 
| 11 11 | 
             
                    return unless options[:request_specs]
         | 
| 12 12 |  | 
| 13 | 
            -
                    RSpec.deprecate("the --webrat-matchers option", :replacement => nil) if options[:webrat_matchers]
         | 
| 14 | 
            -
                    RSpec.deprecate("the --webrat option", :replacement => nil) if options[:webrat]
         | 
| 15 | 
            -
             | 
| 16 13 | 
             
                    template 'request_spec.rb',
         | 
| 17 14 | 
             
                             File.join('spec/requests', class_path, "#{table_name}_spec.rb")
         | 
| 18 15 | 
             
                  end
         | 
| 19 16 |  | 
| 20 17 | 
             
                protected
         | 
| 21 18 |  | 
| 19 | 
            +
                  # @deprecated Use `--webrat` instead.
         | 
| 22 20 | 
             
                  def webrat?
         | 
| 21 | 
            +
                    RSpec.deprecate("the --webrat-matchers option", :replacement => "--webrat") if options[:webrat_matchers]
         | 
| 23 22 | 
             
                    options[:webrat] || options[:webrat_matchers]
         | 
| 24 23 | 
             
                  end
         | 
| 25 24 |  | 
| @@ -9,7 +9,7 @@ describe "<%= class_name.pluralize %>" do | |
| 9 9 | 
             
                  # Run the generator again with the --webrat flag if you want to use webrat methods/matchers
         | 
| 10 10 | 
             
                  get <%= index_helper %>_path
         | 
| 11 11 | 
             
            <% end -%>
         | 
| 12 | 
            -
                  response.status. | 
| 12 | 
            +
                  expect(response.status).to be(200)
         | 
| 13 13 | 
             
                end
         | 
| 14 14 | 
             
              end
         | 
| 15 15 | 
             
            end
         | 
| @@ -7,13 +7,13 @@ describe <%= class_name %> do | |
| 7 7 | 
             
                let(:mail) { <%= class_name %>.<%= action %> }
         | 
| 8 8 |  | 
| 9 9 | 
             
                it "renders the headers" do
         | 
| 10 | 
            -
                  mail.subject. | 
| 11 | 
            -
                  mail.to. | 
| 12 | 
            -
                  mail.from. | 
| 10 | 
            +
                  expect(mail.subject).to eq(<%= action.to_s.humanize.inspect %>)
         | 
| 11 | 
            +
                  expect(mail.to).to eq(["to@example.org"])
         | 
| 12 | 
            +
                  expect(mail.from).to eq(["from@example.com"])
         | 
| 13 13 | 
             
                end
         | 
| 14 14 |  | 
| 15 15 | 
             
                it "renders the body" do
         | 
| 16 | 
            -
                  mail.body.encoded. | 
| 16 | 
            +
                  expect(mail.body.encoded).to match("Hi")
         | 
| 17 17 | 
             
                end
         | 
| 18 18 | 
             
              end
         | 
| 19 19 |  | 
| @@ -22,9 +22,6 @@ module Rspec | |
| 22 22 | 
             
                  def generate_controller_spec
         | 
| 23 23 | 
             
                    return unless options[:controller_specs]
         | 
| 24 24 |  | 
| 25 | 
            -
                    RSpec.deprecate("the --webrat-matchers option", :replacement => nil) if options[:webrat_matchers]
         | 
| 26 | 
            -
                    RSpec.deprecate("the --webrat option", :replacement => nil) if options[:webrat]
         | 
| 27 | 
            -
             | 
| 28 25 | 
             
                    template 'controller_spec.rb',
         | 
| 29 26 | 
             
                             File.join('spec/controllers', controller_class_path, "#{controller_file_name}_controller_spec.rb")
         | 
| 30 27 | 
             
                  end
         | 
| @@ -49,7 +46,9 @@ module Rspec | |
| 49 46 |  | 
| 50 47 | 
             
                  protected
         | 
| 51 48 |  | 
| 49 | 
            +
                    # @deprecated Use `--webrat` instead.
         | 
| 52 50 | 
             
                    def webrat?
         | 
| 51 | 
            +
                      RSpec.deprecate("--webrat-matchers", :replacement => "--webrat") if options[:webrat_matchers]
         | 
| 53 52 | 
             
                      options[:webrat] || options[:webrat_matchers]
         | 
| 54 53 | 
             
                    end
         | 
| 55 54 |  | 
| @@ -36,7 +36,7 @@ describe <%= controller_class_name %>Controller do | |
| 36 36 | 
             
                it "assigns all <%= table_name.pluralize %> as @<%= table_name.pluralize %>" do
         | 
| 37 37 | 
             
                  <%= file_name %> = <%= class_name %>.create! valid_attributes
         | 
| 38 38 | 
             
                  get :index, {}, valid_session
         | 
| 39 | 
            -
                  assigns(:<%= table_name %>). | 
| 39 | 
            +
                  expect(assigns(:<%= table_name %>)).to eq([<%= file_name %>])
         | 
| 40 40 | 
             
                end
         | 
| 41 41 | 
             
              end
         | 
| 42 42 |  | 
| @@ -45,14 +45,14 @@ describe <%= controller_class_name %>Controller do | |
| 45 45 | 
             
                it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do
         | 
| 46 46 | 
             
                  <%= file_name %> = <%= class_name %>.create! valid_attributes
         | 
| 47 47 | 
             
                  get :show, {:id => <%= file_name %>.to_param}, valid_session
         | 
| 48 | 
            -
                  assigns(:<%= ns_file_name %>). | 
| 48 | 
            +
                  expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
         | 
| 49 49 | 
             
                end
         | 
| 50 50 | 
             
              end
         | 
| 51 51 |  | 
| 52 52 | 
             
              describe "GET new" do
         | 
| 53 53 | 
             
                it "assigns a new <%= ns_file_name %> as @<%= ns_file_name %>" do
         | 
| 54 54 | 
             
                  get :new, {}, valid_session
         | 
| 55 | 
            -
                  assigns(:<%= ns_file_name %>). | 
| 55 | 
            +
                  expect(assigns(:<%= ns_file_name %>)).to be_a_new(<%= class_name %>)
         | 
| 56 56 | 
             
                end
         | 
| 57 57 | 
             
              end
         | 
| 58 58 |  | 
| @@ -60,7 +60,7 @@ describe <%= controller_class_name %>Controller do | |
| 60 60 | 
             
                it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do
         | 
| 61 61 | 
             
                  <%= file_name %> = <%= class_name %>.create! valid_attributes
         | 
| 62 62 | 
             
                  get :edit, {:id => <%= file_name %>.to_param}, valid_session
         | 
| 63 | 
            -
                  assigns(:<%= ns_file_name %>). | 
| 63 | 
            +
                  expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
         | 
| 64 64 | 
             
                end
         | 
| 65 65 | 
             
              end
         | 
| 66 66 |  | 
| @@ -74,13 +74,13 @@ describe <%= controller_class_name %>Controller do | |
| 74 74 |  | 
| 75 75 | 
             
                  it "assigns a newly created <%= ns_file_name %> as @<%= ns_file_name %>" do
         | 
| 76 76 | 
             
                    post :create, {:<%= ns_file_name %> => valid_attributes}, valid_session
         | 
| 77 | 
            -
                    assigns(:<%= ns_file_name %>). | 
| 78 | 
            -
                    assigns(:<%= ns_file_name %>). | 
| 77 | 
            +
                    expect(assigns(:<%= ns_file_name %>)).to be_a(<%= class_name %>)
         | 
| 78 | 
            +
                    expect(assigns(:<%= ns_file_name %>)).to be_persisted
         | 
| 79 79 | 
             
                  end
         | 
| 80 80 |  | 
| 81 81 | 
             
                  it "redirects to the created <%= ns_file_name %>" do
         | 
| 82 82 | 
             
                    post :create, {:<%= ns_file_name %> => valid_attributes}, valid_session
         | 
| 83 | 
            -
                    response. | 
| 83 | 
            +
                    expect(response).to redirect_to(<%= class_name %>.last)
         | 
| 84 84 | 
             
                  end
         | 
| 85 85 | 
             
                end
         | 
| 86 86 |  | 
| @@ -89,14 +89,14 @@ describe <%= controller_class_name %>Controller do | |
| 89 89 | 
             
                    # Trigger the behavior that occurs when invalid params are submitted
         | 
| 90 90 | 
             
                    <%= class_name %>.any_instance.stub(:save).and_return(false)
         | 
| 91 91 | 
             
                    post :create, {:<%= ns_file_name %> => <%= formatted_hash(example_invalid_attributes) %>}, valid_session
         | 
| 92 | 
            -
                    assigns(:<%= ns_file_name %>). | 
| 92 | 
            +
                    expect(assigns(:<%= ns_file_name %>)).to be_a_new(<%= class_name %>)
         | 
| 93 93 | 
             
                  end
         | 
| 94 94 |  | 
| 95 95 | 
             
                  it "re-renders the 'new' template" do
         | 
| 96 96 | 
             
                    # Trigger the behavior that occurs when invalid params are submitted
         | 
| 97 97 | 
             
                    <%= class_name %>.any_instance.stub(:save).and_return(false)
         | 
| 98 98 | 
             
                    post :create, {:<%= ns_file_name %> => <%= formatted_hash(example_invalid_attributes) %>}, valid_session
         | 
| 99 | 
            -
                    response. | 
| 99 | 
            +
                    expect(response).to render_template("new")
         | 
| 100 100 | 
             
                  end
         | 
| 101 101 | 
             
                end
         | 
| 102 102 | 
             
              end
         | 
| @@ -110,9 +110,9 @@ describe <%= controller_class_name %>Controller do | |
| 110 110 | 
             
                    # receives the :update_attributes message with whatever params are
         | 
| 111 111 | 
             
                    # submitted in the request.
         | 
| 112 112 | 
             
                    <%- if ::Rails::VERSION::STRING >= '4' -%>
         | 
| 113 | 
            -
                    <%= class_name  | 
| 113 | 
            +
                    expect_any_instance_of(<%= class_name %>).to receive(:update).with(<%= formatted_hash(example_params_for_update) %>)
         | 
| 114 114 | 
             
                    <%- else -%>
         | 
| 115 | 
            -
                    <%= class_name  | 
| 115 | 
            +
                    expect_any_instance_of(<%= class_name %>).to receive(:update_attributes).with(<%= formatted_hash(example_params_for_update) %>)
         | 
| 116 116 | 
             
                    <%- end -%>
         | 
| 117 117 | 
             
                    put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => <%= formatted_hash(example_params_for_update) %>}, valid_session
         | 
| 118 118 | 
             
                  end
         | 
| @@ -120,13 +120,13 @@ describe <%= controller_class_name %>Controller do | |
| 120 120 | 
             
                  it "assigns the requested <%= ns_file_name %> as @<%= ns_file_name %>" do
         | 
| 121 121 | 
             
                    <%= file_name %> = <%= class_name %>.create! valid_attributes
         | 
| 122 122 | 
             
                    put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => valid_attributes}, valid_session
         | 
| 123 | 
            -
                    assigns(:<%= ns_file_name %>). | 
| 123 | 
            +
                    expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
         | 
| 124 124 | 
             
                  end
         | 
| 125 125 |  | 
| 126 126 | 
             
                  it "redirects to the <%= ns_file_name %>" do
         | 
| 127 127 | 
             
                    <%= file_name %> = <%= class_name %>.create! valid_attributes
         | 
| 128 128 | 
             
                    put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => valid_attributes}, valid_session
         | 
| 129 | 
            -
                    response. | 
| 129 | 
            +
                    expect(response).to redirect_to(<%= file_name %>)
         | 
| 130 130 | 
             
                  end
         | 
| 131 131 | 
             
                end
         | 
| 132 132 |  | 
| @@ -136,7 +136,7 @@ describe <%= controller_class_name %>Controller do | |
| 136 136 | 
             
                    # Trigger the behavior that occurs when invalid params are submitted
         | 
| 137 137 | 
             
                    <%= class_name %>.any_instance.stub(:save).and_return(false)
         | 
| 138 138 | 
             
                    put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => <%= formatted_hash(example_invalid_attributes) %>}, valid_session
         | 
| 139 | 
            -
                    assigns(:<%= ns_file_name %>). | 
| 139 | 
            +
                    expect(assigns(:<%= ns_file_name %>)).to eq(<%= file_name %>)
         | 
| 140 140 | 
             
                  end
         | 
| 141 141 |  | 
| 142 142 | 
             
                  it "re-renders the 'edit' template" do
         | 
| @@ -144,7 +144,7 @@ describe <%= controller_class_name %>Controller do | |
| 144 144 | 
             
                    # Trigger the behavior that occurs when invalid params are submitted
         | 
| 145 145 | 
             
                    <%= class_name %>.any_instance.stub(:save).and_return(false)
         | 
| 146 146 | 
             
                    put :update, {:id => <%= file_name %>.to_param, :<%= ns_file_name %> => <%= formatted_hash(example_invalid_attributes) %>}, valid_session
         | 
| 147 | 
            -
                    response. | 
| 147 | 
            +
                    expect(response).to render_template("edit")
         | 
| 148 148 | 
             
                  end
         | 
| 149 149 | 
             
                end
         | 
| 150 150 | 
             
              end
         | 
| @@ -160,7 +160,7 @@ describe <%= controller_class_name %>Controller do | |
| 160 160 | 
             
                it "redirects to the <%= table_name %> list" do
         | 
| 161 161 | 
             
                  <%= file_name %> = <%= class_name %>.create! valid_attributes
         | 
| 162 162 | 
             
                  delete :destroy, {:id => <%= file_name %>.to_param}, valid_session
         | 
| 163 | 
            -
                  response. | 
| 163 | 
            +
                  expect(response).to redirect_to(<%= index_helper %>_url)
         | 
| 164 164 | 
             
                end
         | 
| 165 165 | 
             
              end
         | 
| 166 166 |  | 
| @@ -14,9 +14,9 @@ describe "<%= ns_table_name %>/edit" do | |
| 14 14 | 
             
                render
         | 
| 15 15 |  | 
| 16 16 | 
             
            <% if webrat? -%>
         | 
| 17 | 
            -
                rendered. | 
| 17 | 
            +
                expect(rendered).to have_selector("form", :action => <%= ns_file_name %>_path(@<%= ns_file_name %>), :method => "post") do |form|
         | 
| 18 18 | 
             
            <% for attribute in output_attributes -%>
         | 
| 19 | 
            -
                  form. | 
| 19 | 
            +
                  expect(form).to have_selector("<%= attribute.input_type -%>#<%= ns_file_name %>_<%= attribute.name %>", :name => "<%= ns_file_name %>[<%= attribute.name %>]")
         | 
| 20 20 | 
             
            <% end -%>
         | 
| 21 21 | 
             
                end
         | 
| 22 22 | 
             
            <% else -%>
         | 
| @@ -23,7 +23,7 @@ describe "<%= ns_table_name %>/index" do | |
| 23 23 | 
             
            <% end -%>
         | 
| 24 24 | 
             
            <% for attribute in output_attributes -%>
         | 
| 25 25 | 
             
            <% if webrat? -%>
         | 
| 26 | 
            -
                rendered. | 
| 26 | 
            +
                expect(rendered).to have_selector("tr>td", :content => <%= value_for(attribute) %>.to_s, :count => 2)
         | 
| 27 27 | 
             
            <% else -%>
         | 
| 28 28 | 
             
                assert_select "tr>td", :text => <%= value_for(attribute) %>.to_s, :count => 2
         | 
| 29 29 | 
             
            <% end -%>
         | 
| @@ -13,9 +13,9 @@ describe "<%= ns_table_name %>/new" do | |
| 13 13 | 
             
                render
         | 
| 14 14 |  | 
| 15 15 | 
             
            <% if webrat? -%>
         | 
| 16 | 
            -
                rendered. | 
| 16 | 
            +
                expect(rendered).to have_selector("form", :action => <%= table_name %>_path, :method => "post") do |form|
         | 
| 17 17 | 
             
            <% for attribute in output_attributes -%>
         | 
| 18 | 
            -
                  form. | 
| 18 | 
            +
                  expect(form).to have_selector("<%= attribute.input_type -%>#<%= ns_file_name %>_<%= attribute.name %>", :name => "<%= ns_file_name %>[<%= attribute.name %>]")
         | 
| 19 19 | 
             
            <% end -%>
         | 
| 20 20 | 
             
                end
         | 
| 21 21 | 
             
            <% else -%>
         | 
| @@ -6,32 +6,32 @@ describe <%= controller_class_name %>Controller do | |
| 6 6 |  | 
| 7 7 | 
             
            <% unless options[:singleton] -%>
         | 
| 8 8 | 
             
                it "routes to #index" do
         | 
| 9 | 
            -
                  get | 
| 9 | 
            +
                  expect(:get => "/<%= ns_table_name %>").to route_to("<%= ns_table_name %>#index")
         | 
| 10 10 | 
             
                end
         | 
| 11 11 |  | 
| 12 12 | 
             
            <% end -%>
         | 
| 13 13 | 
             
                it "routes to #new" do
         | 
| 14 | 
            -
                  get | 
| 14 | 
            +
                  expect(:get => "/<%= ns_table_name %>/new").to route_to("<%= ns_table_name %>#new")
         | 
| 15 15 | 
             
                end
         | 
| 16 16 |  | 
| 17 17 | 
             
                it "routes to #show" do
         | 
| 18 | 
            -
                  get | 
| 18 | 
            +
                  expect(:get => "/<%= ns_table_name %>/1").to route_to("<%= ns_table_name %>#show", :id => "1")
         | 
| 19 19 | 
             
                end
         | 
| 20 20 |  | 
| 21 21 | 
             
                it "routes to #edit" do
         | 
| 22 | 
            -
                  get | 
| 22 | 
            +
                  expect(:get => "/<%= ns_table_name %>/1/edit").to route_to("<%= ns_table_name %>#edit", :id => "1")
         | 
| 23 23 | 
             
                end
         | 
| 24 24 |  | 
| 25 25 | 
             
                it "routes to #create" do
         | 
| 26 | 
            -
                  post | 
| 26 | 
            +
                  expect(:post => "/<%= ns_table_name %>").to route_to("<%= ns_table_name %>#create")
         | 
| 27 27 | 
             
                end
         | 
| 28 28 |  | 
| 29 29 | 
             
                it "routes to #update" do
         | 
| 30 | 
            -
                  put | 
| 30 | 
            +
                  expect(:put => "/<%= ns_table_name %>/1").to route_to("<%= ns_table_name %>#update", :id => "1")
         | 
| 31 31 | 
             
                end
         | 
| 32 32 |  | 
| 33 33 | 
             
                it "routes to #destroy" do
         | 
| 34 | 
            -
                  delete | 
| 34 | 
            +
                  expect(:delete => "/<%= ns_table_name %>/1").to route_to("<%= ns_table_name %>#destroy", :id => "1")
         | 
| 35 35 | 
             
                end
         | 
| 36 36 |  | 
| 37 37 | 
             
              end
         | 
| @@ -19,9 +19,9 @@ describe "<%= ns_table_name %>/show" do | |
| 19 19 | 
             
            <% end -%>
         | 
| 20 20 | 
             
            <% for attribute in output_attributes -%>
         | 
| 21 21 | 
             
            <% if webrat? -%>
         | 
| 22 | 
            -
                rendered. | 
| 22 | 
            +
                expect(rendered).to contain(<%= value_for(attribute) %>.to_s)
         | 
| 23 23 | 
             
            <% else -%>
         | 
| 24 | 
            -
                rendered. | 
| 24 | 
            +
                expect(rendered).to match(/<%= eval(value_for(attribute)) %>/)
         | 
| 25 25 | 
             
            <% end -%>
         | 
| 26 26 | 
             
            <% end -%>
         | 
| 27 27 | 
             
              end
         | 
    
        data/lib/rspec/rails.rb
    CHANGED
    
    | @@ -11,12 +11,7 @@ require 'rspec/rails/view_rendering' | |
| 11 11 | 
             
            require 'rspec/rails/adapters'
         | 
| 12 12 | 
             
            require 'rspec/rails/matchers'
         | 
| 13 13 | 
             
            require 'rspec/rails/fixture_support'
         | 
| 14 | 
            -
             | 
| 15 | 
            -
            # Load rspec-activemodel-mocks if available; otherwise fall back
         | 
| 16 | 
            -
            # to the deprecated mock methods
         | 
| 17 14 | 
             
            require 'rspec/rails/mocks'
         | 
| 18 | 
            -
            require 'rspec/rails/module_inclusion'
         | 
| 19 15 | 
             
            require 'rspec/rails/example'
         | 
| 20 | 
            -
            require 'rspec/rails/infer_type_configuration'
         | 
| 21 16 | 
             
            require 'rspec/rails/vendor/capybara'
         | 
| 22 17 | 
             
            require 'rspec/rails/vendor/webrat'
         | 
    
        data/lib/rspec/rails/adapters.rb
    CHANGED
    
    | @@ -1,5 +1,4 @@ | |
| 1 1 | 
             
            require 'delegate'
         | 
| 2 | 
            -
            require 'active_support'
         | 
| 3 2 | 
             
            require 'active_support/concern'
         | 
| 4 3 |  | 
| 5 4 | 
             
            module RSpec
         | 
| @@ -9,13 +8,7 @@ module RSpec | |
| 9 8 | 
             
                  require 'minitest/assertions'
         | 
| 10 9 | 
             
                  Assertions = Minitest::Assertions
         | 
| 11 10 | 
             
                else
         | 
| 12 | 
            -
                   | 
| 13 | 
            -
                    require 'test/unit/assertions'
         | 
| 14 | 
            -
                  rescue LoadError
         | 
| 15 | 
            -
                    # work around for Rubinius not having a std std-lib
         | 
| 16 | 
            -
                    require 'rubysl-test-unit' if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
         | 
| 17 | 
            -
                    require 'test/unit/assertions'
         | 
| 18 | 
            -
                  end
         | 
| 11 | 
            +
                  require 'test/unit/assertions'
         | 
| 19 12 | 
             
                  Assertions = Test::Unit::Assertions
         | 
| 20 13 | 
             
                end
         | 
| 21 14 |  | 
| @@ -108,10 +101,10 @@ module RSpec | |
| 108 101 | 
             
                    # hooks.
         | 
| 109 102 | 
             
                    def setup(*methods)
         | 
| 110 103 | 
             
                      methods.each do |method|
         | 
| 111 | 
            -
                        if method.to_s =~ /^setup_( | 
| 112 | 
            -
                          prepend_before {  | 
| 104 | 
            +
                        if method.to_s =~ /^setup_(fixtures|controller_request_and_response)$/
         | 
| 105 | 
            +
                          prepend_before { send method }
         | 
| 113 106 | 
             
                        else
         | 
| 114 | 
            -
                          before         {  | 
| 107 | 
            +
                          before         { send method }
         | 
| 115 108 | 
             
                        end
         | 
| 116 109 | 
             
                      end
         | 
| 117 110 | 
             
                    end
         | 
| @@ -121,7 +114,7 @@ module RSpec | |
| 121 114 | 
             
                    # Wraps `teardown` calls from within Rails' testing framework in
         | 
| 122 115 | 
             
                    # `after` hooks.
         | 
| 123 116 | 
             
                    def teardown(*methods)
         | 
| 124 | 
            -
                      methods.each { |method| after {  | 
| 117 | 
            +
                      methods.each { |method| after { send method } }
         | 
| 125 118 | 
             
                    end
         | 
| 126 119 | 
             
                  end
         | 
| 127 120 |  | 
    
        data/lib/rspec/rails/example.rb
    CHANGED
    
    | @@ -13,30 +13,61 @@ RSpec::configure do |c| | |
| 13 13 | 
             
                Regexp.compile(parts.join('[\\\/]') + '[\\\/]')
         | 
| 14 14 | 
             
              end
         | 
| 15 15 |  | 
| 16 | 
            -
              c. | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 16 | 
            +
              controller_path_regex = c.escaped_path(%w[spec controllers])
         | 
| 17 | 
            +
              c.include RSpec::Rails::ControllerExampleGroup,
         | 
| 18 | 
            +
                :type          => :controller,
         | 
| 19 | 
            +
                :example_group => lambda { |example_group, metadata|
         | 
| 20 | 
            +
                  metadata[:type].nil? && controller_path_regex =~ example_group[:file_path]
         | 
| 21 | 
            +
                }
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              helper_path_regex = c.escaped_path(%w[spec helpers])
         | 
| 24 | 
            +
              c.include RSpec::Rails::HelperExampleGroup,
         | 
| 25 | 
            +
                :type          => :helper,
         | 
| 26 | 
            +
                :example_group => lambda { |example_group, metadata|
         | 
| 27 | 
            +
                  metadata[:type].nil? && helper_path_regex =~ example_group[:file_path]
         | 
| 25 28 | 
             
                }
         | 
| 29 | 
            +
             | 
| 30 | 
            +
              mailer_path_regex = c.escaped_path(%w[spec mailers])
         | 
| 31 | 
            +
              if defined?(RSpec::Rails::MailerExampleGroup)
         | 
| 32 | 
            +
                c.include RSpec::Rails::MailerExampleGroup,
         | 
| 33 | 
            +
                  :type          => :mailer,
         | 
| 34 | 
            +
                  :example_group => lambda { |example_group, metadata|
         | 
| 35 | 
            +
                    metadata[:type].nil? && mailer_path_regex =~ example_group[:file_path]
         | 
| 36 | 
            +
                  }
         | 
| 26 37 | 
             
              end
         | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
               | 
| 30 | 
            -
             | 
| 31 | 
            -
                : | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
               | 
| 36 | 
            -
              c.include RSpec::Rails:: | 
| 37 | 
            -
                : | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
                 | 
| 41 | 
            -
             | 
| 38 | 
            +
             | 
| 39 | 
            +
              model_path_regex = c.escaped_path(%w[spec models])
         | 
| 40 | 
            +
              c.include RSpec::Rails::ModelExampleGroup,
         | 
| 41 | 
            +
                :type          => :model,
         | 
| 42 | 
            +
                :example_group => lambda { |example_group, metadata|
         | 
| 43 | 
            +
                  metadata[:type].nil? && model_path_regex =~ example_group[:file_path]
         | 
| 44 | 
            +
                }
         | 
| 45 | 
            +
             | 
| 46 | 
            +
              request_path_regex = c.escaped_path(%w[spec (requests|integration|api)])
         | 
| 47 | 
            +
              c.include RSpec::Rails::RequestExampleGroup,
         | 
| 48 | 
            +
                :type          => :request,
         | 
| 49 | 
            +
                :example_group => lambda { |example_group, metadata|
         | 
| 50 | 
            +
                  metadata[:type].nil? && request_path_regex =~ example_group[:file_path]
         | 
| 51 | 
            +
                }
         | 
| 52 | 
            +
             | 
| 53 | 
            +
              routing_path_regex = c.escaped_path(%w[spec routing])
         | 
| 54 | 
            +
              c.include RSpec::Rails::RoutingExampleGroup,
         | 
| 55 | 
            +
                :type          => :routing,
         | 
| 56 | 
            +
                :example_group => lambda { |example_group, metadata|
         | 
| 57 | 
            +
                  metadata[:type].nil? && routing_path_regex =~ example_group[:file_path]
         | 
| 58 | 
            +
                }
         | 
| 59 | 
            +
             | 
| 60 | 
            +
              view_path_regex = c.escaped_path(%w[spec views])
         | 
| 61 | 
            +
              c.include RSpec::Rails::ViewExampleGroup,
         | 
| 62 | 
            +
                :type          => :view,
         | 
| 63 | 
            +
                :example_group => lambda { |example_group, metadata|
         | 
| 64 | 
            +
                  metadata[:type].nil? && view_path_regex =~ example_group[:file_path]
         | 
| 65 | 
            +
                }
         | 
| 66 | 
            +
             | 
| 67 | 
            +
              feature_example_regex = c.escaped_path(%w[spec features])
         | 
| 68 | 
            +
              c.include RSpec::Rails::FeatureExampleGroup,
         | 
| 69 | 
            +
                :type          => :feature,
         | 
| 70 | 
            +
                :example_group => lambda { |example_group, metadata|
         | 
| 71 | 
            +
                  metadata[:type].nil? && feature_example_regex =~ example_group[:file_path]
         | 
| 72 | 
            +
                }
         | 
| 42 73 | 
             
            end
         |