eyes_core 4.6.3 → 5.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc9edfb9472508be4eef5a0b90e465af508088a242e65702b778cc29fe3ae9ba
4
- data.tar.gz: d886d03648fe73af72be41ae4d04f8cec2b4fdc0f956f1c753a3b7cc21144c04
3
+ metadata.gz: 427cc6b949eee41b5d27bd6035ab8f45f3e07ab9a223135610abb6686b0dc033
4
+ data.tar.gz: dbfea6d80382744eb6b11d73c3af6efaae394c548cd5f40ad1d881496dcb2783
5
5
  SHA512:
6
- metadata.gz: 5bc0945cc30ee39e4a9b7648e02d7a2c84a8f5b96fbbc98855d7669c290a3995347f6c06d703efa65006851c16f116353b4940440353c45acec9c1c56a4656c2
7
- data.tar.gz: ef53eba834af0a0c7e7db66437d31a26a669c68a14885f43b2f0a86c4c1099e32258c51b1bca7a1e9bbfd00361db3f12cad3b348c249c8b424a71a5f856599c1
6
+ metadata.gz: b95422b1a161eac1d25d3d5a6832f7c0adfb5a6c486f677ce846e8b892834f5b6cfbb65343eeaaebb9de6bfb04bd30772a5f5aa3bc058232049defdad1091ed4
7
+ data.tar.gz: 30f0a30d3828167b092b9139382232be8e75ca27df58a4942da49a2c64f93efe65a6fdd42b3b145c7b081113f432866fe3d73e5031ba9e4a6c3893c058708127
@@ -31,9 +31,7 @@ module Applitools
31
31
  end
32
32
  # return all_test_results unless all_test_results.empty?
33
33
  all_universal_results = close_all_eyes
34
- test_result_summary = Applitools::TestResultSummary.new(all_universal_results).old_style_results_array
35
- return [] if test_result_summary.reject { |tr| tr.aborted? }.empty?
36
- test_result_summary
34
+ Applitools::TestResultSummary.new(all_universal_results)
37
35
  end
38
36
 
39
37
  def rendering_info(connector)
@@ -213,10 +213,10 @@ module Applitools
213
213
  end
214
214
 
215
215
 
216
- if running_session.nil?
217
- logger.info 'Closed'
218
- return false
219
- end
216
+ # if running_session.nil?
217
+ # logger.info 'Closed'
218
+ # return false
219
+ # end
220
220
 
221
221
  logger.info 'Aborting server session...'
222
222
  universal_sdk_abort
@@ -207,7 +207,9 @@ module Applitools
207
207
 
208
208
  # layoutBreakpoints?: boolean | number[]
209
209
  def layout_breakpoints=(value)
210
- config_hash[:layout_breakpoints] = (value.is_a?(Array) && value.all? {|v| v.is_a?(Numeric)}) ? value : !!value
210
+ config_hash[:layout_breakpoints] = value if value === true || value === false
211
+ config_hash[:layout_breakpoints] = value if value.is_a?(Array) && value.all? {|v| v.is_a?(Numeric)}
212
+ config_hash[:layout_breakpoints] = value if value.is_a?(Hash)
211
213
  end
212
214
  def layout_breakpoints
213
215
  config_hash[:layout_breakpoints]
@@ -2,11 +2,14 @@
2
2
 
3
3
  module Applitools
4
4
  class TestResultSummary
5
+ extend Forwardable
5
6
  attr_accessor :results, :passed, :unresolved, :failed, :exceptions, :mismatches, :missing, :matches
6
7
  attr_accessor :original_test_results
8
+ def_delegators :results, :[], :length
9
+
7
10
  def initialize(all_test_results)
8
11
  @original_test_results = all_test_results
9
- @results = all_test_results[:results]
12
+ @results = all_test_results[:results].map {|r| Applitools::TestResults.new(r) }
10
13
  @passed = all_test_results[:passed]
11
14
  @unresolved = all_test_results[:unresolved]
12
15
  @failed = all_test_results[:failed]
@@ -16,12 +19,9 @@ module Applitools
16
19
  @matches = all_test_results[:matches]
17
20
  end
18
21
 
19
- def old_style_results_array
20
- Applitools::Utils.deep_stringify_keys(results).map do |e|
21
- r = e['result'] ? e['result'] : {}
22
- r['isAborted'] = true unless e['error'].nil? # fix for get_all_test_results
23
- Applitools::TestResults.new(r)
24
- end
22
+ def to_a
23
+ @results
25
24
  end
25
+
26
26
  end
27
27
  end
@@ -17,9 +17,12 @@ module Applitools
17
17
  end
18
18
  end
19
19
  attr_accessor :is_new, :url, :screenshot
20
- attr_reader :status, :steps, :matches, :mismatches, :missing, :original_results
20
+ attr_reader :status, :steps, :matches, :mismatches, :missing, :original_results, :browser_info, :renderer
21
21
 
22
- def initialize(results = {})
22
+ def initialize(init_results = {})
23
+ @renderer = Applitools::Utils.deep_stringify_keys(Applitools::Utils.underscore_hash_keys(init_results[:renderer]))
24
+ @browser_info = JSON.parse(@renderer.to_json, object_class: OpenStruct)
25
+ results = Applitools::Utils.deep_stringify_keys(init_results[:result] ? init_results[:result] : init_results)
23
26
  @original_results = results
24
27
  @steps = results.fetch('steps', 0)
25
28
  @matches = results.fetch('matches', 0)
@@ -30,6 +33,10 @@ module Applitools
30
33
  @url = results.fetch('url', nil)
31
34
  end
32
35
 
36
+ def test_results
37
+ self
38
+ end
39
+
33
40
  def passed?
34
41
  status == 'Passed'
35
42
  end
@@ -51,7 +58,7 @@ module Applitools
51
58
  end
52
59
 
53
60
  def aborted?
54
- original_results['isAborted']
61
+ original_results['isAborted'] || !errors.nil?
55
62
  end
56
63
 
57
64
  def api_session_url
@@ -66,6 +73,10 @@ module Applitools
66
73
  original_results['name']
67
74
  end
68
75
 
76
+ def errors
77
+ original_results['error']
78
+ end
79
+
69
80
  def session_accessibility_status
70
81
  @accessibility_status ||= original_results['accessibilityStatus'] && AccessibilityStatus.new(original_results['accessibilityStatus'] || {})
71
82
  end
@@ -61,6 +61,7 @@ module Applitools
61
61
  end
62
62
  # raise Applitools::EyesNotOpenException.new('Eyes not open!') if @eyes.nil?
63
63
  return if @universal_eyes.nil?
64
+ closed_or_aborted = @universal_eyes.closed_or_aborted
64
65
  @universal_eyes.abort
65
66
  result = @universal_eyes.eyes_get_results
66
67
  result = result[0] if result.is_a?(Array)
@@ -72,6 +73,8 @@ module Applitools
72
73
  # require('pry')
73
74
  # binding.pry
74
75
  end
76
+ return nil if closed_or_aborted
77
+ Applitools::Utils.deep_stringify_keys(result)
75
78
  end
76
79
 
77
80
  private
@@ -6,9 +6,12 @@ module Applitools
6
6
  extend Forwardable
7
7
  def_delegators 'Applitools::EyesLogger', :logger
8
8
 
9
+ attr_accessor :closed_or_aborted
10
+
9
11
  def initialize(eyes, universal_client)
10
12
  @eyes = eyes
11
13
  @universal_client = universal_client
14
+ @closed_or_aborted = false
12
15
  end
13
16
 
14
17
  def check(settings, image_target = {})
@@ -21,10 +24,12 @@ module Applitools
21
24
  end
22
25
 
23
26
  def close
27
+ @closed_or_aborted = true
24
28
  @universal_client.eyes_close(@eyes)
25
29
  end
26
30
 
27
31
  def abort
32
+ @closed_or_aborted = true
28
33
  @universal_client.eyes_abort(@eyes)
29
34
  end
30
35
 
@@ -38,7 +38,7 @@ module Applitools
38
38
  end
39
39
 
40
40
  def close_all_eyes(remove_duplicate_tests)
41
- @opened_eyes.each {|universal_eye| universal_eye.close }
41
+ @opened_eyes.each {|universal_eye| universal_eye.closed_or_aborted = true }
42
42
  @universal_client.eyes_manager_close_all_eyes(@manager, remove_duplicate_tests)
43
43
  end
44
44
 
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Applitools
4
- VERSION = '4.6.3'.freeze
5
- IMAGES_VERSION = '4.2.3'.freeze
6
- UNIVERSAL_VERSION = '3.3.3'.freeze
7
- UNIVERSAL_CORE_VERSION = '3.4.0'.freeze
4
+ VERSION = '5.0.0'.freeze
5
+ IMAGES_VERSION = '5.0.0'.freeze
6
+ UNIVERSAL_VERSION = '3.6.0'.freeze
7
+ UNIVERSAL_CORE_VERSION = '3.6.0'.freeze
8
8
  end
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: 4.6.3
4
+ version: 5.0.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: 2023-07-05 00:00:00.000000000 Z
11
+ date: 2023-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 3.3.3
117
+ version: 3.6.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 3.3.3
124
+ version: 3.6.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler
127
127
  requirement: !ruby/object:Gem::Requirement