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

Sign up to get free protection for your applications and to get access to all the features.
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