rmagick 2.13.3 → 2.13.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rmagick might be problematic. Click here for more details.
- checksums.yaml +5 -13
- data/.gitignore +21 -0
- data/.travis.yml +57 -0
- data/CONTRIBUTING.md +22 -0
- data/ChangeLog +47 -4
- data/Gemfile +7 -0
- data/{README.rc → README.textile} +34 -104
- data/Rakefile +160 -24
- data/before_install_linux.sh +12 -0
- data/before_install_osx.sh +2 -0
- data/doc/.cvsignore +1 -0
- data/doc/ex/images/image_with_profile.jpg +0 -0
- data/doc/ex/mask.rb +1 -1
- data/examples/identify.rb +1 -1
- data/ext/RMagick/extconf.rb +60 -23
- data/ext/RMagick/rmagick.c +15 -15
- data/ext/RMagick/rmagick.h +9 -7
- data/ext/RMagick/rmdraw.c +12 -12
- data/ext/RMagick/rmenum.c +2 -2
- data/ext/RMagick/rmfill.c +25 -25
- data/ext/RMagick/rmilist.c +121 -104
- data/ext/RMagick/rmimage.c +737 -546
- data/ext/RMagick/rminfo.c +15 -15
- data/ext/RMagick/rmmain.c +27 -3
- data/ext/RMagick/rmpixel.c +25 -27
- data/ext/RMagick/rmstruct.c +1 -1
- data/ext/RMagick/rmutil.c +18 -18
- data/lib/RMagick.rb +1 -1962
- data/lib/rmagick.rb +1 -0
- data/lib/rmagick/version.rb +3 -1
- data/lib/rmagick_internal.rb +1964 -0
- data/rmagick.gemspec +14 -5
- data/test/Image2.rb +7 -3
- data/test/Image3.rb +54 -23
- data/test/ImageList2.rb +1 -1
- data/test/Image_attributes.rb +27 -10
- data/test/Import_Export.rb +11 -1
- data/test/Info.rb +4 -4
- data/test/Magick.rb +14 -54
- data/test/Pixel.rb +3 -4
- data/test/{all_basic.rb → test_all_basic.rb} +9 -17
- data/test/tmpnam_test.rb +50 -0
- metadata +50 -21
- data/README +0 -15
- data/README-Mac-OSX.txt +0 -1
- data/build_tarball.rake +0 -215
- data/lib/rvg/to_c.rb +0 -103
- data/metaconfig +0 -7
- data/pkg/rmagick-2.13.3.rc1.gem +0 -0
- data/post-clean.rb +0 -12
- data/post-install.rb +0 -50
- data/post-setup.rb +0 -254
- data/setup.rb +0 -1585
- data/uninstall.rb +0 -76
data/rmagick.gemspec
CHANGED
@@ -11,13 +11,22 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.email = %q{github@benjaminfleischer.com}
|
12
12
|
s.homepage = %q{https://github.com/gemhome/rmagick}
|
13
13
|
s.license = 'MIT'
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
|
15
|
+
tracked_files = `git ls-files`.split($\)
|
16
|
+
file_exclusion_regex = %r{(\Alib/rvg/to_c.rb)}
|
17
|
+
files = tracked_files.reject{|file| file[file_exclusion_regex] }
|
18
|
+
test_files = files.grep(%r{^(test|spec|features)/})
|
19
|
+
executables = files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
20
|
+
|
21
|
+
s.files = files
|
22
|
+
s.test_files = test_files
|
23
|
+
s.executables = executables
|
17
24
|
s.require_paths << 'ext'
|
25
|
+
|
18
26
|
s.rubyforge_project = %q{rmagick}
|
19
27
|
s.extensions = %w{ext/RMagick/extconf.rb}
|
20
28
|
s.has_rdoc = false
|
21
|
-
s.required_ruby_version =
|
22
|
-
s.requirements <<
|
29
|
+
s.required_ruby_version = ">= #{Magick::MIN_RUBY_VERSION}"
|
30
|
+
s.requirements << "ImageMagick #{Magick::MIN_IM_VERSION} or later"
|
31
|
+
s.add_development_dependency 'rake-compiler'
|
23
32
|
end
|
data/test/Image2.rb
CHANGED
@@ -124,7 +124,7 @@ class Image2_UT < Test::Unit::TestCase
|
|
124
124
|
assert_raise(IndexError) { @img.convolve(5, kernel) }
|
125
125
|
assert_raise(IndexError) { @img.convolve(order, "x") }
|
126
126
|
assert_raise(TypeError) { @img.convolve(3, [1.0, 1.0, 1.0, 1.0, 'x', 1.0, 1.0, 1.0, 1.0]) }
|
127
|
-
assert_raise(Magick::ImageMagickError) { @img.convolve(
|
127
|
+
assert_raise(Magick::ImageMagickError) { @img.convolve(-1, [1.0, 1.0, 1.0, 1.0]) }
|
128
128
|
end
|
129
129
|
|
130
130
|
def test_convolve_channel
|
@@ -444,7 +444,11 @@ class Image2_UT < Test::Unit::TestCase
|
|
444
444
|
@img.each_profile do |name, value|
|
445
445
|
assert_equal("iptc", name)
|
446
446
|
# As of 6.3.1
|
447
|
-
|
447
|
+
if IM_VERSION < Gem::Version.new("6.6.4") || (IM_VERSION == Gem::Version.new("6.6.4") && IM_REVISION < Gem::Version.new("5"))
|
448
|
+
assert_equal("8BIM\004\004\000\000\000\000\001\340test profile", value)
|
449
|
+
else
|
450
|
+
assert_equal("test profile", value)
|
451
|
+
end
|
448
452
|
end
|
449
453
|
end
|
450
454
|
end
|
@@ -582,7 +586,7 @@ class Image2_UT < Test::Unit::TestCase
|
|
582
586
|
end
|
583
587
|
assert_nothing_raised do
|
584
588
|
res = @img.export_pixels_to_str(0, 0, 10, 10, "I", Magick::LongPixel)
|
585
|
-
assert_equal(10*10*
|
589
|
+
assert_equal(10*10*[1].pack("L!").length, res.length)
|
586
590
|
end
|
587
591
|
assert_nothing_raised do
|
588
592
|
res = @img.export_pixels_to_str(0, 0, 10, 10, "I", Magick::FloatPixel)
|
data/test/Image3.rb
CHANGED
@@ -10,7 +10,7 @@ ColorspaceTypes = [
|
|
10
10
|
Magick::GRAYColorspace,
|
11
11
|
Magick::TransparentColorspace,
|
12
12
|
Magick::OHTAColorspace,
|
13
|
-
Magick::
|
13
|
+
Magick::LabColorspace,
|
14
14
|
Magick::XYZColorspace,
|
15
15
|
Magick::YCbCrColorspace,
|
16
16
|
Magick::YCCColorspace,
|
@@ -22,7 +22,6 @@ ColorspaceTypes = [
|
|
22
22
|
Magick::HSLColorspace,
|
23
23
|
Magick::HWBColorspace,
|
24
24
|
Magick::HSBColorspace,
|
25
|
-
Magick::LABColorspace,
|
26
25
|
Magick::Rec601LumaColorspace,
|
27
26
|
Magick::Rec601YCbCrColorspace,
|
28
27
|
Magick::Rec709LumaColorspace,
|
@@ -30,6 +29,23 @@ ColorspaceTypes = [
|
|
30
29
|
Magick::LogColorspace
|
31
30
|
]
|
32
31
|
|
32
|
+
Filters = [
|
33
|
+
Magick::PointFilter,
|
34
|
+
Magick::BoxFilter,
|
35
|
+
Magick::TriangleFilter,
|
36
|
+
Magick::HermiteFilter,
|
37
|
+
Magick::HanningFilter,
|
38
|
+
Magick::HammingFilter,
|
39
|
+
Magick::BlackmanFilter,
|
40
|
+
Magick::GaussianFilter,
|
41
|
+
Magick::QuadraticFilter,
|
42
|
+
Magick::CubicFilter,
|
43
|
+
Magick::CatromFilter,
|
44
|
+
Magick::MitchellFilter,
|
45
|
+
Magick::LanczosFilter,
|
46
|
+
Magick::BesselFilter,
|
47
|
+
Magick::SincFilter
|
48
|
+
]
|
33
49
|
|
34
50
|
|
35
51
|
class Image3_UT < Test::Unit::TestCase
|
@@ -168,6 +184,14 @@ class Image3_UT < Test::Unit::TestCase
|
|
168
184
|
end
|
169
185
|
|
170
186
|
def test_resample
|
187
|
+
@img.x_resolution = 72
|
188
|
+
@img.y_resolution = 72
|
189
|
+
assert_nothing_raised { @img.resample }
|
190
|
+
assert_nothing_raised { @img.resample(100) }
|
191
|
+
assert_nothing_raised { @img.resample(100, 100) }
|
192
|
+
|
193
|
+
@img.x_resolution = 0
|
194
|
+
@img.y_resolution = 0
|
171
195
|
assert_nothing_raised { @img.resample }
|
172
196
|
assert_nothing_raised { @img.resample(100) }
|
173
197
|
assert_nothing_raised { @img.resample(100, 100) }
|
@@ -180,9 +204,32 @@ class Image3_UT < Test::Unit::TestCase
|
|
180
204
|
assert_equal(125, res.rows)
|
181
205
|
assert_equal(120.0, res.x_resolution)
|
182
206
|
assert_equal(120.0, res.y_resolution)
|
207
|
+
assert_equal(200, girl.columns)
|
208
|
+
assert_equal(250, girl.rows)
|
209
|
+
assert_equal(240.0, girl.x_resolution)
|
210
|
+
assert_equal(240.0, girl.y_resolution)
|
211
|
+
|
212
|
+
Filters.each do |filter|
|
213
|
+
assert_nothing_raised { @img.resample(50, 50, filter) }
|
214
|
+
end
|
215
|
+
assert_nothing_raised { @img.resample(50, 50, Magick::PointFilter, 2.0) }
|
216
|
+
|
217
|
+
assert_raise(TypeError) { @img.resample('x') }
|
218
|
+
assert_raise(TypeError) { @img.resample(100, 'x') }
|
219
|
+
assert_raise(TypeError) { @img.resample(50, 50, 2) }
|
220
|
+
assert_raise(TypeError) { @img.resample(50, 50, Magick::CubicFilter, 'x') }
|
221
|
+
assert_raise(ArgumentError) { @img.resample(50, 50, Magick::SincFilter, 2.0, 'x') }
|
222
|
+
assert_raise(ArgumentError) { @img.resample(-100) }
|
223
|
+
assert_raise(ArgumentError) { @img.resample(100, -100) }
|
224
|
+
end
|
183
225
|
|
184
|
-
|
185
|
-
|
226
|
+
def test_resample!
|
227
|
+
assert_nothing_raised do
|
228
|
+
res = @img.resample!(50)
|
229
|
+
assert_same(@img, res)
|
230
|
+
end
|
231
|
+
@img.freeze
|
232
|
+
assert_raise(FreezeError) { @img.resample!(50) }
|
186
233
|
end
|
187
234
|
|
188
235
|
def test_resize
|
@@ -191,24 +238,8 @@ class Image3_UT < Test::Unit::TestCase
|
|
191
238
|
assert_instance_of(Magick::Image, res)
|
192
239
|
end
|
193
240
|
assert_nothing_raised { @img.resize(50,50) }
|
194
|
-
|
195
|
-
|
196
|
-
Magick::BoxFilter,
|
197
|
-
Magick::TriangleFilter,
|
198
|
-
Magick::HermiteFilter,
|
199
|
-
Magick::HanningFilter,
|
200
|
-
Magick::HammingFilter,
|
201
|
-
Magick::BlackmanFilter,
|
202
|
-
Magick::GaussianFilter,
|
203
|
-
Magick::QuadraticFilter,
|
204
|
-
Magick::CubicFilter,
|
205
|
-
Magick::CatromFilter,
|
206
|
-
Magick::MitchellFilter,
|
207
|
-
Magick::LanczosFilter,
|
208
|
-
Magick::BesselFilter,
|
209
|
-
Magick::SincFilter ]
|
210
|
-
|
211
|
-
filters.each do |filter|
|
241
|
+
|
242
|
+
Filters.each do |filter|
|
212
243
|
assert_nothing_raised { @img.resize(50, 50, filter) }
|
213
244
|
end
|
214
245
|
assert_nothing_raised { @img.resize(50, 50, Magick::PointFilter, 2.0) }
|
@@ -406,7 +437,7 @@ class Image3_UT < Test::Unit::TestCase
|
|
406
437
|
|
407
438
|
# Don't test colorspaces that require PsuedoColor images
|
408
439
|
(ColorspaceTypes - [Magick::OHTAColorspace,
|
409
|
-
Magick::
|
440
|
+
Magick::LabColorspace,
|
410
441
|
Magick::XYZColorspace,
|
411
442
|
Magick::YCbCrColorspace,
|
412
443
|
Magick::YCCColorspace,
|
data/test/ImageList2.rb
CHANGED
@@ -100,7 +100,7 @@ class ImageList2_UT < Test::Unit::TestCase
|
|
100
100
|
end
|
101
101
|
|
102
102
|
def test_from_blob
|
103
|
-
hat = File.open(FLOWER_HAT)
|
103
|
+
hat = File.open(FLOWER_HAT, "rb")
|
104
104
|
blob = hat.read
|
105
105
|
assert_nothing_raised { @ilist.from_blob(blob) }
|
106
106
|
assert_instance_of(Magick::Image, @ilist[0])
|
data/test/Image_attributes.rb
CHANGED
@@ -163,7 +163,11 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
163
163
|
def test_colorspace
|
164
164
|
assert_nothing_raised { @img.colorspace }
|
165
165
|
assert_instance_of(Magick::ColorspaceType, @img.colorspace)
|
166
|
-
|
166
|
+
if IM_VERSION < Gem::Version.new("6.7.5") || (IM_VERSION == Gem::Version.new("6.7.5") && IM_REVISION < Gem::Version.new("5"))
|
167
|
+
assert_equal(Magick::RGBColorspace, @img.colorspace)
|
168
|
+
else
|
169
|
+
assert_equal(Magick::SRGBColorspace, @img.colorspace)
|
170
|
+
end
|
167
171
|
img = @img.copy
|
168
172
|
assert_nothing_raised { img.colorspace = Magick::GRAYColorspace }
|
169
173
|
assert_equal(Magick::GRAYColorspace, img.colorspace)
|
@@ -279,7 +283,6 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
279
283
|
|
280
284
|
def test_density
|
281
285
|
assert_nothing_raised { @img.density }
|
282
|
-
assert_equal('72x72', @img.density)
|
283
286
|
assert_nothing_raised { @img.density = '90x90' }
|
284
287
|
assert_nothing_raised { @img.density = 'x90' }
|
285
288
|
assert_nothing_raised { @img.density = '90' }
|
@@ -287,7 +290,7 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
287
290
|
end
|
288
291
|
|
289
292
|
def test_depth
|
290
|
-
assert_equal(Magick::
|
293
|
+
assert_equal(Magick::MAGICKCORE_QUANTUM_DEPTH, @img.depth)
|
291
294
|
assert_raise(NoMethodError) { @img.depth = 2 }
|
292
295
|
end
|
293
296
|
|
@@ -394,7 +397,11 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
394
397
|
def test_gamma
|
395
398
|
assert_nothing_raised { @img.gamma }
|
396
399
|
assert_instance_of(Float, @img.gamma)
|
397
|
-
|
400
|
+
if IM_VERSION < Gem::Version.new("6.7.5") || (IM_VERSION == Gem::Version.new("6.7.5") && IM_REVISION < Gem::Version.new("5"))
|
401
|
+
assert_equal(0.0, @img.gamma)
|
402
|
+
else
|
403
|
+
assert_equal(0.45454543828964233, @img.gamma)
|
404
|
+
end
|
398
405
|
assert_nothing_raised { @img.gamma = 2.0 }
|
399
406
|
assert_equal(2.0, @img.gamma)
|
400
407
|
assert_raise(TypeError) { @img.gamma = 'x' }
|
@@ -483,7 +490,11 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
483
490
|
|
484
491
|
def test_number_colors
|
485
492
|
assert_nothing_raised { @hat.number_colors }
|
486
|
-
|
493
|
+
if IM_VERSION < Gem::Version.new("6.7.5") || (IM_VERSION == Gem::Version.new("6.7.5") && IM_REVISION < Gem::Version.new("5"))
|
494
|
+
assert_equal(27980, @hat.number_colors)
|
495
|
+
else
|
496
|
+
assert_equal(27942, @hat.number_colors)
|
497
|
+
end
|
487
498
|
assert_raise(NoMethodError) { @hat.number_colors = 2 }
|
488
499
|
end
|
489
500
|
|
@@ -539,14 +550,18 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
539
550
|
|
540
551
|
def test_quantum_depth
|
541
552
|
assert_nothing_raised { @img.quantum_depth }
|
542
|
-
assert_equal(Magick::
|
553
|
+
assert_equal(Magick::MAGICKCORE_QUANTUM_DEPTH, @img.quantum_depth)
|
543
554
|
assert_raise(NoMethodError) { @img.quantum_depth = 8 }
|
544
555
|
end
|
545
556
|
|
546
557
|
def test_rendering_intent
|
547
558
|
assert_nothing_raised { @img.rendering_intent }
|
548
559
|
assert_instance_of(Magick::RenderingIntent, @img.rendering_intent)
|
549
|
-
|
560
|
+
if IM_VERSION < Gem::Version.new("6.7.5") || (IM_VERSION == Gem::Version.new("6.7.5") && IM_REVISION < Gem::Version.new("5"))
|
561
|
+
assert_equal(Magick::UndefinedIntent, @img.rendering_intent)
|
562
|
+
else
|
563
|
+
assert_equal(Magick::PerceptualIntent, @img.rendering_intent)
|
564
|
+
end
|
550
565
|
assert_nothing_raised { @img.rendering_intent = Magick::SaturationIntent }
|
551
566
|
assert_nothing_raised { @img.rendering_intent = Magick::PerceptualIntent }
|
552
567
|
assert_nothing_raised { @img.rendering_intent = Magick::AbsoluteIntent }
|
@@ -591,7 +606,11 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
591
606
|
|
592
607
|
def test_total_colors
|
593
608
|
assert_nothing_raised { @hat.total_colors }
|
594
|
-
|
609
|
+
if IM_VERSION < Gem::Version.new("6.7.5") || (IM_VERSION == Gem::Version.new("6.7.5") && IM_REVISION < Gem::Version.new("5"))
|
610
|
+
assert_equal(27980, @hat.total_colors)
|
611
|
+
else
|
612
|
+
assert_equal(27942, @hat.total_colors)
|
613
|
+
end
|
595
614
|
assert_raise(NoMethodError) { @img.total_colors = 2 }
|
596
615
|
end
|
597
616
|
|
@@ -619,7 +638,6 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
619
638
|
|
620
639
|
def test_x_resolution
|
621
640
|
assert_nothing_raised { @img.x_resolution }
|
622
|
-
assert_equal(72.0, @img.x_resolution)
|
623
641
|
assert_nothing_raised { @img.x_resolution = 90 }
|
624
642
|
assert_equal(90.0, @img.x_resolution)
|
625
643
|
assert_raise(TypeError) { @img.x_resolution = 'x' }
|
@@ -627,7 +645,6 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
627
645
|
|
628
646
|
def test_y_resolution
|
629
647
|
assert_nothing_raised { @img.y_resolution }
|
630
|
-
assert_equal(72.0, @img.y_resolution)
|
631
648
|
assert_nothing_raised { @img.y_resolution = 90 }
|
632
649
|
assert_equal(90.0, @img.y_resolution)
|
633
650
|
assert_raise(TypeError) { @img.y_resolution = 'x' }
|
data/test/Import_Export.rb
CHANGED
@@ -40,12 +40,16 @@ class Import_Export_UT < Test::Unit::TestCase
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def test_import_export
|
43
|
+
is_hdri_support = Magick::Magick_features =~ /HDRI/
|
43
44
|
pixels = @test.export_pixels(0, 0, @test.columns, @test.rows, "RGB")
|
44
45
|
|
45
|
-
case Magick::
|
46
|
+
case Magick::MAGICKCORE_QUANTUM_DEPTH
|
46
47
|
when 8
|
47
48
|
p = pixels.pack("C*")
|
48
49
|
import(p, Magick::CharPixel)
|
50
|
+
if is_hdri_support
|
51
|
+
p = pixels.pack("F*")
|
52
|
+
end
|
49
53
|
import(p, Magick::QuantumPixel)
|
50
54
|
|
51
55
|
spixels = pixels.collect {|px| px * 257}
|
@@ -64,6 +68,9 @@ class Import_Export_UT < Test::Unit::TestCase
|
|
64
68
|
|
65
69
|
p = pixels.pack("S*")
|
66
70
|
import(p, Magick::ShortPixel)
|
71
|
+
if is_hdri_support
|
72
|
+
p = pixels.pack("F*")
|
73
|
+
end
|
67
74
|
import(p, Magick::QuantumPixel)
|
68
75
|
|
69
76
|
ipixels = pixels.collect {|px| px * 65537}
|
@@ -84,6 +91,9 @@ class Import_Export_UT < Test::Unit::TestCase
|
|
84
91
|
p = pixels.pack("I*")
|
85
92
|
import(p, Magick::IntegerPixel)
|
86
93
|
import(p, Magick::LongPixel)
|
94
|
+
if is_hdri_support
|
95
|
+
p = pixels.pack("D*")
|
96
|
+
end
|
87
97
|
import(p, Magick::QuantumPixel)
|
88
98
|
|
89
99
|
when 64
|
data/test/Info.rb
CHANGED
@@ -58,7 +58,7 @@ class Info_UT < Test::Unit::TestCase
|
|
58
58
|
|
59
59
|
def test_background_color
|
60
60
|
assert_nothing_raised { @info.background_color = "red" }
|
61
|
-
red = Magick::Pixel.new(Magick::
|
61
|
+
red = Magick::Pixel.new(Magick::QuantumRange)
|
62
62
|
assert_nothing_raised { @info.background_color = red }
|
63
63
|
assert_equal("red", @info.background_color)
|
64
64
|
img = Magick::Image.new(20,20) { self.background_color = "red" }
|
@@ -67,7 +67,7 @@ class Info_UT < Test::Unit::TestCase
|
|
67
67
|
|
68
68
|
def test_border_color
|
69
69
|
assert_nothing_raised { @info.border_color = "red" }
|
70
|
-
red = Magick::Pixel.new(Magick::
|
70
|
+
red = Magick::Pixel.new(Magick::QuantumRange)
|
71
71
|
assert_nothing_raised { @info.border_color = red }
|
72
72
|
assert_equal("red", @info.border_color)
|
73
73
|
img = Magick::Image.new(20,20) { self.border_color = "red" }
|
@@ -185,7 +185,7 @@ class Info_UT < Test::Unit::TestCase
|
|
185
185
|
assert_nothing_raised { @info.fuzz = 50 }
|
186
186
|
assert_equal(50, @info.fuzz)
|
187
187
|
assert_nothing_raised { @info.fuzz = "50%" }
|
188
|
-
assert_equal(Magick::
|
188
|
+
assert_equal(Magick::QuantumRange * 0.5, @info.fuzz)
|
189
189
|
end
|
190
190
|
|
191
191
|
def test_gravity
|
@@ -216,7 +216,7 @@ class Info_UT < Test::Unit::TestCase
|
|
216
216
|
|
217
217
|
def test_matte_color
|
218
218
|
assert_nothing_raised { @info.matte_color = "red" }
|
219
|
-
red = Magick::Pixel.new(Magick::
|
219
|
+
red = Magick::Pixel.new(Magick::QuantumRange)
|
220
220
|
assert_nothing_raised { @info.matte_color = red }
|
221
221
|
assert_equal("red", @info.matte_color)
|
222
222
|
img = Magick::Image.new(20,20) { self.matte_color = "red" }
|
data/test/Magick.rb
CHANGED
@@ -69,6 +69,12 @@ class Magick_UT < Test::Unit::TestCase
|
|
69
69
|
assert_equal(3, ary.length)
|
70
70
|
end
|
71
71
|
|
72
|
+
def test_features
|
73
|
+
res = nil
|
74
|
+
assert_nothing_raised { res = Magick::Magick_features }
|
75
|
+
assert_instance_of(String, res)
|
76
|
+
end
|
77
|
+
|
72
78
|
def test_fonts
|
73
79
|
res = nil
|
74
80
|
assert_nothing_raised { res = Magick.fonts }
|
@@ -260,30 +266,33 @@ class Magick_UT < Test::Unit::TestCase
|
|
260
266
|
assert_nothing_raised { Magick.set_log_format("format %d%e%f") }
|
261
267
|
end
|
262
268
|
|
263
|
-
# put old limits back in place after testing
|
264
269
|
def test_limit_resources
|
265
270
|
cur = new = nil
|
266
271
|
|
267
272
|
assert_nothing_raised {cur = Magick::limit_resource(:memory, 500)}
|
268
|
-
|
273
|
+
assert_kind_of(Integer, cur)
|
274
|
+
assert(cur > 1024 ** 2)
|
269
275
|
assert_nothing_raised {new = Magick::limit_resource("memory")}
|
270
276
|
assert_equal(500, new)
|
271
277
|
Magick::limit_resource(:memory, cur)
|
272
278
|
|
273
279
|
assert_nothing_raised {cur = Magick::limit_resource(:map, 3500)}
|
274
|
-
|
280
|
+
assert_kind_of(Integer, cur)
|
281
|
+
assert(cur > 1024 ** 2)
|
275
282
|
assert_nothing_raised {new = Magick::limit_resource("map")}
|
276
283
|
assert_equal(3500, new)
|
277
284
|
Magick::limit_resource(:map, cur)
|
278
285
|
|
279
286
|
assert_nothing_raised {cur = Magick::limit_resource(:disk, 3*1024*1024*1024)}
|
280
|
-
|
287
|
+
assert_kind_of(Integer, cur)
|
288
|
+
assert(cur > 1024 ** 2)
|
281
289
|
assert_nothing_raised {new = Magick::limit_resource("disk")}
|
282
290
|
assert_equal(3221225472, new)
|
283
291
|
Magick::limit_resource(:disk, cur)
|
284
292
|
|
285
293
|
assert_nothing_raised {cur = Magick::limit_resource(:file, 500)}
|
286
|
-
|
294
|
+
assert_kind_of(Integer, cur)
|
295
|
+
assert(cur > 512)
|
287
296
|
assert_nothing_raised {new = Magick::limit_resource("file")}
|
288
297
|
assert_equal(500, new)
|
289
298
|
Magick::limit_resource(:file, cur)
|
@@ -292,55 +301,6 @@ class Magick_UT < Test::Unit::TestCase
|
|
292
301
|
assert_raise(ArgumentError) { Magick::limit_resource("xxx") }
|
293
302
|
assert_raise(ArgumentError) { Magick::limit_resource("map", 3500, 2) }
|
294
303
|
assert_raise(ArgumentError) { Magick::limit_resource() }
|
295
|
-
|
296
|
-
end
|
297
|
-
|
298
|
-
# test the @@_tmpnam_ class variable
|
299
|
-
# the count is incremented by Image::Info#texture=,
|
300
|
-
# ImageList::Montage#texture=, and Draw.composite
|
301
|
-
|
302
|
-
def test_tmpnam
|
303
|
-
|
304
|
-
tmpfiles = Dir[ENV["HOME"] + "/tmp/magick*"].length
|
305
|
-
|
306
|
-
texture = Magick::Image.read("granite:") {self.size = "20x20" }.first
|
307
|
-
info = Magick::Image::Info.new
|
308
|
-
|
309
|
-
# does not exist at first
|
310
|
-
# assert_raise(NameError) { x = Magick._tmpnam_ }
|
311
|
-
info.texture = texture
|
312
|
-
|
313
|
-
# now it exists
|
314
|
-
assert_nothing_raised { x = Magick._tmpnam_ }
|
315
|
-
assert_equal(1, Magick._tmpnam_)
|
316
|
-
|
317
|
-
info.texture = texture
|
318
|
-
assert_equal(2, Magick._tmpnam_)
|
319
|
-
|
320
|
-
mon = Magick::ImageList::Montage.new
|
321
|
-
mon.texture = texture
|
322
|
-
assert_equal(3, Magick._tmpnam_)
|
323
|
-
|
324
|
-
mon.texture = texture
|
325
|
-
assert_equal(4, Magick._tmpnam_)
|
326
|
-
|
327
|
-
gc = Magick::Draw.new
|
328
|
-
gc.composite(0, 0, 20, 20, texture)
|
329
|
-
assert_equal(5, Magick._tmpnam_)
|
330
|
-
|
331
|
-
gc.composite(0, 0, 20, 20, texture)
|
332
|
-
assert_equal(6, Magick._tmpnam_)
|
333
|
-
|
334
|
-
tmpfiles2 = Dir[ENV["HOME"] + "/tmp/magick*"].length
|
335
|
-
|
336
|
-
# The 2nd montage texture deletes the first.
|
337
|
-
# The 2nd info texture deletes the first.
|
338
|
-
# Both composite images are still alive.
|
339
|
-
# Therefore only 4 tmp files are left.
|
340
|
-
#assert_equal(tmpfiles+4, tmpfiles2)
|
341
|
-
# 6.4.1-5 - only 1 tmpfile?
|
342
|
-
assert_equal(tmpfiles, tmpfiles2)
|
343
|
-
|
344
304
|
end
|
345
305
|
|
346
306
|
def test_trace_proc
|