eyes_core 3.16.16 → 3.17.0
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/applitools/core/accessibility_level.rb +34 -2
- data/lib/applitools/core/accessibility_region_type.rb +0 -2
- data/lib/applitools/core/eyes_base_configuration.rb +9 -1
- data/lib/applitools/core/eyes_configuration_dsl.rb +4 -4
- data/lib/applitools/core/image_match_settings.rb +11 -2
- data/lib/applitools/core/test_results.rb +20 -0
- data/lib/applitools/version.rb +1 -1
- 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: 3e542320871204f754110c7419d817feb2385f625dc0adff02c02fe33c42f876
|
4
|
+
data.tar.gz: c12ab16b92d42b54e1b925280efb94acf3e75a2bba2082bca89b5268ca1ada08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8de1e5421cf619b5978bfdf3264b72d8b1c563b22fd9ea6c3a02448dbe650a2787d18f8ffc8edeac8b2dfd94096a1ba20df5266bbff6a9e91a9bf9710a3e496e
|
7
|
+
data.tar.gz: ef0e7307e4062eaad4825547f0cc97df89295d57cc6510500bca365d92575e3afbf0af2db598f0667ba800dc0ce83e565fd3b55a6b071e8bdb3abd3c4ba47be0
|
@@ -3,12 +3,44 @@
|
|
3
3
|
module Applitools
|
4
4
|
module AccessibilityLevel
|
5
5
|
extend self
|
6
|
-
NONE = 'None'
|
7
6
|
AA = 'AA'
|
8
7
|
AAA = 'AAA'
|
9
8
|
|
10
9
|
def enum_values
|
11
|
-
[
|
10
|
+
[AA, AAA]
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
module AccessibilityGuidelinesVersion
|
15
|
+
extend self
|
16
|
+
WCAG_2_1 = 'WCAG_2_1'
|
17
|
+
WCAG_2_0 = 'WCAG_2_0'
|
18
|
+
def enum_values
|
19
|
+
[WCAG_2_0, WCAG_2_1]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class AccessibilitySettings
|
24
|
+
attr_reader :config_hash
|
25
|
+
attr_accessor :validation_errors
|
26
|
+
extend Applitools::EyesConfigurationDSL
|
27
|
+
|
28
|
+
enum_field :level, Applitools::AccessibilityLevel.enum_values
|
29
|
+
enum_field :version, Applitools::AccessibilityGuidelinesVersion.enum_values
|
30
|
+
|
31
|
+
def initialize(accessibility_level, guidelines_version)
|
32
|
+
@config_hash = {}
|
33
|
+
self.validation_errors = []
|
34
|
+
self.level = accessibility_level
|
35
|
+
self.version = guidelines_version
|
36
|
+
end
|
37
|
+
|
38
|
+
def to_h
|
39
|
+
@config_hash
|
40
|
+
end
|
41
|
+
|
42
|
+
def json_data
|
43
|
+
to_h
|
12
44
|
end
|
13
45
|
end
|
14
46
|
end
|
@@ -4,7 +4,6 @@ module Applitools
|
|
4
4
|
module AccessibilityRegionType
|
5
5
|
extend self
|
6
6
|
|
7
|
-
NONE = 'None'
|
8
7
|
IGNORE_CONTRAST = 'IgnoreContrast'
|
9
8
|
REGULAR_TEXT = 'RegularText'
|
10
9
|
LARGE_TEXT = 'LargeText'
|
@@ -13,7 +12,6 @@ module Applitools
|
|
13
12
|
|
14
13
|
def enum_values
|
15
14
|
[
|
16
|
-
NONE,
|
17
15
|
IGNORE_CONTRAST,
|
18
16
|
REGULAR_TEXT,
|
19
17
|
LARGE_TEXT,
|
@@ -20,7 +20,8 @@ module Applitools
|
|
20
20
|
ENV['bamboo_APPLITOOLS_SERVER_URL'] || Applitools::Connectivity::ServerConnector::DEFAULT_SERVER_URL,
|
21
21
|
api_key: ENV['APPLITOOLS_API_KEY'] || ENV['bamboo_APPLITOOLS_API_KEY'] || '',
|
22
22
|
save_new_tests: true,
|
23
|
-
default_match_settings: Applitools::ImageMatchSettings.new
|
23
|
+
default_match_settings: Applitools::ImageMatchSettings.new,
|
24
|
+
accessibility_validation: nil
|
24
25
|
}.freeze
|
25
26
|
|
26
27
|
class << self
|
@@ -109,6 +110,7 @@ module Applitools
|
|
109
110
|
int_field :scale
|
110
111
|
int_field :remainder
|
111
112
|
boolean_field :ignore_caret
|
113
|
+
object_field :accessibility_validation, Applitools::AccessibilitySettings, true
|
112
114
|
|
113
115
|
methods_to_delegate.delete(:batch_info)
|
114
116
|
methods_to_delegate.delete(:batch_info=)
|
@@ -161,6 +163,12 @@ module Applitools
|
|
161
163
|
default_match_settings.ignore_caret = value
|
162
164
|
end
|
163
165
|
|
166
|
+
def custom_setter_for_accessibility_validation(value)
|
167
|
+
# self.default_match_settings = self.parent.class.default_config[:default_match_settings] unless default_match_settings
|
168
|
+
default_match_settings.accessibility_validation = value
|
169
|
+
end
|
170
|
+
|
171
|
+
|
164
172
|
methods_to_delegate.push(:set_proxy)
|
165
173
|
end
|
166
174
|
end
|
@@ -62,7 +62,7 @@ module Applitools
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
def object_field(field_name, klass)
|
65
|
+
def object_field(field_name, klass, allow_nil = false)
|
66
66
|
collect_method field_name
|
67
67
|
define_method(field_name) do
|
68
68
|
return send("custom_getter_for_#{field_name}", config_hash[field_name.to_sym]) if
|
@@ -71,11 +71,11 @@ module Applitools
|
|
71
71
|
end
|
72
72
|
define_method("#{field_name}=") do |*args|
|
73
73
|
value = args.shift
|
74
|
-
unless value.is_a?
|
74
|
+
unless value.is_a?(klass)
|
75
75
|
raise(
|
76
76
|
Applitools::EyesIllegalArgument,
|
77
77
|
"Expected #{klass} but got #{value.class}"
|
78
|
-
)
|
78
|
+
) unless allow_nil && value.nil?
|
79
79
|
end
|
80
80
|
config_hash[field_name.to_sym] = value
|
81
81
|
config_hash[field_name.to_sym] = send("custom_setter_for_#{field_name}", config_hash[field_name.to_sym]) if
|
@@ -123,7 +123,7 @@ module Applitools
|
|
123
123
|
unless available_values_array.include? value
|
124
124
|
raise(
|
125
125
|
Applitools::EyesIllegalArgument,
|
126
|
-
"Unknown #{field_name} #{value}. Allowed
|
126
|
+
"Unknown #{field_name} #{value}. Allowed #{field_name} values: " \
|
127
127
|
"#{available_values_array.join(', ')}"
|
128
128
|
)
|
129
129
|
end
|
@@ -6,12 +6,12 @@ module Applitools
|
|
6
6
|
class ImageMatchSettings
|
7
7
|
include Applitools::Jsonable
|
8
8
|
include Applitools::MatchLevelSetter
|
9
|
-
json_fields :
|
9
|
+
json_fields :accessibilitySettings, :MatchLevel, :IgnoreCaret, :IgnoreDisplacements, :Accessibility,
|
10
10
|
:Ignore, :Floating, :Layout, :Strict, :Content, :Exact, :EnablePatterns, :UseDom,
|
11
11
|
:SplitTopHeight, :SplitBottomHeight, :scale, :remainder
|
12
12
|
|
13
13
|
def initialize
|
14
|
-
self.
|
14
|
+
self.accessibility_settings = nil
|
15
15
|
self.match_level = Applitools::MatchLevel::STRICT
|
16
16
|
self.split_top_height = 0
|
17
17
|
self.split_bottom_height = 0
|
@@ -49,6 +49,15 @@ module Applitools
|
|
49
49
|
cloned_value
|
50
50
|
end
|
51
51
|
|
52
|
+
def accessibility_validation
|
53
|
+
accessibility_settings
|
54
|
+
end
|
55
|
+
|
56
|
+
def accessibility_validation=(value)
|
57
|
+
raise Applitools::EyesIllegalArgument, "Expected value to be an Applitools::AccessibilitySettings instance but got #{value.class}" unless value.nil? || value.is_a?(Applitools::AccessibilitySettings)
|
58
|
+
self.accessibility_settings = value
|
59
|
+
end
|
60
|
+
|
52
61
|
class Exact
|
53
62
|
include Applitools::Jsonable
|
54
63
|
json_fields :MinDiffIntensity, :MinDiffWidth, :MinDiffHeight, :MatchThreshold
|
@@ -4,6 +4,18 @@ require 'yaml'
|
|
4
4
|
|
5
5
|
module Applitools
|
6
6
|
class TestResults
|
7
|
+
class AccessibilityStatus
|
8
|
+
attr_accessor :status, :level, :version
|
9
|
+
def initialize(hash = {})
|
10
|
+
self.status = hash['status']
|
11
|
+
self.level = hash['level']
|
12
|
+
self.version = hash['version']
|
13
|
+
end
|
14
|
+
|
15
|
+
def failed?
|
16
|
+
status.downcase == 'Failed'.downcase
|
17
|
+
end
|
18
|
+
end
|
7
19
|
attr_accessor :is_new, :url, :screenshot
|
8
20
|
attr_reader :status, :steps, :matches, :mismatches, :missing, :original_results
|
9
21
|
|
@@ -50,6 +62,14 @@ module Applitools
|
|
50
62
|
original_results['secretToken']
|
51
63
|
end
|
52
64
|
|
65
|
+
def name
|
66
|
+
original_results['name']
|
67
|
+
end
|
68
|
+
|
69
|
+
def session_accessibility_status
|
70
|
+
@accessibility_status ||= original_results['accessibilityStatus'] && AccessibilityStatus.new(original_results['accessibilityStatus'] || {})
|
71
|
+
end
|
72
|
+
|
53
73
|
def ==(other)
|
54
74
|
if other.is_a? self.class
|
55
75
|
result = true
|
data/lib/applitools/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eyes_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Applitools Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oily_png
|