axe-core-api 4.14.0.pre.37cf919 → 4.14.0.pre.743b3a1

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/loader.rb +20 -1
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e638cbf5135f83ec9689d70c0022e14b91fbdf7fc2b4046efb5efe75a4a20a2f
4
- data.tar.gz: 432881714eb6b4c8b4be4886e9d3386f3d22f55fab098e5c3bad9ce155d8eddb
3
+ metadata.gz: a9806ad369e72d353d7c736f92c537a038127e567fd44180f875da9d0f9d63c6
4
+ data.tar.gz: b6b13dddb4b637ce49e6bc67cff6af19b0f2076a085096c9aa550f58d25ccbf6
5
5
  SHA512:
6
- metadata.gz: 6ed3af28f5731d0999ea1d324f38c6cecf687a2127414c772e7d72c599041ffe85e1e5ab226ba82188a79be7e4eadbea178f37bed9aabb14a719aee4b214b4cf
7
- data.tar.gz: 6662fc97c02f63bebf93f064699a97a733ebbdc2f46bf5d0e089597b6eaa76ebfd6c869b66bd9de8d4c77087b599964d8a76599863b185946c50f9d3ce78705d
6
+ metadata.gz: 4d0dfa7e192f33b96f35f212775b8009afa62199bc726b366c1ace3ee4d6ab134a61573111667d1c52fc2ff79f07816aa15cc5fb1c2fa35b5ca40fe8797af8b2
7
+ data.tar.gz: eb561fe2e9a3d17a2d7dc35f4f29288b8491d45314dc1366fe446eb0461ac46522a1031d609bbdaf79e7b0e9db878f47a980dd02b5e9d6723a9e0f1a5de97111
data/lib/loader.rb CHANGED
@@ -6,6 +6,25 @@ module Common
6
6
  class Loader
7
7
  INJECTED = "axeCoreGemsInjected".freeze
8
8
 
9
+ # a frame that blocks scripts skips event listeners and never fires timers, so axe.runPartial would hang in it
10
+ ASSERT_SCRIPTS_RUN = <<-JS
11
+ (function () {
12
+ var ran = false;
13
+ try {
14
+ var target = document.createElement('div');
15
+ target.addEventListener('axe', function () { ran = true; });
16
+ var event = document.createEvent('Event');
17
+ event.initEvent('axe', false, false);
18
+ target.dispatchEvent(event);
19
+ } catch (e) {
20
+ return;
21
+ }
22
+ if (!ran) {
23
+ throw new Error('Frame cannot run scripts');
24
+ }
25
+ })();
26
+ JS
27
+
9
28
  def initialize(page, lib, loaded_top_level: false)
10
29
  @page = page
11
30
  @lib = lib
@@ -13,7 +32,7 @@ module Common
13
32
  end
14
33
 
15
34
  def load_top_level(source)
16
- @page.execute_script source
35
+ @page.execute_script ASSERT_SCRIPTS_RUN + source
17
36
  @loaded_top_level = true
18
37
  Common::Hooks.run_after_load @lib
19
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: axe-core-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.14.0.pre.37cf919
4
+ version: 4.14.0.pre.743b3a1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Deque Systems