axe-core-api 4.9.0.pre.a02013a → 4.9.0.pre.cb20854
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 +4 -4
- data/lib/axe/api/run.rb +7 -13
- data/lib/axe/core.rb +14 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4923f168756e87bb1a0502e19595299d1011fa9a9ed87c08e2e71bde81b98610
|
4
|
+
data.tar.gz: 47b27423b74f1127fe851132aa02a3045a7450c2708d3e6c5cfe622dbeca7f5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 729e4361b3b4d4ecc92da5892073f8981ca39cb1ae0bbcf56248b176b6cc32f4a27ff12e252c1ca1582643096f88a89cd89fd56a9ad669eec1c548a514bc4f37
|
7
|
+
data.tar.gz: 55d56aef8090ebba49facbb3d16713b684596abcb92ccc215e669dbf61741973e9838bd91d1d45097e12e2a567e13732e967b964682fb0736da67d138d8c7e22
|
data/lib/axe/api/run.rb
CHANGED
@@ -87,28 +87,22 @@ module Axe
|
|
87
87
|
|
88
88
|
def within_about_blank_context(page)
|
89
89
|
driver = get_selenium page
|
90
|
-
# This is a workaround to maintain Selenium 3 support
|
91
|
-
# Likely driver.switch_to.new_window(:tab) should be used instead, should we drop support, as per
|
92
|
-
# https://github.com/dequelabs/axe-core-gems/issues/352
|
93
90
|
|
94
|
-
|
91
|
+
num_handles = page.window_handles.length
|
95
92
|
begin
|
96
93
|
driver.execute_script("window.open('about:blank'), '_blank'")
|
94
|
+
if num_handles == page.window_handles.length
|
95
|
+
raise StandardError.new "Could not open new window. Please make sure that you have popup blockers disabled."
|
96
|
+
end
|
97
|
+
driver.switch_to.window page.window_handles[-1]
|
97
98
|
rescue
|
98
|
-
|
99
|
-
end
|
100
|
-
after_handles = page.window_handles
|
101
|
-
new_handles = after_handles.difference(before_handles)
|
102
|
-
if new_handles.length != 1
|
103
|
-
raise StandardError.new "Unable to determine window handle"
|
99
|
+
raise StandardError.new "switchToWindow failed. Are you using updated browser drivers? Please check out https://github.com/dequelabs/axe-core-gems/blob/develop/error-handling.md"
|
104
100
|
end
|
105
|
-
new_handle = new_handles[0]
|
106
|
-
driver.switch_to.window new_handle
|
107
101
|
driver.get "about:blank"
|
108
102
|
|
109
103
|
ret = yield page
|
110
104
|
|
111
|
-
driver.switch_to.window
|
105
|
+
driver.switch_to.window page.window_handles[-1]
|
112
106
|
driver.close
|
113
107
|
driver.switch_to.window @original_window
|
114
108
|
|
data/lib/axe/core.rb
CHANGED
@@ -38,8 +38,22 @@ module Axe
|
|
38
38
|
Core.has_run_partial?(@page) and not Axe::Configuration.instance.legacy_mode
|
39
39
|
end
|
40
40
|
|
41
|
+
def assert_frame_ready
|
42
|
+
begin
|
43
|
+
ready = Timeout.timeout(10) {
|
44
|
+
@page.evaluate_script <<-JS
|
45
|
+
document.readyState === 'complete'
|
46
|
+
JS
|
47
|
+
}
|
48
|
+
rescue Timeout::Error
|
49
|
+
ready = false
|
50
|
+
end
|
51
|
+
raise Exception.new "Page/frame not ready" if not ready
|
52
|
+
end
|
53
|
+
|
41
54
|
def load_axe_core(source)
|
42
55
|
return if already_loaded?
|
56
|
+
assert_frame_ready
|
43
57
|
loader = Common::Loader.new(@page, self)
|
44
58
|
loader.load_top_level source
|
45
59
|
return if use_run_partial
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: axe-core-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.9.0.pre.
|
4
|
+
version: 4.9.0.pre.cb20854
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Deque Systems
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dumb_delegator
|