axe-core-api 4.0.0.pre.c46720b → 4.0.0.pre.e73e472

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a14358b906d30e6bc99898292675d0b4ac96f8c0807b1ea15da2264009574cc3
4
- data.tar.gz: dfd62ab52270b6ae9c0999ab3b759d2b8441017d87c673cf24ac746e69fa1d13
3
+ metadata.gz: 63019d8d56602adad15b503584d207b0cfc9c479e726a1baa047c9ecfa9aefda
4
+ data.tar.gz: 2dc0aaaca0b40ded981d423b6bc5a321d59d67e8338a14b0b961906001c2606d
5
5
  SHA512:
6
- metadata.gz: 13889c574ae182f933beeb9749ba50c2b0b5a5bb855d73f5dcf9fa09e2407572bfdf34f1067a84e0dc123d6caa7969bab832ab2944dc084e4b68fc6161871217
7
- data.tar.gz: af4b61ef6a4466b7f2cf5745260994f22655ad17592bafb896042a6383af6d19c8cd7d36260848ae6940ec7b5d46e9bc7a875fa34d8bd4f885ce181392710b32
6
+ metadata.gz: 022d9629c0eb1460e370dd799d3d869eb1d7bd50570ffad9889e58f7a5e7aca6b420f10f370de9cdcac5f1f4052d63f5eb85f8679ee4bc4f2ed32c6c0045e69f
7
+ data.tar.gz: c0c6060010657c0b963aadb637e44d4dd35c69a371eabe9ed69ae1621a34c3488824ac148343274cfd13b0cab9b83892c3ede187cccf129faba01028fcb70393
@@ -26,7 +26,7 @@ module Axe
26
26
  # init
27
27
  def initialize
28
28
  @page = :page
29
- @skip_iframes = nil
29
+ @skip_iframes = :skip_iframes
30
30
  @jslib_path = get_root + "/node_modules/axe-core/axe.min.js"
31
31
  end
32
32
 
data/lib/axe/core.rb CHANGED
@@ -31,7 +31,6 @@ module Axe
31
31
  end
32
32
 
33
33
  def wrap_driver(driver)
34
- driver = driver.driver if driver.respond_to? :driver
35
34
  ::WebDriverScriptAdapter::QuerySelectorAdapter.wrap(
36
35
  ::WebDriverScriptAdapter::FrameAdapter.wrap(
37
36
  ::WebDriverScriptAdapter::ExecuteAsyncScriptAdapter.wrap(
data/lib/loader.rb CHANGED
@@ -10,7 +10,6 @@ module Common
10
10
 
11
11
  def call(source)
12
12
  @page.execute_script source
13
- @page.execute_script "axe.configure({ allowedOrigins: ['<unsafe_all_origins>'] });"
14
13
  Common::Hooks.run_after_load @lib
15
14
  load_into_iframes(source) unless Axe::Configuration.instance.skip_iframes
16
15
  end
@@ -3,7 +3,7 @@ require "dumb_delegator"
3
3
  module WebDriverScriptAdapter
4
4
  class FrameAdapter < ::DumbDelegator
5
5
  def self.wrap(driver)
6
- if driver.respond_to?(:find_css)
6
+ if driver.respond_to?(:within_frame)
7
7
  CapybaraAdapter.new driver
8
8
  elsif !driver.respond_to?(:switch_to)
9
9
  WatirAdapter.new driver
@@ -16,19 +16,20 @@ module WebDriverScriptAdapter
16
16
 
17
17
  private
18
18
 
19
- class WatirAdapter < ::DumbDelegator
20
- def initialize(driver)
21
- super(driver)
22
- @driver = driver
19
+ class CapybaraAdapter < ::DumbDelegator
20
+ def find_frames
21
+ all(:css, "iframe")
23
22
  end
23
+ end
24
24
 
25
+ class WatirAdapter < ::DumbDelegator
25
26
  # delegate to Watir's Selenium #driver
26
27
  def within_frame(frame, &block)
27
- SeleniumAdapter.instance_method(:within_frame).bind(FrameAdapter.wrap @driver).call(frame, &block)
28
+ SeleniumAdapter.instance_method(:within_frame).bind(FrameAdapter.wrap driver).call(frame, &block)
28
29
  end
29
30
 
30
31
  def find_frames
31
- find_elements(:css, "iframe")
32
+ driver.find_elements(:css, "iframe")
32
33
  end
33
34
  end
34
35
 
@@ -56,41 +57,6 @@ module WebDriverScriptAdapter
56
57
  end
57
58
  end
58
59
 
59
- class CapybaraAdapter < ::DumbDelegator
60
- def initialize(driver)
61
- super(driver)
62
- @driver = driver
63
- end
64
-
65
- def within_frame(frame)
66
- # Patch the `Symbol` class to respond to the :native method.
67
- # Will be fixed in https://github.com/teamcapybara/capybara/pull/2462
68
- (:parent).class.define_method(:native) do
69
- nil
70
- end
71
- switch_to_frame frame
72
- yield
73
- ensure
74
- begin
75
- switch_to_frame :parent
76
- rescue => e
77
- if /switchToParentFrame|frame\/parent/.match(e.message)
78
- ::Kernel.warn "WARNING:
79
- This browser only supports first-level iframes.
80
- Second-level iframes and beyond will not be audited.
81
- To skip auditing all iframes,
82
- set Axe::Configuration#skip_iframes=true"
83
- end
84
- switch_to_frame :top
85
- end
86
- end
87
-
88
- def find_frames
89
- find_css("iframe")
90
- end
91
- end
92
-
93
-
94
60
  # Selenium Webdriver < 2.43 doesnt support moving back to the parent
95
61
  class ParentlessFrameAdapter < ::DumbDelegator
96
62
  # storage of frame stack (for reverting to parent) taken from Capybara