lib/nakal/dsl.rb in nakal-0.0.6 vs lib/nakal/dsl.rb in nakal-0.0.7

- old
+ new

@@ -2,24 +2,24 @@ require 'timeout' module Nakal module DSL - def current_screen_vs_base_image image_file_name + def current_screen_vs_base_image image_file_name, acceptable_diff=0 orignal_screen = Nakal.current_platform::Screen.new(image_file_name, :load) current_screen = Nakal.current_platform::Screen.new("#{image_file_name}_current", :capture) diff_screen, diff_metric = orignal_screen.compare(current_screen) Timeout::timeout(Nakal.timeout) { - until diff_metric < 0.05 do + until diff_metric <= acceptable_diff do sleep 1 current_screen = Nakal.current_platform::Screen.new("#{image_file_name}_current", :capture) diff_screen, diff_metric = orignal_screen.compare(current_screen) end } rescue nil - if diff_metric==0 + if diff_metric <= acceptable_diff current_screen.delete! else diff_screen.save Nakal.diff_screens << image_file_name embed_screenshots image_file_name if Nakal.embed_screenshot == true @@ -35,16 +35,16 @@ def capture_screen image_name Nakal.current_platform::Screen.new(image_name, :capture) end - def nakal_execute relative_location, params = {:delay => nil, :replace_baseline => false} + def nakal_execute relative_location, params = {:delay => nil, :replace_baseline => false, :acceptable_diff => 0.0} return if ENV['NAKAL_MODE'].nil? Nakal.create_image_dir File.dirname(relative_location) screen_name = File.basename(relative_location) sleep params[:delay] unless params[:delay].nil? capture_screen(screen_name) if (ENV['NAKAL_MODE'] == "build") || (params[:replace_baseline] == true) - current_screen_vs_base_image(screen_name) if ENV['NAKAL_MODE'] == "compare" && params[:replace_baseline] != true + current_screen_vs_base_image(screen_name, params[:acceptable_diff]) if ENV['NAKAL_MODE'] == "compare" && params[:replace_baseline] != true end end end \ No newline at end of file