123456789_123456789_123456789_123456789_123456789_

Module: Selenium::WebDriver::Interactions::PointerEventProperties

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: rb/lib/selenium/webdriver/common/interactions/pointer_event_properties.rb

Constant Summary

  • VALID =
    # File 'rb/lib/selenium/webdriver/common/interactions/pointer_event_properties.rb', line 24
    {width: {'width' => {min: 0.0}},
    height: {'height' => {min: 0.0}},
    pressure: {'pressure' => {min: 0.0, max: 1.0}},
    tangential_pressure: {'tangentialPressure' => {min: -1.0, max: 1.0}},
    tilt_x: {'tiltX' => {min: -90, max: 90}},
    tilt_y: {'tiltY' => {min: -90, max: 90}},
    twist: {'twist' => {min: 0, max: 359}},
    altitude_angle: {'altitudeAngle' => {min: 0.0, max: (Math::PI / 2)}},
    azimuth_angle: {'azimuthAngle' => {min: 0.0, max: (Math::PI * 2)}}}.freeze

Instance Method Summary

Instance Method Details

#assert_number(num, min, max = nil) (private)

Raises:

  • (TypeError)
[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/common/interactions/pointer_event_properties.rb', line 48

def assert_number(num, min, max = nil)
  return if num.nil?

  klass = min.is_a?(Integer) ? Integer : Numeric
  raise TypeError, "#{num} is not a #{klass}" unless num.is_a?(klass)

  raise ArgumentError, "#{num} is not greater than or equal to #{min}" if num < min

  raise ArgumentError, "#{num} is not less than or equal to #{max}" if max && num > max

  num
end

#process_opts

Raises:

  • (ArgumentError)
[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/common/interactions/pointer_event_properties.rb', line 34

def process_opts
  raise ArgumentError, "Unknown options found: #{@opts.inspect}" unless (@opts.keys - VALID.keys).empty?

  VALID.each_with_object({}) do |(key, val), hash|
    next unless @opts.key?(key)

    name = val.keys.first
    values = val.values.first
    hash[name] = assert_number(@opts[key], values[:min], values[:max])
  end
end