Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
Commits on May 05, 2012
@dchelimsky dchelimsky Only prepend_before the Rails setup methods
- Fixes #534
- Unfortunately depends on names of methods that are internal to Rails
  and subject to change. Fingers crossed.
@dchelimsky dchelimsky ci: add active_record_deprecated_finders to Gemfile so we can run aga…
…inst Rails' master
@dchelimsky dchelimsky dev: bump ammeter to 0.2.5 b6e3ae3
@dchelimsky dchelimsky bump to 2.10.1 63a9efd
Commits on May 09, 2012
@dchelimsky dchelimsky dev: refactor a spec 0677052
Commits on May 10, 2012
@danrasband danrasband Added configuration to allow for custom application engine. 83e24bc
Commits on May 16, 2012
@danrasband danrasband Make code version specific for rails 3.1 and up
This commit adds Rails version checking to the RSpec application
configuration to handle Rails 3.0.x. The Rails::Engine class, while
available in Rails 3.0, does not have the capability to draw routes as
it does in 3.1 and above.
Commits on May 22, 2012
@dchelimsky dchelimsky refactor matchers to conform to internal changes in rspec-expectations 1cd9a3c
@pixeltrix pixeltrix Update obsolete link to fixture documentation 6781841
@dchelimsky dchelimsky Merge pull request #547 from pixeltrix/patch-1
Update obsolete link to fixture documentation [ci skip]
Commits on May 25, 2012
@brynary brynary Add Code Climate badge e458003
@dchelimsky dchelimsky Merge pull request #548 from brynary/codeclimate-badge
Add Code Climate badge
David Chelimsky gotta change the cukes too!
- Fixes build broken by #547
Commits on May 31, 2012
@jackdempsey jackdempsey built-in scaffold generator already runs the hook for helper fd965a2
Commits on Jun 01, 2012
@dchelimsky dchelimsky Merge pull request #551 from jackdempsey/remove_hook_for_helper
built-in scaffold generator already runs the hook for helper
@dchelimsky dchelimsky Changlog for #551 [ci skip] cfca79e
@dchelimsky dchelimsky add travis banner to README [ci skip] ec87acc
@dchelimsky dchelimsky Take two on the travis banner (grabbed the wrong one the first time)
[ci skip]
@bricker bricker Update Factory Girl examples to replace deprecated syntax 13bf2a4
@justinko justinko Merge pull request #552 from bricker88/patch-1
Update Factory Girl examples to replace deprecated syntax
Commits on Jun 02, 2012
@justinko justinko Update doc for stub_model 68787f7
@justinko justinko Use one-liner for configuration. e09f6e5
@justinko justinko Dev: Fix helper_spec.feature from failing after the first run
Because we manually include `ApplicationHelper` into the `_view`
object, we can't have conflicting method names between the helpers.

This is not really something to worry about with user projects: I
believe most projects use `helper :all` and/or do not utilize
inheritance (include helper in a helper, with conflicting names in

Fixes #554
@justinko justinko Dev: Forgot to "revert" including ApplicationHelper into the singleto…
…n class - `extend` is just fine.
@sferik sferik Use American-English spelling of color as default
This brings the generated `.rspec` file in line with the version used
in the project:
@sferik sferik Default to run specs in random order to catch order dependencies
* Some features still need to run in default order
@alindeman alindeman Merge branch 'sferik-update_template' 12fd9da
@alindeman alindeman Changelog for #501
* Closes #501
@dchelimsky dchelimsky renames `render_template` to `have_rendered`.
Also aliases to `render_template` for backward compatibility
Commits on Jun 03, 2012
@alindeman alindeman Explicitly specify the scope of Rails
* If another gem defines `Rspec::Rails` before us, `Rails` might qualify
  to `Rspec::Rails` (at least in 1.9)
* Fixes #555
Commits on Jun 04, 2012
@danrasband danrasband Tweak alternate app integration
This commit removes most if-statements from the example groups,
consolidating to a global method called `at_least_rails_3_1`. It
also adds filters to the rspec tests and changes engine_support.rb
to application.rb.
Commits on Jun 05, 2012
@rimidl rimidl Fix typo in b86190c
@dchelimsky dchelimsky Merge pull request #558 from rimidl/master
Fix typo in
Commits on Jun 06, 2012
@dchelimsky dchelimsky changelog tweaks [ci skip] f869484
Commits on Jun 09, 2012
@jredville jredville add features to show how namespaced routes can be matched e795ec0
@justinko justinko Merge pull request #559 from jredville/master
add features to show how namespaced routes can be matched
@justinko justinko Revert change to features/routing_specs/ - the documentation…
… for #route_to is sufficient
Commits on Jun 21, 2012
@bnmrrs bnmrrs Removed the extra spaces between methods. They have been mocking me f…
…or months.
@dchelimsky dchelimsky Merge pull request #566 from bnmrrs/patch-1
OPTIMIZATIONS! Removed extra spaces between methods
Commits on Jun 22, 2012
@danrasband danrasband Raise error for Rails 3.0
Adds an override of Rails.configuration.application=(*) setter to
raise an error when Rails.configuration.application is set in Rails
3.0. Also moves at_least_rails_3_1? method to the RSpec::Rails module
as a public module method.
Commits on Jun 23, 2012
@justinko justinko Merge pull request #539 from danrasband/custom-application-configuration
Added configuration to allow for custom application engine.
@justinko justinko Move "at least rails 3.1" method to rspec/rails file. f067d8f
@justinko justinko This should be a writer method spec. 454364b
@justinko justinko Move the "drawing of the routes" for the EngineExample to engine_exam…
@justinko justinko Don't need a file for this. 1f58ed9
Commits on Jun 24, 2012
@justinko justinko Don't need this example - it spec's an accessor. b4b2608
@justinko justinko changelog 489bebc
@justinko justinko No need for explicit return statement. 2fc6473
@justinko justinko Nothing "custom" about this. 1a9d160
@justinko justinko Move the "application swapping" to an `around` filter in the spec_hel…
@justinko justinko After thinking about it, there is nothing "engine specific" about any…
… of this new code. Therefore, no need to have engine specific specs.
@justinko justinko Better changelog message. ebd891f
Commits on Jun 26, 2012
@dchelimsky dchelimsky convert matchers to subclass BaseMatcher class 91870ed
Commits on Jul 07, 2012
@dchelimsky dchelimsky revert all changes for #539
- not ready for release so backing out
- changes are stored in engine-support branch
@dchelimsky dchelimsky bump to 2.11.0 fb2f6f1
@dchelimsky dchelimsky improve automation for publishing to 3a4d16b
Commits on Jul 08, 2012
@urkle urkle add feature example of alternative usage of errors_on d798e70
Commits on Jul 21, 2012
@alindeman alindeman Merge pull request #570 from urkle/errors_on
add feature example of alternative usage of errors_on
Commits on Jul 26, 2012
@dchelimsky dchelimsky dev: fix inclusion of custom Gemfile 10de3e3
@dchelimsky dchelimsky ci: bump to latest rails versions 24b0f3c
Commits on Jul 27, 2012
@dchelimsky dchelimsky ci: update git-sourced dependencies for master and 2-3-stable 274ae67
Commits on Jul 30, 2012
Jordan Goldstein Include require 'spec_helper' in README code examples, fixes #581 72ceb3c
Commits on Aug 01, 2012
@henrik henrik Clarify when webrat/capybara autoloading applies.
Since I got it wrong: #360
@dchelimsky dchelimsky Merge pull request #585 from henrik/patch-1
Clarify when webrat/capybara autoloading applies.
Commits on Aug 03, 2012
@dchelimsky dchelimsky Add should and should_not to CollectionProxy
- Fixes #588.
- Fixes #445.
Commits on Aug 05, 2012
@dchelimsky dchelimsky dev: update dev dependencies 4187a26
@dchelimsky dchelimsky Revert "Add should and should_not to CollectionProxy"
This reverts commit abfd0fc.
Commits on Aug 06, 2012
@myronmarston myronmarston A better fix for CollectionProxy#should.
- Delay the fix so that users can configure a different expectation framework.
- Handle the right class for rails 3.0 (AssociationProxy) and 3.1+ (CollectionProxy).

- Fixes #588.
- Fixes #445.
@myronmarston myronmarston A couple fixes from @dchelimsky's comments. 48a0d0c
@banyan banyan Accept namespace with double-colon 909af09
Commits on Aug 07, 2012
@alindeman alindeman Merge pull request #591 from banyan/namespace-with-double-colon
Accept namespace with double-colon
@alindeman alindeman Changelog for #591
[ci skip]
@alindeman alindeman README uses expect() syntax 9324260
@alindeman alindeman Merge pull request #582 from mrjordangoldstein/master
Include require 'spec_helper' in README code examples, fixes #581
@alindeman alindeman Features use new expect() syntax a65ff6e
@alindeman alindeman Merge pull request #593 from rspec/features_use_expect_syntax
Features use new expect() syntax
@dchelimsky dchelimsky ci: run against rails-3.2.8.rc2 8d3ab42
@alindeman alindeman Merge pull request #592 from rspec/readme_uses_expect_syntax
README uses expect() syntax
Commits on Aug 18, 2012
@jonhyman jonhyman Checking for existence of ActiveRecord in proxy.rb before getting con…
…stants from it.
@dchelimsky dchelimsky only add should[_not] to ActiveRecord classes if AR defined 07d6a1a
@dchelimsky dchelimsky Revert "only add should[_not] to ActiveRecord classes if AR defined"
This reverts commit 07d6a1a.
@dchelimsky dchelimsky Merge pull request #599 from jonhyman/feature/ar-check
Checking for existence of ActiveRecord in proxy.rb before getting constants from it.
Commits on Sep 08, 2012
@dchelimsky dchelimsky replace 'it "should' with 'it "does' (using should_clean gem) 69a63ce
Commits on Sep 11, 2012
@patmaddox patmaddox Update README w/ links to Factory Girl & Capybara 63d9abc
Commits on Sep 12, 2012
David Chelimsky Gemfile-custom updates 8c93c27
@woahdae woahdae Support validation contexts when using #errors_on
Previously, Model#errors_on calls Model#valid?, which will both clear
the errors hash and run validations in the default context. This adds an
:context option to #errors_on that gets passed to #valid?, allowing using
errors_on with validation contexts.

Exmaple usage:

    class Foo
      validates :name, length: {minimum: 20}, on: :publication

    describe Foo
      it 'should have a name greater than 20 characters on publication' do = 'too short' have(1).error_on(:name, context: :publication)
@alindeman alindeman Merge branch 'errors_on_with_validation_context' a875557
@alindeman alindeman Changelog for #605
[ci skip]
@alindeman alindeman Uses latest versions of Rails for CI 7a019a6
Commits on Sep 13, 2012
@alindeman alindeman Fixes name of ActiveRecord deprecated finders gem f48946e
@alindeman alindeman Installs bundler 1.2 on Travis which is required for Rails master 410ad03
@alindeman alindeman Reduces time needed to install/compile gems on @travis-ci 171f869
Commits on Sep 15, 2012
@alindeman alindeman Simply install the latest version of bundler f9d696b
@alindeman alindeman --trace runs of tests inside the sample app (debugging travis weirdness) bc5956a
@alindeman alindeman Fixes the build on Rails master
* `self.table_name=` has been preferred for a while (and supported since
  Rails 3.0.0); `set_table_name` is gone in Rails 4.
Commits on Sep 16, 2012
@alindeman alindeman Abort with non-zero exit status if any command fails 4dddd85
Commits on Sep 18, 2012
@agirorn agirorn Using contain in the View specs example is misleading because it does…
… not work without including an extra gem.
Commits on Sep 19, 2012
@dchelimsky dchelimsky Merge pull request #608 from agirorn/use_include_in_view_spec_example
Using contain in the View specs example is misleading.
Commits on Sep 24, 2012
@alindeman alindeman Scaffolded controller specs are compatible with Rails 4
* Rails 4 introduces
* If a model is scaffolded with attributes (e.g., `rails generate
  scaffold foo bar:string`), Rails will generate a controller that only
  accepts `bar`. This means that the controller spec must be aware of
  the specific parameters when sending PUT (update) requests.
* Furthermore if a model is scaffolded with attributes, Rails generates
  a controller that *requires* the #presence of attributes. This means
  we cannot send in an empty Hash, as the Rails framework will return a
  400 Bad Request.
Commits on Sep 25, 2012
@alindeman alindeman Merge pull request #611 from alindeman/rails4
Scaffolded controller specs are compatible with Rails 4
Commits on Oct 01, 2012
@alindeman alindeman Adds example of using render_template in a view spec
* This is currently failing under Rails 4.0
@alindeman alindeman Correctly assign @gadgets so the view renders properly 8474e9d
Commits on Oct 04, 2012
@blowmage blowmage Remove unnecessary require
The rake task doesn't use core, and doesn't need the DSL loaded to work.
Having core loaded stomps on minitest if in the same project.
@blowmage blowmage Update dependencies in the gemspec
Switch dependency away from 'rspec' because it loads core, which loads the DSL.
This change allows rspec-rails to live side-by-side with minitest-rails.
Commits on Oct 05, 2012
@dchelimsky dchelimsky Merge pull request #615 from blowmage/minitest-rails
Allow rspec-rails rake task to live with minitest-rails
Commits on Oct 06, 2012
@dchelimsky dchelimsky include Capybara::DSL and Capybara::RSpecMatchers in spec/features 9332167
@dchelimsky dchelimsky add RequestExampleGroup to specs in spec/api 1c9e2b7
@dchelimsky dchelimsky Changelog 0dbd908
@dchelimsky dchelimsky include RailsExampleGroup in spec/features (necessary when there is n…
…o AR)
Commits on Oct 07, 2012
@alindeman alindeman Sets `#controller_path` in all versions of Rails
* Fixes #316
@alindeman alindeman Merge branch 'issue_316' 3214564
Commits on Oct 09, 2012
@alindeman alindeman Improves developer documentation 1f8b20d
@alindeman alindeman Be a little more forgiving when RAILS_VERSION or .rails-version does …
…not exist
Commits on Oct 12, 2012
@vanstee vanstee Identify ruby code for syntax highlighting
Fixes #617
@alindeman alindeman Merge pull request #619 from vanstee/ruby_file_doc_strings
Identify ruby code for syntax highlighting
Commits on Oct 13, 2012
@alindeman alindeman Generated specs support module namespacing (e.g., in a Rails engine)
* Fixes #448
Commits on Oct 14, 2012
@dchelimsky dchelimsky add a41a95b
@dchelimsky dchelimsky prep for 2.11.1 d568851
@dchelimsky dchelimsky need to add to .yardopts 3d54ead
@dchelimsky dchelimsky one more rename c5bdbfb
@dchelimsky dchelimsky better capy integration docs 6f551cd
@dchelimsky dchelimsky tweak capy integration docs 732e148
@dchelimsky dchelimsky gotta add files to gemspec too 2a1eac6
@dchelimsky dchelimsky OMG, DRY violations in docs - prep for 2.11.4 087f8f1
Commits on Oct 17, 2012
@jfirebaugh jfirebaugh Fix bare #render in view specs on Rails 3.1
656ff3 made this compatible with 3.2 by splitting the
name of the template in the description into its base
name, locale, format and handler components, but in
doing so broke compatibility with 3.1 and earlier,
which does not support the extra options.
Commits on Oct 20, 2012
@alindeman alindeman Merge pull request #624 from jfirebaugh/render_3.1
Fix bare #render in view specs on Rails 3.1
@alindeman alindeman Changelog for #624 [ci skip] b8392ac
@bjnord bjnord Removes AutoTest config/ exception
* Mappings for files under config/ will work
* Fixes #625
* Closes 627
Commits on Oct 24, 2012
@alindeman alindeman Adds custom failure messages for #be_new_record matcher
* Fixes #628
Commits on Oct 27, 2012
@alindeman alindeman A first stab of fixing `assert_template` in Rails 4 view specs
* It's relatively unobtrustive, but feels quite dirty. I'm hoping this
  is a temporary fix that produces feedback on something better.
@alindeman alindeman Capybara feature specs may use Rails URL helpers 96e1c33
@alindeman alindeman Documents how to customize `rake spec`
* Closes #521
Commits on Nov 06, 2012
@jayeff jayeff Fix link to on
reflect rename
@dchelimsky dchelimsky Merge pull request #633 from jayeff/master was renamed, reflect this change in
@alindeman alindeman Merge pull request #630 from alindeman/capybara_url_helpers
Capybara feature specs may use Rails URL helpers
Commits on Nov 09, 2012
Fixed confusing type error.
@alindeman alindeman Merge pull request #634 from TKAB/patch-1
Really rspec-2.11.1 or rspec-rails-2.11.1
@alindeman alindeman Revert "Capybara feature specs may use Rails URL helpers"
This reverts commit 96e1c33.

* We'll instead use an implementation that adds a proper
  FeatureExampleGroup (see #632)
Commits on Nov 10, 2012
@jnicklas jnicklas Add example group for features
This fixes various issues with the integration between RSpec and Capybara 2.0.

- It includes Route helpers, these were previously unavailable, due to
  the fact that the only reason they are available in request spec is
  that those delegate via method_missing to an IntegrationTest instance.

- It adds the `:feature` type to all features. This way people can
  include module into `:type => :feature` examples and they will work
  when their specs are places in this folder.

David previously commented that he didn't want to add Capybara specific
behaviour outside of `rspec/rails/capybara`. I was careful to avoid
doing that. The feature example group does not explicitly include
Capybara, instead, Capybara is included due to Capybara itself hooking
into `:type => :feature`. This is much cleaner than the way it was

I tested this against both a freshly generated Rails app, as well as an
existing, rather large project, both worked well.
Commits on Nov 11, 2012
@alindeman alindeman Adds cukes for feature specs (capybara integration) 6e68bdd
@alindeman alindeman Replaces `match` with `get`. `match` is removed in Rails 4 56473fd
Commits on Nov 12, 2012
@dchelimsky dchelimsky Add rails-2.3.9 to travis config a731794
Commits on Nov 13, 2012
@alindeman alindeman prep for 2.12 dcabc3a
@alindeman alindeman Wraps code in backticks
[ci skip]
@alindeman alindeman Updates cucumber feature for changes to ActiveRecord in Rails 4
* Rails 4 deprecates #scoped in favor of #all
@alindeman alindeman Updates to rake 10 as 0.9.3 introduces incompatibilities bbd6f36
@dchelimsky dchelimsky --trace is now --backtrace fb9eda1
@dchelimsky dchelimsky bump version to 2.12 edd4a73
Commits on Jan 07, 2013
@xentek xentek check for ActiveRecord::Assocations 10b1164
@alindeman alindeman Changelog for #637 [ci skip] ed94cd1
@jfirebaugh jfirebaugh Don't assume ActiveModel is available
Like ActiveRecord, it is optional and its railtie may not
have been required.
@bcardarella bcardarella README doesn't reflect actual installed gems
'rspec' is not longer installed:
@pascalj pascalj Prevent inclusion if the directory doesn't exactly match the path
For example spec/apifoobar should not have the RequestExampleGroup included
but spec/api should.
Documents also the two additional paths for integration tests, spec/integration and
@ywen ywen `subject.should be_valid` works correctly with ActiveResource models
* ... where valid? does not take an argument
* Closes #648
@alindeman alindeman Rails assertions are isolated to their own class
* This allows Rails assertions to use minitest assertion methods like
  `assert_equal` and `message` without interfering with RSpec example
  groups. Especially in the case of something like `message`, it's
  plausible that a user would setup a `let(:message)` and we would not
  want it to conflict with Rails attempting to use the `message` method
  from minitest.

* The use of class variables is unfortunate, but it's the only way I
  could think of (right now) to avoid using `define_method` and paying
  the price of a closure for every method call to the isolated class.

* Fixes #635
@alindeman alindeman Supports MRI 1.9.2 and nixes the use of class variables 2947304
@alindeman alindeman Supports Rails 4 where each model has its own Relation subclass 7ff9568
@alindeman alindeman Changelog 0e6383a
@alindeman alindeman Corrects Changelog entry
[ci skip]
@alindeman alindeman Revert "Supports Rails 4 where each model has its own Relation subclass"
This reverts commit 3b28ce7.

* OperatorRegistry now matches on ancestor chain, so this change is no
  longer necessary. See
@alindeman alindeman Fixes typo in link href
* Fixes #654
@pcasaretto pcasaretto Add cuke feature explaining custom routes 51c7744
@alindeman alindeman Anonymous controllers define `_routes`
* To support redirection and generation of URLs from other contexts
* Fixes #573
@alindeman alindeman Uses the latest version of Rails by default
* This will require bumping this version periodically, but leaving the
  version has caused hanging of the `bundle` command for some folks
@alindeman alindeman Changelog for #573 a273236
@alindeman alindeman Fixes changes link 87b11b8
@alindeman alindeman Adds __FILE__ and __LINE__ for better backtraces in class_eval code a5eab46
@alindeman alindeman Supports Rails 4 again
* Requires Bundler 1.3.0.pre
* Has its own `bin/` directory
@alindeman alindeman Changelog for 2.12.1 50cc0f8
@alindeman alindeman Dir.exist? is not available on 1.8.7; use instead 2178f10
@alindeman alindeman Bumps to v2.12.1 f3ab49d
@alindeman alindeman Fixes Changelog link fdbba27
Commits on Jan 12, 2013
@alindeman alindeman Revert "Anonymous controllers define `_routes`"
This reverts commit 09793f8.

* We ended up breaking specs that relied on non-anonymous routes. We
  will investigate a better solution for 2.13 instead.
@alindeman alindeman Bumps version to 2.12.2
[ci skip]