capybara-screenshot-diff 1.8.1 → 1.8.3

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: 87baa5dd7c412b251fbd55171a131700bada4ec3b3a09739b70482178fce85f6
4
- data.tar.gz: 18283f48c01a863c6af2d4a6ef6dce9f987868ad5d27978b3f1aa4f2feb81073
3
+ metadata.gz: 3e7e3bdfacb7c2fad912c72ade765c9ec6a50f306048a374d8056fc02c27d643
4
+ data.tar.gz: c1527905de61a1d801c545729d68b811ba91db5902c1ff209b4dc212fa252971
5
5
  SHA512:
6
- metadata.gz: 6295286f5267b8b956cb8d2f85599812567dae1b228ab9c15720d45fcf37a33a780cfaccbe9b2ab7ec350a99b3e2426594af4eb3b7e3aa4f158d0cba83bb7e26
7
- data.tar.gz: c7f891a279ffd74da9ebc3bd1c1f57966010914ff258d84ca62940e03b5efc11ed6b14f72beefc140127f11799c07be9b49a32d6b0bce63f9329cd5255730012
6
+ metadata.gz: c9c7868fe6d13263db039cf2a7fbb85234abee8f3bc05dd51fc5cc78579a96c1de3f2275782f5c806e9b154472ad51a991cfad1847a54d4811460597a3a4b8fe
7
+ data.tar.gz: 209f71e33b2b4bdead447293c0e286de6b6e1d945f4e12889e1b4f94675bb8bc035956f19a9897ceeedf278999598bb095991ecd34f2eaffa219d088ea19d577
@@ -74,12 +74,12 @@ module Capybara
74
74
 
75
75
  return false unless job
76
76
 
77
- test_caller = caller(skip_stack_frames)
77
+ job.prepend(caller[skip_stack_frames])
78
78
 
79
79
  if Screenshot::Diff.delayed
80
- schedule_match_job([test_caller] + job)
80
+ schedule_match_job(job)
81
81
  else
82
- error_msg = assert_image_not_changed(job.first, job.last)
82
+ error_msg = assert_image_not_changed(*job)
83
83
  if error_msg
84
84
  error = ASSERTION.new(error_msg)
85
85
  error.set_backtrace(caller(2))
@@ -88,7 +88,7 @@ module Capybara
88
88
  end
89
89
  end
90
90
 
91
- def assert_image_not_changed(name, comparison)
91
+ def assert_image_not_changed(caller, name, comparison)
92
92
  result = comparison.different?
93
93
 
94
94
  # Cleanup after comparisons
@@ -100,7 +100,7 @@ module Capybara
100
100
 
101
101
  return unless result
102
102
 
103
- "Screenshot does not match for '#{name}' #{comparison.error_message}"
103
+ "Screenshot does not match for '#{name}' #{comparison.error_message}\n#{caller}"
104
104
  end
105
105
 
106
106
  private
@@ -14,7 +14,11 @@ module Capybara
14
14
  redirect_target = "#{checkout_path} #{SILENCE_ERRORS}"
15
15
  show_command = "git show HEAD~0:./#{vcs_file_path}"
16
16
  if Screenshot.use_lfs
17
- `#{show_command} | git lfs smudge > #{redirect_target} ; exit ${PIPESTATUS[0]}`
17
+ `#{show_command} > #{checkout_path}.tmp #{SILENCE_ERRORS}`
18
+ if $CHILD_STATUS == 0
19
+ `git lfs smudge < #{checkout_path}.tmp > #{redirect_target}`
20
+ end
21
+ File.delete "#{checkout_path}.tmp"
18
22
  else
19
23
  `#{show_command} > #{redirect_target}`
20
24
  end
@@ -3,7 +3,7 @@
3
3
  module Capybara
4
4
  module Screenshot
5
5
  module Diff
6
- VERSION = "1.8.1"
6
+ VERSION = "1.8.3"
7
7
  end
8
8
  end
9
9
  end
@@ -80,7 +80,7 @@ module Capybara
80
80
 
81
81
  klass.teardown do
82
82
  if Screenshot.active? && @test_screenshots.present?
83
- track_failures(@test_screenshots, caller)
83
+ track_failures(@test_screenshots)
84
84
  @test_screenshots.clear
85
85
  end
86
86
  end
@@ -90,16 +90,16 @@ module Capybara
90
90
 
91
91
  EMPTY_LINE = "\n\n"
92
92
 
93
- def track_failures(screenshots, original_caller)
93
+ def track_failures(screenshots)
94
94
  test_screenshot_errors = screenshots.map do |caller, name, compare|
95
- assert_image_not_changed(name, compare)
95
+ assert_image_not_changed(caller, name, compare)
96
96
  end
97
97
 
98
98
  test_screenshot_errors.compact!
99
99
 
100
100
  unless test_screenshot_errors.empty?
101
101
  error = ASSERTION.new(test_screenshot_errors.join(EMPTY_LINE))
102
- error.set_backtrace(original_caller)
102
+ error.set_backtrace([])
103
103
 
104
104
  if is_a?(::Minitest::Runnable)
105
105
  failures << error
@@ -22,7 +22,7 @@ module Capybara
22
22
 
23
23
  private
24
24
 
25
- def track_failures: (Array[untyped] screenshots, (Array[String] | String) original_caller) -> void
25
+ def track_failures: (Array[untyped] screenshots) -> void
26
26
  end
27
27
  end
28
28
  end
@@ -28,7 +28,7 @@ module Capybara
28
28
 
29
29
  def screenshot: (name_entity name, ?skip_stack_frames: ::Integer, **untyped options) -> boolish
30
30
 
31
- def assert_image_not_changed: (String name, ImageCompare comparison) -> ::String?
31
+ def assert_image_not_changed: (String caller, String name, ImageCompare comparison) -> ::String?
32
32
 
33
33
  private
34
34
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara-screenshot-diff
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.1
4
+ version: 1.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uwe Kubosch
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-15 00:00:00.000000000 Z
11
+ date: 2023-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack