class Axe::Core

Constants

JS_NAME

Public Class Methods

new(page) click to toggle source
# File lib/axe/core.rb, line 12
def initialize(page)
  @page = wrap_driver page
  load_axe_core Axe::Configuration.instance.jslib
end

Public Instance Methods

call(callable) click to toggle source
# File lib/axe/core.rb, line 17
def call(callable)
  callable.call(@page)
end

Private Instance Methods

already_loaded?() click to toggle source
# File lib/axe/core.rb, line 27
    def already_loaded?
      @page.evaluate_script <<-JS
        window.#{JS_NAME} &&
        typeof #{JS_NAME}.run === 'function'
      JS
    end
load_axe_core(source) click to toggle source
# File lib/axe/core.rb, line 23
def load_axe_core(source)
  Loader.new(@page, self).call(source) unless already_loaded?
end
wrap_driver(driver) click to toggle source
# File lib/axe/core.rb, line 34
def wrap_driver(driver)
  ::WebDriverScriptAdapter::QuerySelectorAdapter.wrap(
    ::WebDriverScriptAdapter::FrameAdapter.wrap(
      ::WebDriverScriptAdapter::ExecuteAsyncScriptAdapter.wrap(
        ::WebDriverScriptAdapter::ExecEvalScriptAdapter.wrap(
          driver
        )
      )
    )
  )
end