class Applitools::Images::Target
Attributes
accessibility_regions[RW]
floating_regions[RW]
ignored_regions[RW]
image[RW]
options[RW]
region_to_check[RW]
Public Class Methods
any(screenshot)
click to toggle source
# File lib/applitools/images/target.rb, line 30 def any(screenshot) case screenshot when Applitools::Screenshot screenshot(screenshot) when ChunkyPNG::Image image(screenshot) when String begin blob(screenshot) rescue ChunkyPNG::SignatureMismatch path(screenshot) end else raise Applitools::EyesIllegalArgument.new "Passed screenshot is not image type (#{screenshot.class})" end end
blob(blob_image)
click to toggle source
# File lib/applitools/images/target.rb, line 12 def blob(blob_image) Applitools::ArgumentGuard.not_nil blob_image, 'blob_image' Applitools::ArgumentGuard.is_a? blob_image, 'blob_image', String new Applitools::Screenshot.from_datastream(blob_image) end
image(image)
click to toggle source
# File lib/applitools/images/target.rb, line 18 def image(image) Applitools::ArgumentGuard.not_nil image, 'image' Applitools::ArgumentGuard.is_a? image, 'image', ChunkyPNG::Image new Applitools::Screenshot.from_image(image) end
new(image)
click to toggle source
# File lib/applitools/images/target.rb, line 50 def initialize(image) Applitools::ArgumentGuard.not_nil(image, 'image') Applitools::ArgumentGuard.is_a? image, 'image', Applitools::Screenshot self.image = image self.ignored_regions = [] self.floating_regions = [] self.accessibility_regions = [] self.options = { trim: false } end
path(path)
click to toggle source
# File lib/applitools/images/target.rb, line 7 def path(path) raise Applitools::EyesIllegalArgument unless File.exist?(path) new Applitools::Screenshot.from_image(ChunkyPNG::Image.from_file(path)) end
screenshot(screenshot)
click to toggle source
# File lib/applitools/images/target.rb, line 24 def screenshot(screenshot) Applitools::ArgumentGuard.not_nil screenshot, 'screenshot' Applitools::ArgumentGuard.is_a? screenshot, 'screenshot', Applitools::Screenshot new screenshot end
Public Instance Methods
accesibility(*args)
click to toggle source
# File lib/applitools/images/target.rb, line 110 def accesibility(*args) accessibility_regions << case args.first when Applitools::AccessibilityRegion args.first when Applitools::Region Applitools::AccessibilityRegion.new(args.first, args.last) else accessibility_region_type = args.pop region = Applitools::Region.new(*args) Applitools::AccessibilityRegion.new(region, accessibility_region_type) end end
floating(*args)
click to toggle source
# File lib/applitools/images/target.rb, line 78 def floating(*args) requested_padding = if args.last.is_a? Applitools::PaddingBounds args.pop else Applitools::PaddingBounds::PIXEL_PADDING end value = case args.first when Applitools::FloatingRegion proc { args.first.padding(requested_padding) } when Applitools::Region proc do region = args.shift Applitools::FloatingRegion.any(region, *args).padding(requested_padding) end else self.floating_regions = [] end floating_regions << value self end
ignore(*args)
click to toggle source
# File lib/applitools/images/target.rb, line 62 def ignore(*args) requested_padding = if args.last.is_a? Applitools::PaddingBounds args.pop else Applitools::PaddingBounds::PIXEL_PADDING end region = args.shift if region Applitools::ArgumentGuard.is_a? region, 'region', Applitools::Region ignored_regions << region.padding(requested_padding) else self.ignored_regions = [] end self end
region(region = nil)
click to toggle source
# File lib/applitools/images/target.rb, line 100 def region(region = nil) if region Applitools::ArgumentGuard.is_a? region, 'region', Applitools::Region self.region_to_check = region else self.region_to_check = nil end self end