Reflect on tags, rather than hardcoding

This means that drivers don't have to add their
own cucumber tags anymore.
This commit is contained in:
Jonas Nicklas 2011-02-24 13:11:00 +01:00
parent ac658dd9b1
commit 04360cc291
1 changed files with 9 additions and 15 deletions

View File

@ -1,4 +1,5 @@
require 'capybara' require 'capybara'
require 'capybara/dsl' require 'capybara/dsl'
require 'capybara/rspec/matchers' require 'capybara/rspec/matchers'
@ -9,24 +10,17 @@ After do
Capybara.reset_sessions! Capybara.reset_sessions!
end end
Before('@javascript') do Before '@javascript' do
Capybara.current_driver = Capybara.javascript_driver Capybara.current_driver = Capybara.javascript_driver
end end
Before('@selenium') do Before do |scenario|
Capybara.current_driver = :selenium scenario.source_tag_names.each do |tag|
end driver_name = tag.sub(/^@/, '').to_sym
if Capybara.drivers.has_key?(driver_name)
Before('@celerity') do Capybara.current_driver = driver_name
Capybara.current_driver = :celerity end
end end
Before('@culerity') do
Capybara.current_driver = :culerity
end
Before('@rack_test') do
Capybara.current_driver = :rack_test
end end
After do After do