class WatchDoge::Regression::Manager
Public Class Methods
new(scenario_path, regression_flag: @scenario_path = scenario_path)
click to toggle source
# File lib/watchdoge/regression.rb, line 44 def initialize scenario_path, regression_flag: @scenario_path = scenario_path @scenario_name = File.basename @scenario_path, '.rb' @regression_flag = regression_flag @setup_proc = nil @teardown_proc = nil worker_options = WatchDoge.configuration.default_worker_options.merge WatchDoge.configuration.worker_options @worker = WatchDoge::Worker.new @scenario_name, worker_options.dup @view_port = {} end
run_all_scenarios(regression_flag)
click to toggle source
# File lib/watchdoge/regression.rb, line 22 def run_all_scenarios regression_flag WatchDoge.hooks.before_regression.each { |t| instance_exec &t } Dir["#{WatchDoge::Regression::Utils.scenarios_dir}/*"].each do |scenario_path| mgr = self.new scenario_path, regression_flag: regression_flag WatchDoge.hooks.before_scenario.each { |t| mgr.instance_exec &t } if WatchDoge.hooks.around_scenario WatchDoge.hooks.around_scenario.call(Proc.new { mgr.eval_scenario }) else mgr.eval_scenario end WatchDoge.hooks.after_scenario.each { |t| mgr.instance_exec &t } end WatchDoge.hooks.after_regression.each { |t| instance_exec &t } WatchDoge::Notification.flush end
Public Instance Methods
eval_scenario()
click to toggle source
# File lib/watchdoge/regression.rb, line 60 def eval_scenario puts "scenario: #{@scenario_name} begin" instance_eval File.read(@scenario_path), @scenario_path @worker.close puts "scenario: #{@scenario_name} end\n" puts "" end
reference_image()
click to toggle source
# File lib/watchdoge/regression.rb, line 68 def reference_image WatchDoge::Regression::Utils.reference_dir + "/#{@scenario_name}/#{@reference_file_name}.png" end