eyes_core 4.1.1 → 4.1.2

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: c116a6e522739b1716552ad9e5c33e64b19c9a3f5bf4f0adef899d5384813647
4
- data.tar.gz: b2fcacf6df345e0b2c74f428c64883cca0e5f38468f330ff0ea26c29793f4e7a
3
+ metadata.gz: 0de07c4333f2eb419422f6701bd0b853777072aa408f59390088f644bc8ccc21
4
+ data.tar.gz: 1f67f9079dde416580f1726473b491fa0094ecb10a0dc2bdb7f4fce6c2fb29a8
5
5
  SHA512:
6
- metadata.gz: 677efbddf2a5eab5e782e08a8eeb6f9107aa7bd40ecf96509688cd67205d767093fa48da27a21ec24a6fe0fef0f223d22150773fee985fb2699abf74b3238780
7
- data.tar.gz: 3dc4ebbf3e97e32c1d15b809ed78f48011de9b7e2cfe49114a683d73ce0cd3b26167101c8e419d8253c0f71278d34e43a014db256605d9cf622747a5cc885967
6
+ metadata.gz: c0b840e04ecb9ba7c933ba861bc20967f854a2efa9549ab8a827b6a12d9de10508dcc1b6e07453da3c6fdb2655d9ab7726037ad4a98595dc2eabe4a622451555
7
+ data.tar.gz: e2ba459ea74622bd29ae5b9142636097c322e1fd319fcf6c1be4add444dc5104292f34b9dc8acec8f5c739c5fa122869c5267f5964f4ed861d64d23ca51937aa
@@ -23,5 +23,15 @@ module Applitools
23
23
 
24
24
  ZERO_PADDING = PaddingBounds.new(0, 0, 0, 0).freeze
25
25
  PIXEL_PADDING = PaddingBounds.new(1, 1, 1, 1).freeze
26
+
27
+ def to_hash
28
+ {
29
+ left: padding_left,
30
+ top: padding_top,
31
+ right: padding_right,
32
+ bottom: padding_bottom
33
+ }
34
+ end
35
+
26
36
  end
27
37
  end
@@ -234,10 +234,54 @@ module Applitools::Connectivity
234
234
  end
235
235
  end
236
236
 
237
+ def get_command_result(name, key)
238
+ web_socket_result = receive_result(name)
239
+ results = convert_web_socket_result(web_socket_result)
240
+
241
+ this_key_responses, other_responses = results.partition {|h| h['name'] === name && h['key'] === key}
242
+ process_other_responses other_responses
243
+
244
+ if this_key_responses.empty?
245
+ get_command_result(name, key)
246
+ elsif this_key_responses.size === 1
247
+ convert_responses(this_key_responses)
248
+ else # size > 1
249
+ raise Applitools::EyesError.new "Result mismatch : #{name} #{key} (#{this_key_responses})"
250
+ end
251
+ end
252
+
253
+ def convert_web_socket_result(web_socket_result)
254
+ encoded_frame = WebSocket::Frame::Incoming::Client.new(version: @handshake_version)
255
+ encoded_frame << web_socket_result
256
+ decoded_frames = []
257
+ until (decoded_frame = encoded_frame.next).nil?
258
+ decoded_frames.push(decoded_frame)
259
+ end
260
+ decoded_frames.map {|frame| JSON.parse(frame.to_s)}
261
+ end
262
+
263
+ def process_other_responses(other_responses)
264
+ other_responses.each do |incoming_json|
265
+ if incoming_json['name'] === 'Server.log'
266
+ if ENV['APPLITOOLS_SHOW_UNIVERSAL_LOGS']
267
+ Applitools::EyesLogger.logger.debug "[Server.log] #{incoming_json['payload']['message']}"
268
+ end
269
+ else
270
+ Applitools::EyesLogger.logger.info "[Server.info] #{incoming_json}"
271
+ end
272
+ end
273
+ end
274
+
275
+ def convert_responses(one_response_array)
276
+ incoming_json = one_response_array.first
277
+ incoming_payload = incoming_json['payload']
278
+ result = incoming_payload.key?('error') ? incoming_payload['error'] : incoming_payload['result']
279
+ Applitools::Utils.deep_symbolize_keys result
280
+ end
281
+
237
282
  def command_with_result name, payload, key = SecureRandom.uuid
238
283
  command(name, payload, key)
239
- web_socket_result = receive_result(name)
240
- format_result(name, key, web_socket_result)
284
+ get_command_result(name, key)
241
285
  end
242
286
 
243
287
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Applitools
4
- VERSION = '4.1.1'.freeze
5
- UNIVERSAL_VERSION = '2.8.0'.freeze
4
+ VERSION = '4.1.2'.freeze
5
+ UNIVERSAL_VERSION = '2.9.5'.freeze
6
6
  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.1.1
4
+ version: 4.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Applitools Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-16 00:00:00.000000000 Z
11
+ date: 2022-07-07 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: 2.8.0
117
+ version: 2.9.5
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: 2.8.0
124
+ version: 2.9.5
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler
127
127
  requirement: !ruby/object:Gem::Requirement