module Applitools::CssTransform

Private Instance Methods

get_position_from_transform(transform) click to toggle source
# File lib/applitools/selenium/css_transform/css_transform.rb, line 7
def get_position_from_transform(transform)
  regexp = /^translate\(\s*(\-?)([\d, \.]+)px(?:,\s*(\-?)([\d, \.]+)px)?\s*\)/
  data = regexp.match(transform)

  raise Applitools::EyesError.new "Can't parse CSS transition: #{transform}!" unless data
  x = data[2].to_f.round
  y = data[4].to_f.round

  x *= -1 unless data[1].empty?
  y *= -1 unless data[3].nil? || data[3].empty?

  Applitools::Location.new(x, y)
end