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