stormbreaker 0.0.2 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/stormbreaker/axe_helper.rb +1 -2
- data/lib/stormbreaker/axe_results_serializer.rb +3 -8
- data/lib/stormbreaker/version.rb +1 -1
- data/stormbreaker.gemspec +14 -9
- metadata +17 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6c78261727faf01de1719d7450bdfac83b9eb4c5eb4cfa64e17554b2fbf4a3f
|
4
|
+
data.tar.gz: 97ee40f273a06dd673b32409f9c974c7ba87c743527c196dfb4d8b5f152d3132
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17cc5375945ec37d07aff44733844bc71f4e19e3b0c02887dece3a39241b613410165bdd6456cf27377bf90c04c3bb9461e9a607241109dff1fa467bf68ef9d7
|
7
|
+
data.tar.gz: ebbe45e398d9e47d0e2b275cbacdef3efd14c650965bb45ecbd8bc5eb06b52de0a0a50070084900247bebf4d602dfa54e6135a83af645e173ff17c5ab9ce3941
|
@@ -13,10 +13,9 @@ module Stormbreaker
|
|
13
13
|
|
14
14
|
# Always assert that driver's current page _is_ axe compliant
|
15
15
|
RSpec::Expectations::PositiveExpectationHandler.handle_matcher(@driver, axe_matcher)
|
16
|
-
|
17
16
|
call_stack = caller.select { |line| line =~ /selenium.*_spec\.rb/ }.first(5)
|
18
17
|
# only get /path/to/spec:line_number from call stack
|
19
|
-
call_stack.map! { |c| c.scan(%r{^[A-Za-
|
18
|
+
call_stack.map! { |c| c.scan(%r{^[A-Za-z0-9/_-]*\.rb:\d*}) }
|
20
19
|
|
21
20
|
violations = axe_matcher.audit([]).results.violations
|
22
21
|
violations.each do |v|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'yaml'
|
4
4
|
|
5
5
|
module Stormbreaker
|
6
6
|
class AxeResultsSerializer
|
7
|
-
|
7
|
+
ALLOWED_CLASSES = [Stormbreaker::AxeViolation, Set, Symbol].freeze
|
8
8
|
|
9
9
|
def self.serialize_results(total_violations)
|
10
10
|
dump = YAML.dump(total_violations)
|
@@ -23,13 +23,8 @@ module Stormbreaker
|
|
23
23
|
|
24
24
|
combined_manager = Stormbreaker::AxeViolationManager.new
|
25
25
|
results_files.each do |file|
|
26
|
-
# rubocop:disable Security/YAMLLoad
|
27
|
-
# Using YAML.load here so that we can specify safe and whitelisted_tags as args in order to not
|
28
|
-
# have to patch settings to use safe_load and potentially endanger consuming apps.
|
29
26
|
puts "Loading #{file}"
|
30
|
-
total_violations = YAML.
|
31
|
-
safe: true, whitelisted_tags: ALLOWED_TAGS, deserialize_symbols: true)
|
32
|
-
# rubocop:enable Security/YAMLLoad
|
27
|
+
total_violations = YAML.safe_load(File.read(file), permitted_classes: ALLOWED_CLASSES, aliases: true)
|
33
28
|
total_violations.each do |violation|
|
34
29
|
combined_manager.add_failure_to_total(violation)
|
35
30
|
end
|
data/lib/stormbreaker/version.rb
CHANGED
data/stormbreaker.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# rubocop:disable Layout/ExtraSpacing, Layout/SpaceAroundOperators
|
3
|
+
# rubocop:disable Layout/ExtraSpacing, Layout/SpaceAroundOperators, Metrics/BlockLength
|
4
4
|
require './lib/stormbreaker/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |gem|
|
@@ -8,10 +8,12 @@ Gem::Specification.new do |gem|
|
|
8
8
|
gem.version = Stormbreaker::VERSION
|
9
9
|
gem.license = 'MIT'
|
10
10
|
gem.authors = [
|
11
|
-
'Brian Watson'
|
11
|
+
'Brian Watson',
|
12
|
+
'Mikey Hargiss'
|
12
13
|
]
|
13
14
|
gem.email = [
|
14
|
-
'bwatson@instructure.com'
|
15
|
+
'bwatson@instructure.com',
|
16
|
+
'mhargiss@instructure.com'
|
15
17
|
]
|
16
18
|
gem.summary = 'Add axe assertions to expect statements by default in Ruby Selenium'
|
17
19
|
|
@@ -22,18 +24,21 @@ Gem::Specification.new do |gem|
|
|
22
24
|
gem.bindir = 'bin'
|
23
25
|
gem.require_paths = ['lib']
|
24
26
|
|
25
|
-
gem.metadata
|
27
|
+
gem.metadata = {
|
28
|
+
'allowed_push_host' => 'https://rubygems.org',
|
29
|
+
'rubygems_mfa_required' => 'true'
|
30
|
+
}
|
31
|
+
|
26
32
|
gem.required_ruby_version = '>= 2.6'
|
27
33
|
|
28
|
-
gem.add_dependency 'axe-core-api', '~> 4.1'
|
29
|
-
gem.add_dependency 'axe-core-rspec', '~> 4.1'
|
30
|
-
gem.add_dependency 'axe-core-selenium', '~> 4.1'
|
34
|
+
gem.add_dependency 'axe-core-api', '~> 4.1.0'
|
35
|
+
gem.add_dependency 'axe-core-rspec', '~> 4.1.0'
|
36
|
+
gem.add_dependency 'axe-core-selenium', '~> 4.1.0'
|
31
37
|
gem.add_dependency 'rspec', '~> 3.8'
|
32
|
-
gem.add_dependency 'safe_yaml', '~> 1.0.5'
|
33
38
|
gem.add_development_dependency 'bundler', '~> 1.17'
|
34
39
|
gem.add_development_dependency 'nokogiri', '~> 1.11.7'
|
35
40
|
gem.add_development_dependency 'pry', '~> 0.14.1'
|
36
41
|
gem.add_development_dependency 'rake', '~> 12.3'
|
37
42
|
gem.add_development_dependency 'simplecov', '~> 0.17'
|
38
43
|
end
|
39
|
-
# rubocop:enable Layout/ExtraSpacing, Layout/SpaceAroundOperators
|
44
|
+
# rubocop:enable Layout/ExtraSpacing, Layout/SpaceAroundOperators, Metrics/BlockLength
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stormbreaker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Watson
|
8
|
-
|
8
|
+
- Mikey Hargiss
|
9
|
+
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2021-
|
12
|
+
date: 2021-11-15 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: axe-core-api
|
@@ -16,42 +17,42 @@ dependencies:
|
|
16
17
|
requirements:
|
17
18
|
- - "~>"
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
+
version: 4.1.0
|
20
21
|
type: :runtime
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
25
|
- - "~>"
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
+
version: 4.1.0
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: axe-core-rspec
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
32
|
- - "~>"
|
32
33
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
+
version: 4.1.0
|
34
35
|
type: :runtime
|
35
36
|
prerelease: false
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
39
|
- - "~>"
|
39
40
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
+
version: 4.1.0
|
41
42
|
- !ruby/object:Gem::Dependency
|
42
43
|
name: axe-core-selenium
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
44
45
|
requirements:
|
45
46
|
- - "~>"
|
46
47
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
48
|
+
version: 4.1.0
|
48
49
|
type: :runtime
|
49
50
|
prerelease: false
|
50
51
|
version_requirements: !ruby/object:Gem::Requirement
|
51
52
|
requirements:
|
52
53
|
- - "~>"
|
53
54
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
+
version: 4.1.0
|
55
56
|
- !ruby/object:Gem::Dependency
|
56
57
|
name: rspec
|
57
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,20 +67,6 @@ dependencies:
|
|
66
67
|
- - "~>"
|
67
68
|
- !ruby/object:Gem::Version
|
68
69
|
version: '3.8'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: safe_yaml
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 1.0.5
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 1.0.5
|
83
70
|
- !ruby/object:Gem::Dependency
|
84
71
|
name: bundler
|
85
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,9 +137,10 @@ dependencies:
|
|
150
137
|
- - "~>"
|
151
138
|
- !ruby/object:Gem::Version
|
152
139
|
version: '0.17'
|
153
|
-
description:
|
140
|
+
description:
|
154
141
|
email:
|
155
142
|
- bwatson@instructure.com
|
143
|
+
- mhargiss@instructure.com
|
156
144
|
executables: []
|
157
145
|
extensions: []
|
158
146
|
extra_rdoc_files: []
|
@@ -176,12 +164,13 @@ files:
|
|
176
164
|
- lib/stormbreaker/version.rb
|
177
165
|
- lib/templates/results.erb
|
178
166
|
- stormbreaker.gemspec
|
179
|
-
homepage:
|
167
|
+
homepage:
|
180
168
|
licenses:
|
181
169
|
- MIT
|
182
170
|
metadata:
|
183
171
|
allowed_push_host: https://rubygems.org
|
184
|
-
|
172
|
+
rubygems_mfa_required: 'true'
|
173
|
+
post_install_message:
|
185
174
|
rdoc_options: []
|
186
175
|
require_paths:
|
187
176
|
- lib
|
@@ -196,8 +185,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
185
|
- !ruby/object:Gem::Version
|
197
186
|
version: '0'
|
198
187
|
requirements: []
|
199
|
-
rubygems_version: 3.
|
200
|
-
signing_key:
|
188
|
+
rubygems_version: 3.1.6
|
189
|
+
signing_key:
|
201
190
|
specification_version: 4
|
202
191
|
summary: Add axe assertions to expect statements by default in Ruby Selenium
|
203
192
|
test_files: []
|