forked from opal/opal-browser
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
32 lines (27 loc) · 752 Bytes
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
require 'bundler'
Bundler.require
require 'webdrivers'
load 'webdrivers/Rakefile'
require 'opal/rspec/rake_task'
Opal::RSpec::RakeTask.new(:broken_rspec) do |_, task|
task.default_path = 'spec'
task.pattern = 'spec/**/*_spec.{rb,opal}'
end
task(:nil) {}
%w[chrome edge gecko safari].each do |i|
dependency = nil
if %w[chrome edge gecko].include? i
dependency = "webdrivers:#{i}driver:update"
end
desc "Run Selenium tests with #{i}"
task :"selenium_#{i}" => dependency do
server = Process.spawn("bundle", "exec", "rackup")
at_exit { Process.kill(9, server) rescue nil }
sleep 2
ENV['BROWSER'] = i
load 'spec/runner.rb'
ensure
Process.kill(9, server) rescue nil
end
end
task :default => :selenium_chrome