dotdiff 3.0.1 → 4.0.0
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 +5 -5
- data/dotdiff.gemspec +1 -8
- data/lib/dotdiff/image/container.rb +7 -7
- data/lib/dotdiff/image/cropper.rb +12 -10
- data/lib/dotdiff/version.rb +1 -1
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c869fc9b85965913b4ba033845431a45f5a32f0b
|
4
|
+
data.tar.gz: db555b8adab6b02ac434cd6d490acf905a02b765
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7f2639b01603bfa39c611bbc04b464880b0e3332d510ea369c9b9b42da0f2cf3ca722d8612e4390f7d4e7d75674069a64773198fe41acf75b86cd2eb6962bad
|
7
|
+
data.tar.gz: b4a57a11512cf4ee9fa8f03f8bbedd8af8f729beb4d92fd0c27800c8a9ffc977bc7673397eb24c359273d2e76ee6a369f20de284006c2abd7cba18963102ac67
|
data/dotdiff.gemspec
CHANGED
@@ -4,14 +4,11 @@ lib = File.expand_path('lib', __dir__)
|
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
5
|
require 'dotdiff/version'
|
6
6
|
|
7
|
-
is_java = RUBY_PLATFORM == 'java'
|
8
|
-
|
9
7
|
Gem::Specification.new do |spec|
|
10
8
|
spec.name = 'dotdiff'
|
11
9
|
spec.version = DotDiff::VERSION
|
12
10
|
spec.authors = ['Jon Normington']
|
13
11
|
spec.email = ['jnormington@users.noreply.github.com']
|
14
|
-
spec.platform = 'java' if is_java
|
15
12
|
|
16
13
|
spec.summary = 'Image regression wrapper for Capybara and RSpec using image'\
|
17
14
|
'magick supporting both MRI and JRuby versions'
|
@@ -25,11 +22,7 @@ Gem::Specification.new do |spec|
|
|
25
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
26
23
|
spec.require_paths = ['lib']
|
27
24
|
|
28
|
-
|
29
|
-
spec.add_runtime_dependency 'rmagick4j', '>= 0.4.0'
|
30
|
-
else
|
31
|
-
spec.add_runtime_dependency 'rmagick', '>= 2.15'
|
32
|
-
end
|
25
|
+
spec.add_runtime_dependency 'mini_magick', '>= 4.11.0'
|
33
26
|
|
34
27
|
spec.add_development_dependency 'bundler', '>= 2'
|
35
28
|
spec.add_development_dependency 'capybara', '>= 2.6'
|
@@ -9,19 +9,19 @@ module DotDiff
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def both_images_same_dimensions?
|
12
|
-
base_image.
|
13
|
-
base_image.
|
12
|
+
base_image.width == new_image.width &&
|
13
|
+
base_image.height == new_image.height
|
14
14
|
end
|
15
15
|
|
16
16
|
def total_pixels
|
17
|
-
base_image.
|
17
|
+
base_image.width * base_image.height
|
18
18
|
end
|
19
19
|
|
20
20
|
def dimensions_mismatch_msg
|
21
21
|
<<~MSG
|
22
22
|
Images are not the same dimensions to be compared
|
23
|
-
Base file: #{base_image.
|
24
|
-
New file: #{new_image.
|
23
|
+
Base file: #{base_image.width}x#{base_image.height}
|
24
|
+
New file: #{new_image.width}x#{new_image.height}
|
25
25
|
MSG
|
26
26
|
end
|
27
27
|
|
@@ -30,11 +30,11 @@ module DotDiff
|
|
30
30
|
attr_reader :baseimg_file, :newimg_file
|
31
31
|
|
32
32
|
def base_image
|
33
|
-
@base_image ||=
|
33
|
+
@base_image ||= MiniMagick::Image.open(baseimg_file)
|
34
34
|
end
|
35
35
|
|
36
36
|
def new_image
|
37
|
-
@new_image ||=
|
37
|
+
@new_image ||= MiniMagick::Image.open(newimg_file)
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
@@ -1,29 +1,31 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'mini_magick'
|
4
4
|
|
5
5
|
module DotDiff
|
6
6
|
module Image
|
7
7
|
module Cropper
|
8
8
|
def crop_and_resave(element)
|
9
9
|
image = load_image(fullscreen_file)
|
10
|
-
image.crop!(
|
11
|
-
element.rectangle.x.floor,
|
12
|
-
element.rectangle.y.floor,
|
13
|
-
width(element, image),
|
14
|
-
height(element, image)
|
15
|
-
)
|
16
10
|
|
11
|
+
# @see http://www.imagemagick.org/script/command-line-options.php?#crop
|
12
|
+
crop_area =
|
13
|
+
'' + width(element, image).to_s +
|
14
|
+
'x' + height(element, image).to_s +
|
15
|
+
'+' + element.rectangle.x.floor.to_s +
|
16
|
+
'+' + element.rectangle.y.floor.to_s
|
17
|
+
|
18
|
+
image.crop crop_area
|
17
19
|
image.write(cropped_file)
|
18
20
|
end
|
19
21
|
|
20
22
|
def load_image(file)
|
21
|
-
|
23
|
+
MiniMagick::Image.open(file)
|
22
24
|
end
|
23
25
|
|
24
26
|
def height(element, image)
|
25
27
|
element_height = element.rectangle.height + element.rectangle.y
|
26
|
-
image_height = image.
|
28
|
+
image_height = image.height
|
27
29
|
|
28
30
|
if element_height > image_height
|
29
31
|
image_height - element.rectangle.y
|
@@ -34,7 +36,7 @@ module DotDiff
|
|
34
36
|
|
35
37
|
def width(element, image)
|
36
38
|
element_width = element.rectangle.width + element.rectangle.x
|
37
|
-
image_width = image.
|
39
|
+
image_width = image.width
|
38
40
|
|
39
41
|
if element_width > image_width
|
40
42
|
image_width - element.rectangle.x
|
data/lib/dotdiff/version.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dotdiff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Normington
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: mini_magick
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.11.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.11.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,7 +118,7 @@ homepage: https://github.com/jnormington/dotdiff
|
|
118
118
|
licenses:
|
119
119
|
- MIT
|
120
120
|
metadata: {}
|
121
|
-
post_install_message:
|
121
|
+
post_install_message:
|
122
122
|
rdoc_options: []
|
123
123
|
require_paths:
|
124
124
|
- lib
|
@@ -133,8 +133,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '0'
|
135
135
|
requirements: []
|
136
|
-
|
137
|
-
|
136
|
+
rubyforge_project:
|
137
|
+
rubygems_version: 2.6.14.4
|
138
|
+
signing_key:
|
138
139
|
specification_version: 4
|
139
140
|
summary: Image regression wrapper for Capybara and RSpec using imagemagick supporting
|
140
141
|
both MRI and JRuby versions
|