axe-core-api 4.0.0.pre.a8e5044 → 4.0.0.pre.a442c75

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: b50c76d7382217ecbd97306a795fe6793861e22d001e2a171db0787d0652cf24
4
- data.tar.gz: e1a505a45c04ae044b76aa5ae97a3c80a4bc3381ee96ecc8df7f9cf633df7c54
3
+ metadata.gz: 214697fde2c946cef218f35aa358ae69621357bd8ab4a3c4953082ea36ea73db
4
+ data.tar.gz: 6e14744f988c40af657ac9fc5c8ffca7aaa2a11e2fe8df2ea5389813fdd9add3
5
5
  SHA512:
6
- metadata.gz: 26a5ad9f24fa70f3f856e51c790c7391a22010c9d7c699c0746169ab345f4e2acbd57a089290a8e433e1df919c29ade6f29f55d031f27af7eb0d7effdd2b3365
7
- data.tar.gz: e4ae00935afbb0423b5d663f3b7c8f5aef27dcea8cbf29b302a8a4c9ba6863e6cbb3b652298700e3fe471b75473e32025287b1186873b05c7ba577bc35b2861e
6
+ metadata.gz: 2bc1d6b4bc73d6b784e56b2f9022012552e794f249de5550e22d26b00285c1e7e858395ab89d0bf9be568e910edc048aafaf016af936d8db454b598761f0e750
7
+ data.tar.gz: 06b937cfa02e45a955d557b577d381e6beb79b9b1766b128af67168f9fae7fcd83c78be2ca1b363626a6be24a20161e85198a08ea06cc6321dca50f1244ce645
@@ -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