class DotDiff::Comparer
Attributes
element[R]
page[R]
snapshot[R]
Public Class Methods
new(element, page, snapshot)
click to toggle source
# File lib/dotdiff/comparer.rb, line 7 def initialize(element, page, snapshot) @page = page @element = element @snapshot = snapshot end
Public Instance Methods
result()
click to toggle source
# File lib/dotdiff/comparer.rb, line 13 def result comparer = build_comparer if comparer.nil? raise ArgumentError, "Unknown element class received: #{element.class.name}" end passed, msg = comparer.run write_failure_imgs(comparer.new_image_path) if !passed && DotDiff.failure_image_path [passed, msg] end
Private Instance Methods
build_comparer()
click to toggle source
# File lib/dotdiff/comparer.rb, line 33 def build_comparer if element.is_a?(Capybara::Session) DotDiff::Comparible::PageComparer.new(snapshot, nil) elsif element.is_a?(Capybara::Node::Base) DotDiff::Comparible::ElementComparer.new(snapshot, ElementMeta.new(page, element)) end end
write_failure_imgs(new_image_path)
click to toggle source
# File lib/dotdiff/comparer.rb, line 28 def write_failure_imgs(new_image_path) FileUtils.mkdir_p(snapshot.failure_path) FileUtils.mv(new_image_path, snapshot.new_file, force: true) end