Module: Nakal::DSL
- Defined in:
- lib/nakal/dsl.rb
Instance Method Summary collapse
- #capture_screen(image_name) ⇒ Object
- #current_screen_vs_base_image(image_file_name, acceptable_diff = 0) ⇒ Object
- #embed_screenshots(image_file_name) ⇒ Object
- #nakal_execute(relative_location, params = {:delay => nil, :replace_baseline => false, :acceptable_diff => 0.0}) ⇒ Object
Instance Method Details
#capture_screen(image_name) ⇒ Object
36 37 38 |
# File 'lib/nakal/dsl.rb', line 36 def capture_screen image_name Nakal.current_platform::Screen.new(image_name, :capture) end |
#current_screen_vs_base_image(image_file_name, acceptable_diff = 0) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/nakal/dsl.rb', line 7 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 <= 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 <= acceptable_diff current_screen.delete! else diff_screen.save Nakal.diff_screens << image_file_name image_file_name if Nakal. == true end diff_metric end |
#embed_screenshots(image_file_name) ⇒ Object
30 31 32 33 34 |
# File 'lib/nakal/dsl.rb', line 30 def image_file_name ("#{image_file_name}.png", 'image/png', "#{image_file_name}") ("#{image_file_name}_current.png", 'image/png', "#{image_file_name}_current") ("#{image_file_name}_diff.png", 'image/png', "#{image_file_name}_diff") end |
#nakal_execute(relative_location, params = {:delay => nil, :replace_baseline => false, :acceptable_diff => 0.0}) ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/nakal/dsl.rb', line 40 def nakal_execute relative_location, params = {:delay => nil, :replace_baseline => false, :acceptable_diff => 0.0} return if ENV['NAKAL_MODE'].nil? Nakal.set 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, params[:acceptable_diff]) if ENV['NAKAL_MODE'] == "compare" && params[:replace_baseline] != true end |