module Compatriot
Constants
- VERSION
Attributes
app[RW]
framework[RW]
screenshot_directory[RW]
show_diffs[RW]
ui_difference_threshold[RW]
Public Class Methods
configure() { |self| ... }
click to toggle source
# File lib/compatriot.rb, line 13 def configure yield self end
filename_for_test(test, description)
click to toggle source
# File lib/compatriot.rb, line 37 def filename_for_test(test, description) test_name = test.name.match(/test_[0-9]+_(.*)/)[1] class_name = test.class.name filename = class_name + '_' + test_name filename += '_' + description unless description.empty? filename.tr(' ', '_').downcase + '.png' end
filepath_for_screenshot(type, filename)
click to toggle source
# File lib/compatriot.rb, line 45 def filepath_for_screenshot(type, filename) File.expand_path(self.screenshot_directory + '/' + type + '/' + filename) end
percentage_changed(test, description = '')
click to toggle source
# File lib/compatriot.rb, line 29 def percentage_changed(test, description = '') variable_img_path = take_screenshot(test, description) control_img_path = filepath_for_screenshot('control', filename_for_test(test, description)) diff = Compatriot::ColorDiffer.diff(variable_img_path, control_img_path) variable_image = ChunkyPNG::Image.from_file(variable_img_path) Compatriot::ColorDiffer.color_difference_percentage(variable_image, diff) end
relative_filepath_for_screenshot(type, filename)
click to toggle source
# File lib/compatriot.rb, line 49 def relative_filepath_for_screenshot(type, filename) self.screenshot_directory + '/' + type + '/' + filename end
take_screenshot(test, description)
click to toggle source
# File lib/compatriot.rb, line 17 def take_screenshot(test, description) filename = filename_for_test(test, description) control_image_path = filepath_for_screenshot('control', filename) if File.exist?(control_image_path) screenshot_type = 'variable' else screenshot_type = 'control' end framework.current_session.save_screenshot filepath_for_screenshot(screenshot_type, filename) end