mojo_magick 0.5.6 → 0.5.7
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/.ruby-version +1 -1
- data/Gemfile.lock +19 -10
- data/README.md +1 -0
- data/Rakefile +6 -13
- data/examples/animated_gif.rb +1 -2
- data/examples/composite.rb +1 -2
- data/init.rb +1 -3
- data/lib/image_magick/fonts.rb +4 -4
- data/lib/image_magick/resource_limits.rb +43 -48
- data/lib/initializers/hash.rb +5 -1
- data/lib/mojo_magick.rb +59 -67
- data/lib/mojo_magick/command_status.rb +2 -1
- data/lib/mojo_magick/errors.rb +1 -1
- data/lib/mojo_magick/font.rb +4 -6
- data/lib/mojo_magick/opt_builder.rb +12 -12
- data/lib/mojo_magick/util/parser.rb +24 -28
- data/lib/mojo_magick/version.rb +1 -1
- data/mojo_magick.gemspec +19 -18
- data/test/font_test.rb +19 -25
- data/test/fonts_test.rb +4 -5
- data/test/mojo_magick_test.rb +277 -283
- data/test/opt_builder_test.rb +11 -14
- data/test/parser_test.rb +15 -16
- data/test/resource_limits_test.rb +14 -16
- data/test/test_helper.rb +3 -3
- metadata +21 -7
data/test/opt_builder_test.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
-
require File
|
2
|
-
|
3
|
-
class MojoMagickOptBuilderTest < MiniTest::Unit::TestCase
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
4
2
|
|
3
|
+
class MojoMagickOptBuilderTest < MiniTest::Test
|
5
4
|
# These tests make the assumption that if we call #raw_command with the
|
6
5
|
# correct strings, ImageMagick itself will operate correctly. We're only
|
7
6
|
# verifying that the option builder produces the correct strings
|
@@ -12,7 +11,7 @@ class MojoMagickOptBuilderTest < MiniTest::Unit::TestCase
|
|
12
11
|
|
13
12
|
def test_annotate
|
14
13
|
@builder.annotate 'blah'
|
15
|
-
assert_equal
|
14
|
+
assert_equal '-annotate 0 blah', @builder.to_s
|
16
15
|
end
|
17
16
|
|
18
17
|
def test_annotate_with_escapeable_string
|
@@ -37,7 +36,7 @@ class MojoMagickOptBuilderTest < MiniTest::Unit::TestCase
|
|
37
36
|
assert_equal '\( -background red \) \( -background blue \)', b.to_s
|
38
37
|
end
|
39
38
|
|
40
|
-
def test_option_builder_with_hex_colors
|
39
|
+
def test_option_builder_with_hex_colors
|
41
40
|
b = MojoMagick::OptBuilder.new
|
42
41
|
b.background '#000000'
|
43
42
|
assert_equal '-background "#000000"', b.to_s
|
@@ -69,7 +68,7 @@ class MojoMagickOptBuilderTest < MiniTest::Unit::TestCase
|
|
69
68
|
|
70
69
|
# Treats an array of raw data as different arguments
|
71
70
|
b = MojoMagick::OptBuilder.new
|
72
|
-
b << ['leave this data','alone']
|
71
|
+
b << ['leave this data', 'alone']
|
73
72
|
assert_equal 'leave this data alone', b.to_s
|
74
73
|
|
75
74
|
# String includes command arguments
|
@@ -116,17 +115,15 @@ class MojoMagickOptBuilderTest < MiniTest::Unit::TestCase
|
|
116
115
|
assert_equal 'binary data', f.read
|
117
116
|
end
|
118
117
|
|
119
|
-
#label for text should use 'label:"the string"' if specified
|
120
|
-
[[
|
121
|
-
[
|
122
|
-
[
|
123
|
-
[
|
124
|
-
[
|
125
|
-
|
118
|
+
# label for text should use 'label:"the string"' if specified
|
119
|
+
[%w[mylabel mylabel],
|
120
|
+
['my " label', '"my \" label"'],
|
121
|
+
['Rock it, cuz i said so!', '"Rock it, cuz i said so!"'],
|
122
|
+
["it's like this", '"it\'s like this"'],
|
123
|
+
['#$%^&*', '"#$%^&*"']].each do |labels|
|
126
124
|
b = MojoMagick::OptBuilder.new
|
127
125
|
b.label labels[0]
|
128
126
|
assert_equal "label:#{labels[1]}", b.to_s
|
129
127
|
end
|
130
|
-
|
131
128
|
end
|
132
129
|
end
|
data/test/parser_test.rb
CHANGED
@@ -1,26 +1,25 @@
|
|
1
|
-
require File
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
2
2
|
|
3
|
-
IDENTIFY_FONT_RESPONSE
|
3
|
+
IDENTIFY_FONT_RESPONSE = <<~EOF.freeze
|
4
4
|
|
5
|
-
Font: Zapf-Dingbats
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
Font: Zapf-Dingbats
|
6
|
+
family: Zapf Dingbats
|
7
|
+
style: Normal
|
8
|
+
stretch: Normal
|
9
|
+
weight: 400
|
10
|
+
glyphs: /System/Library/Fonts/ZapfDingbats.ttf
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
12
|
+
Font: Zapfino
|
13
|
+
family: Zapfino
|
14
|
+
style: Italic
|
15
|
+
stretch: Normal
|
16
|
+
weight: 400
|
17
|
+
glyphs: /Library/Fonts/Zapfino.ttf
|
18
18
|
|
19
19
|
|
20
20
|
EOF
|
21
21
|
|
22
|
-
class ParserTest < MiniTest::
|
23
|
-
|
22
|
+
class ParserTest < MiniTest::Test
|
24
23
|
def test_parse_fonts
|
25
24
|
parser = MojoMagick::Util::Parser.new
|
26
25
|
parsed_fonts = parser.parse_fonts(IDENTIFY_FONT_RESPONSE)
|
@@ -1,15 +1,14 @@
|
|
1
|
-
require File
|
2
|
-
|
3
|
-
class ResourceLimitsTest < MiniTest::Unit::TestCase
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
4
2
|
|
3
|
+
class ResourceLimitsTest < MiniTest::Test
|
5
4
|
def setup
|
6
|
-
@orig_limits = MojoMagick
|
5
|
+
@orig_limits = MojoMagick.get_default_limits
|
7
6
|
end
|
8
7
|
|
9
8
|
def test_set_limits
|
10
9
|
# set area to 32mb limit
|
11
|
-
MojoMagick
|
12
|
-
new_limits = MojoMagick
|
10
|
+
MojoMagick.set_limits(area: '32mb')
|
11
|
+
new_limits = MojoMagick.get_current_limits
|
13
12
|
assert_equal '32mb', new_limits[:area].downcase
|
14
13
|
end
|
15
14
|
|
@@ -19,8 +18,8 @@ class ResourceLimitsTest < MiniTest::Unit::TestCase
|
|
19
18
|
|
20
19
|
def test_resource_limits
|
21
20
|
orig_limits_test = @orig_limits.dup
|
22
|
-
orig_limits_test.delete_if do |resource,
|
23
|
-
assert [
|
21
|
+
orig_limits_test.delete_if do |resource, _value|
|
22
|
+
assert %i[throttle area map disk memory file thread time].include?(resource), "Found unexpected resource #{resource}"
|
24
23
|
true
|
25
24
|
end
|
26
25
|
assert_equal 0, orig_limits_test.size
|
@@ -28,24 +27,23 @@ class ResourceLimitsTest < MiniTest::Unit::TestCase
|
|
28
27
|
|
29
28
|
def test_get_current_limits
|
30
29
|
# remove limits on area
|
31
|
-
MojoMagick
|
32
|
-
new_limits = MojoMagick
|
30
|
+
MojoMagick.remove_limits(:area)
|
31
|
+
new_limits = MojoMagick.get_current_limits
|
33
32
|
assert_equal @orig_limits[:area], new_limits[:area]
|
34
33
|
end
|
35
34
|
|
36
|
-
def
|
35
|
+
def test_set_limits_again
|
37
36
|
# set memory to 64 mb, disk to 0 and
|
38
|
-
MojoMagick
|
39
|
-
new_limits = MojoMagick
|
37
|
+
MojoMagick.set_limits(memory: '64mb', disk: '0b')
|
38
|
+
new_limits = MojoMagick.get_current_limits(show_actual_values: true)
|
40
39
|
assert_equal 61, new_limits[:memory]
|
41
40
|
assert_equal 0, new_limits[:disk]
|
42
41
|
end
|
43
42
|
|
44
43
|
def test_unset_limits
|
45
44
|
# return to original/default limit values
|
46
|
-
MojoMagick
|
47
|
-
new_limits = MojoMagick
|
45
|
+
MojoMagick.unset_limits
|
46
|
+
new_limits = MojoMagick.get_current_limits
|
48
47
|
assert_equal @orig_limits, new_limits
|
49
48
|
end
|
50
|
-
|
51
49
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
require
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'minitest/pride'
|
3
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'init'))
|
3
4
|
require 'fileutils'
|
4
5
|
require 'tempfile'
|
5
6
|
require 'rspec/expectations'
|
6
|
-
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mojo_magick
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Midgley
|
@@ -10,10 +10,10 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2020-09-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: minitest
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
19
|
- - ">="
|
@@ -27,7 +27,7 @@ dependencies:
|
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: '0'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
|
-
name:
|
30
|
+
name: rake
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - ">="
|
@@ -54,6 +54,20 @@ dependencies:
|
|
54
54
|
- - ">="
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '0'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: simplecov
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
type: :development
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
57
71
|
description: Simple Ruby stateless module interface to imagemagick.
|
58
72
|
email:
|
59
73
|
- science@misuse.org
|
@@ -120,11 +134,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
134
|
- !ruby/object:Gem::Version
|
121
135
|
version: '0'
|
122
136
|
requirements: []
|
123
|
-
|
124
|
-
rubygems_version: 2.2.2
|
137
|
+
rubygems_version: 3.0.3
|
125
138
|
signing_key:
|
126
139
|
specification_version: 4
|
127
|
-
summary: mojo_magick-0.5.
|
140
|
+
summary: mojo_magick-0.5.7
|
128
141
|
test_files:
|
129
142
|
- test/fixtures/5742.jpg
|
130
143
|
- test/fixtures/not_an_image.jpg
|
@@ -136,3 +149,4 @@ test_files:
|
|
136
149
|
- test/parser_test.rb
|
137
150
|
- test/resource_limits_test.rb
|
138
151
|
- test/test_helper.rb
|
152
|
+
...
|