capybara-screenshot-diff 1.5.1 → 1.5.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6fb821dc9a698d71be5e46d2eaff029a6733319a13b6d3430c701ee59a5911f1
4
- data.tar.gz: 8072442dd4dd6cd37fb234949da7d495339a1c0ef98077d5256ceb0433419b93
3
+ metadata.gz: 42b076d96f708968aefd367aa7796783cacc422ef7308797a6dc378ebeb6d864
4
+ data.tar.gz: 928f0e110d5122d43c265316d1bfb896a7ce42afbeb670c793cf0370cc4f1f18
5
5
  SHA512:
6
- metadata.gz: 17e51f966295496a2487888cec271bbd6855a0a6d6a6132a618d74778c35ebe0ad7e0cb130be76693bcc23d35c9b7bf0e7c74faa24b3799d634086daaca489aa
7
- data.tar.gz: bce762966d63a50dc04b5e7e3ffde8ad79d0d73cc7e9c817f194c7d8bb50b3d41f6dabb1e8d8973296dada8b15e051bc31492bf82a3fd78e2b65e0f1622404d6
6
+ metadata.gz: d20ac46b31cd2f00144987716823783056b887431a1c488c70682b9f73d7f9792c418fada2fe08cc1660ea8af33ecea1fd5eee108096c9eb4be545c735c8ab29
7
+ data.tar.gz: fecb76e28f028a0f9440df4295598ec34f7e7dd5649a95a95fba3b843cfe317581eed01a809fc45fe19378208197269b9c7ef6dc42844b93473589458cff804d
@@ -2,13 +2,13 @@ name: Test
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [ $default-branch ]
5
+ branches: [ master ]
6
6
  pull_request_target:
7
- branches: [ $default-branch ]
7
+ branches: [ master ]
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,20 +71,17 @@ jobs:
71
71
 
72
72
  strategy:
73
73
  matrix:
74
- ruby-version: [ '3.0', '2.7', '2.6', '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
- # exclude:
83
- # - ruby-version: '3.0'
84
- # gemfile: 'rails50_gems.rb'
85
- # - ruby-version: '3.0'
86
- # gemfile: 'rails42_gems.rb'
87
-
79
+ include:
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
88
85
  env:
89
86
  BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}
90
87
 
@@ -124,7 +121,7 @@ jobs:
124
121
  - name: Set up Ruby
125
122
  uses: ruby/setup-ruby@v1
126
123
  with:
127
- ruby-version: '2.7'
124
+ ruby-version: '3.0'
128
125
  bundler-cache: true
129
126
 
130
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"
@@ -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.1"
6
+ VERSION = "1.5.5"
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,13 @@ 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
+ if test_screenshot_errors.any?
84
+ e = ASSERTION.new(test_screenshot_errors.join("\n\n"))
85
+ e.set_backtrace(caller)
86
+ failures << e
87
+ end
77
88
  end
78
89
  end
79
90
  end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "capybara/screenshot/diff"
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.1
4
+ version: 1.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uwe Kubosch
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-24 00:00:00.000000000 Z
11
+ date: 2022-02-01 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,13 +85,12 @@ 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
93
+ - lib/capybara-screenshot-diff.rb
95
94
  - lib/capybara/screenshot/diff.rb
96
95
  - lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb
97
96
  - lib/capybara/screenshot/diff/drivers/utils.rb
@@ -124,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
123
  - !ruby/object:Gem::Version
125
124
  version: '0'
126
125
  requirements: []
127
- rubygems_version: 3.2.22
126
+ rubygems_version: 3.3.3
128
127
  signing_key:
129
128
  specification_version: 4
130
129
  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"