Permalink
Browse files

Update RSpec config to support RSpec 2 and RSpec 3.

  • Loading branch information...
thomas-holmes committed Jul 22, 2013
1 parent 899f3bd commit 61cddbe3388190b4c2192d78ad0c085f8e37cfe9
Showing with 7 additions and 0 deletions.
  1. +7 −0 lib/capybara/rspec.rb
View
@@ -7,6 +7,12 @@
RSpec.configure do |config|
config.include Capybara::DSL, :type => :feature
config.include Capybara::RSpecMatchers, :type => :feature
+
+ # A work-around to support accessing the current example that works in both
+ # RSpec 2 and RSpec 3.
+ fetch_current_example = RSpec.respond_to?(:current_example) ?
+ proc { RSpec.current_example } : proc { |context| context.example }
+
# The before and after blocks must run instantaneously, because Capybara
# might not actually be used in all examples where it's included.
config.after do
@@ -17,6 +23,7 @@
end
config.before do
if self.class.include?(Capybara::DSL)
+ example = fetch_current_example.call(self)
Capybara.current_driver = Capybara.javascript_driver if example.metadata[:js]
Capybara.current_driver = example.metadata[:driver] if example.metadata[:driver]
end

0 comments on commit 61cddbe

Please sign in to comment.