capybara-screenshot-diff 1.5.0 → 1.5.4

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: 7ea29ec1e5ab38bc1c6eb4eafb7f01bb6fbbf2ca85ea7bbbc8f19dc1bbe9f101
4
- data.tar.gz: 71150ea0adabe29276710229034975d66ba9d7029913a6af618e3a1b91d2a6bb
3
+ metadata.gz: 7998b17ac69245a3a92d010760c38be0e5b2bf20fec83bd61be2e8c3f5c1b461
4
+ data.tar.gz: 2678e49fa1cca11250b6b769266fa64c530b1ce4c9188870837984c90198da7e
5
5
  SHA512:
6
- metadata.gz: 3019d948c07af6e81fc4b54afc98f1ca17565995e8028edc0120127db530d651dcc2cab950df0696ddcdc4964181d05776cf7fe01e616e6e06225a17ba3fe8a5
7
- data.tar.gz: 863ee41be9dc9b37311a14ab9eb279230ed7f123f82adee3e644ab558f60921619106d32e0b125857684baea74deadb18c5b3ea70b5691ed2efbc0fdfddf34c4
6
+ metadata.gz: 56aab4eb5a71e8e53bf143aea30a06098f263b41577412f8d70fe717fa1948505ba54230d8bc9517104b45c7ec8d91dfb1d9619f188da8252511205b626b5a6a
7
+ data.tar.gz: 44fb6a78883d3e371fbc3ccaffe7856df05af6d7c9ca227be0cf53385d3405ae05d6fbc6bea08e40356027155f574c7f839b46715c31c60120d38f23201032c4
@@ -8,7 +8,7 @@ on:
8
8
  pull_request:
9
9
 
10
10
  env:
11
- BUNDLE_GEMFILE: 'gemfiles/rails61_gems.rb'
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: '2.7'
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: '2.7'
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: [ '2.7', '2.6', '2.5', 'jruby' ]
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: '3.0'
84
- gemfile: 'rails61_gems.rb'
85
- - ruby-version: '3.0'
86
- gemfile: 'rails60_gems.rb'
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: '2.7'
124
+ ruby-version: '3.0'
129
125
  bundler-cache: true
130
126
 
131
127
  - name: Install libvips
data/.standard.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  fix: true # default: false
2
2
  parallel: true # default: false
3
3
  format: progress # default: Standard::Formatter
4
- ruby_version: 2.5 # default: RUBY_VERSION
4
+ ruby_version: 2.6 # default: RUBY_VERSION
5
5
  default_ignores: false # default: true
6
6
 
7
7
  ignore: # default: []
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", "< 7"
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
@@ -3,4 +3,5 @@
3
3
  gems = "#{File.dirname __dir__}/gems.rb"
4
4
  eval File.read(gems), binding, gems
5
5
 
6
- gem "actionpack", "~>5.0.1"
6
+ gem "actionpack", "~> 7.0", "< 7.1"
7
+ gem "capybara", ">= 3.26"
@@ -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
- bottom = region[2]
213
- right = region[3] || 0
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&.each_cons(4)&.to_a
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
@@ -3,7 +3,7 @@
3
3
  module Capybara
4
4
  module Screenshot
5
5
  module Diff
6
- VERSION = "1.5.0"
6
+ VERSION = "1.5.4"
7
7
  end
8
8
  end
9
9
  end
@@ -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
- fail(test_screenshot_errors.join("\n\n")) if test_screenshot_errors.any?
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.0
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: 2020-12-30 00:00:00.000000000 Z
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: '7'
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: '7'
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.1.4
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
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- gems = "#{File.dirname __dir__}/gems.rb"
4
- eval File.read(gems), binding, gems
5
-
6
- gem "actionpack", "~>4.2.7"
7
- gem "bigdecimal", "<2", platform: :mri
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- gems = "#{File.dirname __dir__}/gems.rb"
4
- eval File.read(gems), binding, gems
5
-
6
- gem "actionpack", "~>5.1.2"