stormbreaker 0.0.1 → 0.0.5
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 464eab86bf4e953ef2b5db23fcd2f6ac74b8b91efd34d29b6a52e850d8083ba5
|
4
|
+
data.tar.gz: 707b8e18937bbd3a69c0d4525302a85ea26623f82b2f0eb5dc16b46d61c78d02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81e3be1cea0dfc0788320acd519f73fca09384e18e645d1f07ca4cac183433cd4d784c9fce965c5dc54278f55f99462051305090fbe2801ca420e6c9774cd806
|
7
|
+
data.tar.gz: 811d0987f71e9c46d20964c03c26210f83c673e3a9a06e2f4bf4d1b3cee5ecd0247706d080542edd15b1d0ec5459f30a68bfb67207ce796520dc327b9d0cdd58
|
@@ -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)
|
@@ -16,19 +16,15 @@ module Stormbreaker
|
|
16
16
|
puts "Serialized results written to #{filename}"
|
17
17
|
end
|
18
18
|
|
19
|
-
def self.combine_results(path = Dir.pwd)
|
20
|
-
prefix
|
21
|
-
results_files = Dir.glob("#{prefix}*"
|
22
|
-
raise "No results matching /#{prefix}
|
19
|
+
def self.combine_results(path = Dir.pwd, prefix = nil)
|
20
|
+
prefix ||= Stormbreaker.configuration.serialize_prefix
|
21
|
+
results_files = Dir.glob(File.join(path, "#{prefix}*"))
|
22
|
+
raise "No results matching /#{prefix}* found in #{path}" if results_files.empty?
|
23
23
|
|
24
24
|
combined_manager = Stormbreaker::AxeViolationManager.new
|
25
25
|
results_files.each do |file|
|
26
|
-
|
27
|
-
|
28
|
-
# have to patch settings to use safe_load and potentially endanger consuming apps.
|
29
|
-
total_violations = YAML.load(File.read(File.join(path, file)),
|
30
|
-
safe: true, whitelisted_tags: ALLOWED_TAGS, deserialize_symbols: true)
|
31
|
-
# rubocop:enable Security/YAMLLoad
|
26
|
+
puts "Loading #{file}"
|
27
|
+
total_violations = YAML.safe_load(File.read(file), permitted_classes: ALLOWED_CLASSES, aliases: true)
|
32
28
|
total_violations.each do |violation|
|
33
29
|
combined_manager.add_failure_to_total(violation)
|
34
30
|
end
|
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
namespace :stormbreaker do
|
4
4
|
desc 'Combines results that were created from isolated test runs'
|
5
|
-
task :combine_results, %i[path] do |_t, args|
|
5
|
+
task :combine_results, %i[path prefix] do |_t, args|
|
6
6
|
require_relative '../../stormbreaker'
|
7
|
-
manager = Stormbreaker::AxeResultsSerializer.combine_results(args[:path])
|
7
|
+
manager = Stormbreaker::AxeResultsSerializer.combine_results(args[:path], args[:prefix])
|
8
8
|
erb_writer = Stormbreaker::ErbFormatter.new(manager.total_violations)
|
9
9
|
erb_writer.write_to_erb
|
10
10
|
end
|
data/lib/stormbreaker/version.rb
CHANGED
data/stormbreaker.gemspec
CHANGED
@@ -25,11 +25,10 @@ Gem::Specification.new do |gem|
|
|
25
25
|
gem.metadata['allowed_push_host'] = 'https://rubygems.org'
|
26
26
|
gem.required_ruby_version = '>= 2.6'
|
27
27
|
|
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'
|
28
|
+
gem.add_dependency 'axe-core-api', '~> 4.1.0'
|
29
|
+
gem.add_dependency 'axe-core-rspec', '~> 4.1.0'
|
30
|
+
gem.add_dependency 'axe-core-selenium', '~> 4.1.0'
|
31
31
|
gem.add_dependency 'rspec', '~> 3.8'
|
32
|
-
gem.add_dependency 'safe_yaml', '~> 1.0.5'
|
33
32
|
gem.add_development_dependency 'bundler', '~> 1.17'
|
34
33
|
gem.add_development_dependency 'nokogiri', '~> 1.11.7'
|
35
34
|
gem.add_development_dependency 'pry', '~> 0.14.1'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Watson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: axe-core-api
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: axe-core-rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 4.1.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 4.1.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: axe-core-selenium
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 4.1.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 4.1.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
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
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: bundler
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|