2018-04-18 20:45:35 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2010-09-17 23:56:32 +00:00
|
|
|
require 'rubygems'
|
2010-09-18 00:23:13 +00:00
|
|
|
require 'rspec/core/rake_task'
|
2012-01-26 13:58:25 +00:00
|
|
|
require 'cucumber/rake/task'
|
2010-09-17 23:56:32 +00:00
|
|
|
require 'yard'
|
|
|
|
|
2018-07-10 21:18:39 +00:00
|
|
|
desc 'Run all examples with Firefox non-marionette'
|
2014-03-31 22:10:27 +00:00
|
|
|
|
2018-04-24 22:47:53 +00:00
|
|
|
rspec_opts = %w[--color]
|
|
|
|
|
2016-10-14 02:50:03 +00:00
|
|
|
RSpec::Core::RakeTask.new(:spec_marionette) do |t|
|
2018-04-24 22:47:53 +00:00
|
|
|
t.rspec_opts = rspec_opts
|
2016-10-14 02:50:03 +00:00
|
|
|
t.pattern = './spec{,/*/**}/*{_spec.rb,_spec_marionette.rb}'
|
2013-02-25 19:13:03 +00:00
|
|
|
end
|
2010-09-17 23:56:32 +00:00
|
|
|
|
2018-06-25 18:21:20 +00:00
|
|
|
%w[chrome ie edge chrome_remote firefox_remote].each do |driver|
|
2018-03-17 11:55:00 +00:00
|
|
|
RSpec::Core::RakeTask.new(:"spec_#{driver}") do |t|
|
2018-04-24 22:47:53 +00:00
|
|
|
t.rspec_opts = rspec_opts
|
2018-03-17 11:55:00 +00:00
|
|
|
t.pattern = "./spec/*{_spec_#{driver}.rb}"
|
|
|
|
end
|
2015-05-21 18:00:36 +00:00
|
|
|
end
|
|
|
|
|
2017-07-26 19:26:45 +00:00
|
|
|
RSpec::Core::RakeTask.new(:spec_rack) do |t|
|
2018-04-24 22:47:53 +00:00
|
|
|
t.rspec_opts = rspec_opts
|
2017-07-26 19:26:45 +00:00
|
|
|
t.pattern = './spec{,/*/**}/*{_spec.rb}'
|
|
|
|
end
|
|
|
|
|
2018-01-09 22:05:50 +00:00
|
|
|
task spec: [:spec_marionette]
|
2017-03-07 21:19:03 +00:00
|
|
|
|
2010-09-17 23:56:32 +00:00
|
|
|
YARD::Rake::YardocTask.new do |t|
|
2012-01-06 18:15:33 +00:00
|
|
|
t.files = ['lib/**/*.rb']
|
2018-01-09 22:05:50 +00:00
|
|
|
t.options = %w[--markup=markdown]
|
2010-09-17 23:56:32 +00:00
|
|
|
end
|
|
|
|
|
2012-01-26 13:58:25 +00:00
|
|
|
Cucumber::Rake::Task.new(:cucumber) do |task|
|
|
|
|
task.cucumber_opts = ['--format=progress', 'features']
|
|
|
|
end
|
|
|
|
|
2017-11-13 21:04:47 +00:00
|
|
|
task :travis do
|
2018-06-26 20:55:17 +00:00
|
|
|
if ENV['CAPYBARA_REMOTE'] && ENV['CAPYBARA_FF']
|
|
|
|
Rake::Task[:spec_firefox_remote].invoke
|
|
|
|
elsif ENV['CAPYBARA_FF']
|
2017-08-02 19:10:56 +00:00
|
|
|
Rake::Task[:spec_marionette].invoke
|
2018-03-17 11:55:00 +00:00
|
|
|
elsif ENV['CAPYBARA_IE']
|
|
|
|
Rake::Task[:spec_ie].invoke
|
|
|
|
elsif ENV['CAPYBARA_EDGE']
|
|
|
|
Rake::Task[:spec_edge].invoke
|
2018-06-26 20:55:17 +00:00
|
|
|
elsif ENV['CAPYBARA_REMOTE']
|
2018-04-24 22:47:53 +00:00
|
|
|
Rake::Task[:spec_chrome_remote].invoke
|
2015-05-21 18:00:36 +00:00
|
|
|
else
|
2017-08-02 19:10:56 +00:00
|
|
|
Rake::Task[:spec_chrome].invoke
|
2015-05-21 18:00:36 +00:00
|
|
|
end
|
2018-01-08 20:23:54 +00:00
|
|
|
Rake::Task[:cucumber].invoke
|
2015-05-21 18:00:36 +00:00
|
|
|
end
|
2013-02-25 19:13:03 +00:00
|
|
|
|
2016-10-19 17:35:11 +00:00
|
|
|
task :release do
|
2018-01-03 22:31:56 +00:00
|
|
|
version = Capybara::VERSION
|
2016-10-19 17:35:11 +00:00
|
|
|
puts "Releasing #{version}, y/n?"
|
|
|
|
exit(1) unless STDIN.gets.chomp == 'y'
|
|
|
|
sh "git commit -am 'tagged #{version}' && " \
|
|
|
|
"git tag #{version} && " \
|
|
|
|
'gem build capybara.gemspec && ' \
|
|
|
|
"gem push capybara-#{version}.gem && " \
|
|
|
|
'git push && ' \
|
|
|
|
'git push --tags'
|
|
|
|
end
|
|
|
|
|
2018-01-09 22:05:50 +00:00
|
|
|
task default: %i[spec cucumber]
|