eyes_core 4.6.3 → 5.0.0

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: 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