capybara-screenshot-diff 1.5.0 → 1.5.4
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/.github/workflows/test.yml +10 -14
- data/.standard.yml +1 -1
- data/README.md +9 -0
- data/capybara-screenshot-diff.gemspec +1 -1
- data/gemfiles/{rails50.gemfile → rails70_gems.rb} +2 -1
- data/lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb +2 -2
- data/lib/capybara/screenshot/diff/test_methods.rb +1 -1
- data/lib/capybara/screenshot/diff/version.rb +1 -1
- data/lib/capybara/screenshot/diff.rb +8 -1
- metadata +6 -8
- data/gemfiles/rails42.gemfile +0 -7
- data/gemfiles/rails51.gemfile +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7998b17ac69245a3a92d010760c38be0e5b2bf20fec83bd61be2e8c3f5c1b461
|
4
|
+
data.tar.gz: 2678e49fa1cca11250b6b769266fa64c530b1ce4c9188870837984c90198da7e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56aab4eb5a71e8e53bf143aea30a06098f263b41577412f8d70fe717fa1948505ba54230d8bc9517104b45c7ec8d91dfb1d9619f188da8252511205b626b5a6a
|
7
|
+
data.tar.gz: 44fb6a78883d3e371fbc3ccaffe7856df05af6d7c9ca227be0cf53385d3405ae05d6fbc6bea08e40356027155f574c7f839b46715c31c60120d38f23201032c4
|
data/.github/workflows/test.yml
CHANGED
@@ -8,7 +8,7 @@ on:
|
|
8
8
|
pull_request:
|
9
9
|
|
10
10
|
env:
|
11
|
-
BUNDLE_GEMFILE: 'gemfiles/
|
11
|
+
BUNDLE_GEMFILE: 'gemfiles/rails70_gems.rb'
|
12
12
|
FERRUM_PROCESS_TIMEOUT: '15'
|
13
13
|
WD_CACHE_TIME: '864000' # 10 days
|
14
14
|
|
@@ -24,7 +24,7 @@ jobs:
|
|
24
24
|
- name: Set up Ruby
|
25
25
|
uses: ruby/setup-ruby@v1
|
26
26
|
with:
|
27
|
-
ruby-version: '
|
27
|
+
ruby-version: '3.0'
|
28
28
|
bundler-cache: true
|
29
29
|
|
30
30
|
- name: Run Standard Ruby linter
|
@@ -41,7 +41,7 @@ jobs:
|
|
41
41
|
- name: Set up Ruby
|
42
42
|
uses: ruby/setup-ruby@v1
|
43
43
|
with:
|
44
|
-
ruby-version: '
|
44
|
+
ruby-version: '3.0'
|
45
45
|
bundler-cache: true
|
46
46
|
|
47
47
|
- name: Install libvips
|
@@ -71,21 +71,17 @@ jobs:
|
|
71
71
|
|
72
72
|
strategy:
|
73
73
|
matrix:
|
74
|
-
ruby-version: [ '
|
74
|
+
ruby-version: [ '3.1', '3.0', '2.7', '2.6', 'jruby' ]
|
75
75
|
gemfile:
|
76
76
|
- 'rails61_gems.rb'
|
77
77
|
- 'rails60_gems.rb'
|
78
78
|
- 'rails52.gemfile'
|
79
|
-
- 'rails51.gemfile'
|
80
|
-
- 'rails50.gemfile'
|
81
|
-
- 'rails42.gemfile'
|
82
79
|
include:
|
83
|
-
- ruby-version:
|
84
|
-
gemfile:
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
80
|
+
- ruby-version: 2.7
|
81
|
+
gemfile: rails70_gems.rb
|
82
|
+
# NOTE: We are testing rails 7 + ruby 3 in the `test` job
|
83
|
+
# - ruby-version: 3.0
|
84
|
+
# gemfile: rails70_gems.rb
|
89
85
|
env:
|
90
86
|
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}
|
91
87
|
|
@@ -125,7 +121,7 @@ jobs:
|
|
125
121
|
- name: Set up Ruby
|
126
122
|
uses: ruby/setup-ruby@v1
|
127
123
|
with:
|
128
|
-
ruby-version: '
|
124
|
+
ruby-version: '3.0'
|
129
125
|
bundler-cache: true
|
130
126
|
|
131
127
|
- name: Install libvips
|
data/.standard.yml
CHANGED
data/README.md
CHANGED
@@ -67,6 +67,15 @@ describe 'Permissions admin', :type => :feature, :js => true do
|
|
67
67
|
|
68
68
|
end
|
69
69
|
```
|
70
|
+
But it's better to include it within your *_helper.rb file so that it can used anywhere in your feature specs.
|
71
|
+
```ruby
|
72
|
+
# spec/feature_helper.rb
|
73
|
+
require 'capybara/screenshot/diff'
|
74
|
+
|
75
|
+
RSpec.configure do |config|
|
76
|
+
config.include Capybara::Screenshot::Diff::TestMethods
|
77
|
+
end
|
78
|
+
```
|
70
79
|
|
71
80
|
### Taking screenshots
|
72
81
|
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
|
-
spec.add_runtime_dependency "actionpack", ">= 4.2", "<
|
23
|
+
spec.add_runtime_dependency "actionpack", ">= 4.2", "< 8"
|
24
24
|
spec.add_runtime_dependency "capybara", ">= 2", "< 4"
|
25
25
|
spec.add_runtime_dependency "chunky_png", "~> 1.3"
|
26
26
|
end
|
@@ -209,8 +209,8 @@ module Capybara
|
|
209
209
|
def find_left_right_and_top(old_img, new_img, region)
|
210
210
|
left = region[0] || old_img.width - 1
|
211
211
|
top = region[1]
|
212
|
-
|
213
|
-
|
212
|
+
right = region[2] || 0
|
213
|
+
bottom = region[3]
|
214
214
|
old_img.height.times do |y|
|
215
215
|
(0...left).find do |x|
|
216
216
|
next if same_color?(old_img, new_img, x, y)
|
@@ -82,7 +82,7 @@ module Capybara
|
|
82
82
|
|
83
83
|
# Allow nil or single or multiple areas
|
84
84
|
if driver_options[:skip_area]
|
85
|
-
driver_options[:skip_area] = driver_options[:skip_area].compact.flatten&.
|
85
|
+
driver_options[:skip_area] = driver_options[:skip_area].compact.flatten&.each_slice(4)&.to_a
|
86
86
|
end
|
87
87
|
|
88
88
|
if @screenshot_counter
|
@@ -55,6 +55,12 @@ module Capybara
|
|
55
55
|
mattr_accessor(:tolerance) { 0.001 }
|
56
56
|
|
57
57
|
AVAILABLE_DRIVERS = Utils.detect_available_drivers.freeze
|
58
|
+
begin
|
59
|
+
require "minitest"
|
60
|
+
ASSERTION = Minitest::Assertion
|
61
|
+
rescue
|
62
|
+
ASSERTION = RuntimeError
|
63
|
+
end
|
58
64
|
|
59
65
|
def self.included(klass)
|
60
66
|
klass.include TestMethods
|
@@ -72,8 +78,9 @@ module Capybara
|
|
72
78
|
if Capybara::Screenshot::Diff.enabled && @test_screenshots
|
73
79
|
test_screenshot_errors = @test_screenshots
|
74
80
|
.map { |caller, name, compare| assert_image_not_changed(caller, name, compare) }
|
81
|
+
@test_screenshots = nil # release the comparison objects from memory
|
75
82
|
test_screenshot_errors.compact!
|
76
|
-
|
83
|
+
raise ASSERTION, test_screenshot_errors.join("\n\n") if test_screenshot_errors.any?
|
77
84
|
end
|
78
85
|
end
|
79
86
|
end
|
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.5.
|
4
|
+
version: 1.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Uwe Kubosch
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '4.2'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '8'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '4.2'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '8'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: capybara
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -85,12 +85,10 @@ files:
|
|
85
85
|
- bin/setup
|
86
86
|
- bin/standardrb
|
87
87
|
- capybara-screenshot-diff.gemspec
|
88
|
-
- gemfiles/rails42.gemfile
|
89
|
-
- gemfiles/rails50.gemfile
|
90
|
-
- gemfiles/rails51.gemfile
|
91
88
|
- gemfiles/rails52.gemfile
|
92
89
|
- gemfiles/rails60_gems.rb
|
93
90
|
- gemfiles/rails61_gems.rb
|
91
|
+
- gemfiles/rails70_gems.rb
|
94
92
|
- gems.rb
|
95
93
|
- lib/capybara/screenshot/diff.rb
|
96
94
|
- lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb
|
@@ -124,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
122
|
- !ruby/object:Gem::Version
|
125
123
|
version: '0'
|
126
124
|
requirements: []
|
127
|
-
rubygems_version: 3.
|
125
|
+
rubygems_version: 3.3.3
|
128
126
|
signing_key:
|
129
127
|
specification_version: 4
|
130
128
|
summary: Track your GUI changes with diff assertions
|
data/gemfiles/rails42.gemfile
DELETED