Sha256: fab07d50f8d4a9cb5f22c53fd6857ca9a6a90719b01ca8d89f880304e040f8b8

Contents?: true

Size: 748 Bytes

Versions: 55

Compression:

Stored size: 748 Bytes

Contents

require 'dumb_delegator'

module WebDriverScriptAdapter
  # Capybara distinguishes eval from exec
  # (eval is a query, exec is a command)
  # this decorator makes webdriver act like capybara
  class ExecEvalScriptAdapter < ::DumbDelegator
    def self.wrap(driver)
      raise WebDriverError, "WebDriver must respond to #execute_script" unless driver.respond_to? :execute_script

      driver.respond_to?(:evaluate_script) ? driver : new(driver)
    end

    # executes script without returning result
    def execute_script(script)
      super
      nil
    end

    # returns result of executing script
    def evaluate_script(script)
      __getobj__.execute_script "return #{script}"
    end
  end

  class WebDriverError < TypeError; end
end

Version data entries

55 entries across 55 versions & 2 rubygems

Version Path
axe-core-api-4.2.1 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.2.0.pre.5a82425 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.2.0.pre.bb86ed5 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.2.0.pre.d50cf94 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.2.0 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.5880fc5 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.a8e5044 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.c46720b lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.eafff01 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.2bf4a90 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.c36a2a1 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.1dd5198 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.88457a3 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.f26d625 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.3039ae4 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.2b814f9 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.6784dc7 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.1.0 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.e73e472 lib/webdriver_script_adapter/exec_eval_script_adapter.rb
axe-core-api-4.0.0.pre.588d434 lib/webdriver_script_adapter/exec_eval_script_adapter.rb