Sha256: d6369c965e6f77a6c0e606d1c0416293e3d6e5823f58edb73757934d2c2e524a

Contents?: true

Size: 1003 Bytes

Versions: 2

Compression:

Stored size: 1003 Bytes

Contents

require 'selenium/webdriver/support/abstract_event_listener'

class RedGlassListener < Selenium::WebDriver::Support::AbstractEventListener
  attr_accessor :red_glass

  def before_change_value_of(element, driver)
    @red_glass.event_sequence << { :change_value => element.tag_name } if recording?
  end

  def before_click(element, driver)
    @red_glass.event_sequence << { :click => element.tag_name } if recording?
  end

  def after_navigate_back(driver)
    if recording?
      @red_glass.event_sequence.clear
      @red_glass.page_metadata = {}
      @red_glass.reload
    end
  end

  def after_navigate_forward(driver)
    if recording?
      @red_glass.event_sequence.clear
      @red_glass.page_metadata = {}
      @red_glass.reload
    end
  end

  def after_navigate_to(url, driver)
    if recording?
      @red_glass.event_sequence.clear
      @red_glass.page_metadata = {}
      @red_glass.reload
    end
  end

  private

  def recording?
    @red_glass && @red_glass.recording
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
red-glass-0.1.5 lib/red-glass/red_glass_listener.rb
red-glass-0.1.4 lib/red-glass/red_glass_listener.rb