capybara-screenshot-diff 1.5.1 → 1.5.5

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: 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"