rmagick 3.1.0 → 3.2.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.
Potentially problematic release.
This version of rmagick might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.appveyor.yml +4 -4
- data/.circleci/config.yml +1 -1
- data/.gitignore +1 -0
- data/.rubocop_todo.yml +6 -0
- data/.travis.yml +26 -8
- data/CHANGELOG.md +104 -0
- data/before_install_linux.sh +19 -10
- data/benchmarks/memory/README.md +50 -0
- data/benchmarks/memory/image_new.rb +8 -0
- data/benchmarks/memory/rmagick.gnuplot +16 -0
- data/doc/ex/coalesce.rb +2 -2
- data/doc/ex/drawcomp.rb +3 -3
- data/doc/ex/get_pixels.rb +1 -1
- data/doc/ex/images/Coffee.png +0 -0
- data/doc/ex/images/No.png +0 -0
- data/doc/ex/images/Snake.png +0 -0
- data/doc/ex/implode.rb +2 -2
- data/doc/ex/mask.rb +1 -1
- data/doc/ex/matte_fill_to_border.rb +1 -1
- data/doc/ex/matte_floodfill.rb +1 -1
- data/doc/ex/matte_replace.rb +1 -1
- data/doc/ex/stegano.rb +1 -1
- data/examples/constitute.rb +1 -1
- data/examples/crop_with_gravity.rb +1 -1
- data/examples/demo.rb +4 -4
- data/examples/find_similar_region.rb +1 -1
- data/examples/histogram.rb +3 -3
- data/examples/identify.rb +46 -46
- data/examples/image_opacity.rb +2 -2
- data/examples/vignette.rb +3 -3
- data/ext/RMagick/extconf.rb +19 -15
- data/ext/RMagick/rmagick.c +1 -2
- data/ext/RMagick/rmagick.h +59 -30
- data/ext/RMagick/rmdraw.c +62 -274
- data/ext/RMagick/rmenum.c +121 -665
- data/ext/RMagick/rmfill.c +7 -7
- data/ext/RMagick/rmilist.c +91 -7
- data/ext/RMagick/rmimage.c +568 -379
- data/ext/RMagick/rminfo.c +152 -110
- data/ext/RMagick/rmkinfo.c +17 -1
- data/ext/RMagick/rmmain.c +75 -74
- data/ext/RMagick/rmmontage.c +33 -33
- data/ext/RMagick/rmpixel.c +75 -14
- data/ext/RMagick/rmstruct.c +5 -5
- data/ext/RMagick/rmutil.c +3 -13
- data/lib/obsolete.rb +66 -0
- data/lib/rmagick/version.rb +1 -1
- data/lib/rmagick_internal.rb +54 -41
- data/spec/rmagick/image/composite_spec.rb +5 -76
- data/spec/rmagick/image/properties_spec.rb +1 -1
- data/test/Draw.rb +52 -115
- data/test/Enum.rb +153 -1
- data/test/Fill.rb +1 -1
- data/test/Image1.rb +97 -43
- data/test/Image2.rb +140 -36
- data/test/Image3.rb +110 -120
- data/test/ImageList1.rb +46 -11
- data/test/ImageList2.rb +11 -21
- data/test/Image_attributes.rb +81 -127
- data/test/Import_Export.rb +2 -2
- data/test/Info.rb +5 -1
- data/test/KernelInfo.rb +67 -0
- data/test/Magick.rb +17 -35
- data/test/Pixel.rb +193 -24
- data/test/PolaroidOptions.rb +1 -1
- data/test/Preview.rb +3 -35
- data/test/Struct.rb +45 -0
- data/test/appearance/Montage.rb +26 -0
- data/test/appearance/appearance_assertion.rb +13 -0
- data/test/appearance/expected/montage_border_color.jpg +0 -0
- data/test/lib/Obsolete.rb +30 -0
- data/test/lib/internal/Draw.rb +823 -0
- data/test/lib/internal/Geometry.rb +98 -0
- data/test/lib/internal/Magick.rb +40 -0
- data/test/test_all_basic.rb +16 -17
- metadata +27 -5
- data/doc/ex/images/Coffee.wmf +0 -0
- data/doc/ex/images/No.wmf +0 -0
- data/doc/ex/images/Snake.wmf +0 -0
data/test/ImageList2.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'fileutils'
|
4
4
|
require 'rmagick'
|
5
5
|
require 'test/unit'
|
6
|
-
require 'test/unit/ui/console/testrunner'
|
6
|
+
require 'test/unit/ui/console/testrunner'
|
7
7
|
|
8
8
|
class ImageList2UT < Test::Unit::TestCase
|
9
9
|
def setup
|
@@ -153,10 +153,10 @@ class ImageList2UT < Test::Unit::TestCase
|
|
153
153
|
montage = nil
|
154
154
|
assert_nothing_thrown do
|
155
155
|
montage = ilist.montage do
|
156
|
-
self.background_color = 'black'
|
157
156
|
self.background_color = Magick::Pixel.new(Magick::QuantumRange, 0, 0)
|
158
|
-
self.
|
157
|
+
self.background_color = 'blue'
|
159
158
|
self.border_color = Magick::Pixel.new(0, 0, 0)
|
159
|
+
self.border_color = 'red'
|
160
160
|
self.border_width = 2
|
161
161
|
self.compose = Magick::OverCompositeOp
|
162
162
|
self.filename = 'test.png'
|
@@ -180,6 +180,10 @@ class ImageList2UT < Test::Unit::TestCase
|
|
180
180
|
end
|
181
181
|
assert_instance_of(Magick::ImageList, montage)
|
182
182
|
assert_equal(@ilist, ilist)
|
183
|
+
|
184
|
+
montage_image = montage.first
|
185
|
+
assert_equal('blue', montage_image.background_color)
|
186
|
+
assert_equal('red', montage_image.border_color)
|
183
187
|
end
|
184
188
|
|
185
189
|
# test illegal option arguments
|
@@ -278,24 +282,10 @@ class ImageList2UT < Test::Unit::TestCase
|
|
278
282
|
end
|
279
283
|
|
280
284
|
def test_optimize_layers
|
281
|
-
layer_methods = [
|
282
|
-
Magick::CoalesceLayer,
|
283
|
-
Magick::DisposeLayer,
|
284
|
-
Magick::OptimizeTransLayer,
|
285
|
-
Magick::RemoveDupsLayer,
|
286
|
-
Magick::RemoveZeroLayer,
|
287
|
-
Magick::OptimizeImageLayer,
|
288
|
-
Magick::OptimizeLayer,
|
289
|
-
Magick::OptimizePlusLayer,
|
290
|
-
Magick::CompareAnyLayer,
|
291
|
-
Magick::CompareClearLayer,
|
292
|
-
Magick::CompareOverlayLayer,
|
293
|
-
Magick::MosaicLayer,
|
294
|
-
Magick::FlattenLayer,
|
295
|
-
Magick::MergeLayer
|
296
|
-
]
|
297
285
|
@ilist.read(IMAGES_DIR + '/Button_0.gif', IMAGES_DIR + '/Button_1.gif')
|
298
|
-
|
286
|
+
Magick::LayerMethod.values do |method|
|
287
|
+
next if [Magick::UndefinedLayer, Magick::CompositeLayer, Magick::TrimBoundsLayer].include?(method)
|
288
|
+
|
299
289
|
assert_nothing_raised do
|
300
290
|
res = @ilist.optimize_layers(method)
|
301
291
|
assert_instance_of(Magick::ImageList, res)
|
@@ -412,5 +402,5 @@ end
|
|
412
402
|
if $PROGRAM_NAME == __FILE__
|
413
403
|
IMAGES_DIR = '../doc/ex/images'
|
414
404
|
FLOWER_HAT = IMAGES_DIR + '/Flower_Hat.jpg'
|
415
|
-
Test::Unit::UI::Console::TestRunner.run(ImageList2UT)
|
405
|
+
Test::Unit::UI::Console::TestRunner.run(ImageList2UT)
|
416
406
|
end
|
data/test/Image_attributes.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'fileutils'
|
4
4
|
require 'rmagick'
|
5
5
|
require 'test/unit'
|
6
|
-
require 'test/unit/ui/console/testrunner'
|
6
|
+
require 'test/unit/ui/console/testrunner'
|
7
7
|
|
8
8
|
# TODO
|
9
9
|
# test frozen attributes!
|
@@ -158,6 +158,12 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
158
158
|
assert_nothing_raised { @img.class_type = Magick::PseudoClass }
|
159
159
|
assert_equal(Magick::PseudoClass, @img.class_type)
|
160
160
|
assert_raise(TypeError) { @img.class_type = 2 }
|
161
|
+
|
162
|
+
assert_nothing_raised do
|
163
|
+
@img.class_type = Magick::PseudoClass
|
164
|
+
@img.class_type = Magick::DirectClass
|
165
|
+
assert_equal(Magick::DirectClass, @img.class_type)
|
166
|
+
end
|
161
167
|
end
|
162
168
|
|
163
169
|
def test_color_profile
|
@@ -182,8 +188,10 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
182
188
|
assert_instance_of(Magick::ColorspaceType, @img.colorspace)
|
183
189
|
assert_equal(Magick::SRGBColorspace, @img.colorspace)
|
184
190
|
img = @img.copy
|
185
|
-
|
186
|
-
|
191
|
+
|
192
|
+
Magick::ColorspaceType.values do |colorspace|
|
193
|
+
assert_nothing_raised { img.colorspace = colorspace }
|
194
|
+
end
|
187
195
|
assert_raise(TypeError) { @img.colorspace = 2 }
|
188
196
|
Magick::ColorspaceType.values.each do |cs|
|
189
197
|
assert_nothing_raised { img.colorspace = cs }
|
@@ -204,63 +212,9 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
204
212
|
assert_nothing_raised { @img.compose = Magick::UndefinedCompositeOp }
|
205
213
|
assert_equal(Magick::UndefinedCompositeOp, @img.compose)
|
206
214
|
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
assert_nothing_raised { @img.compose = Magick::BlendCompositeOp }
|
211
|
-
assert_nothing_raised { @img.compose = Magick::BumpmapCompositeOp }
|
212
|
-
assert_nothing_raised { @img.compose = Magick::ClearCompositeOp }
|
213
|
-
assert_nothing_raised { @img.compose = Magick::ColorBurnCompositeOp }
|
214
|
-
assert_nothing_raised { @img.compose = Magick::ColorDodgeCompositeOp }
|
215
|
-
assert_nothing_raised { @img.compose = Magick::ColorizeCompositeOp }
|
216
|
-
assert_nothing_raised { @img.compose = Magick::CopyBlackCompositeOp }
|
217
|
-
assert_nothing_raised { @img.compose = Magick::CopyBlueCompositeOp }
|
218
|
-
assert_nothing_raised { @img.compose = Magick::CopyCompositeOp }
|
219
|
-
assert_nothing_raised { @img.compose = Magick::CopyCyanCompositeOp }
|
220
|
-
assert_nothing_raised { @img.compose = Magick::CopyGreenCompositeOp }
|
221
|
-
assert_nothing_raised { @img.compose = Magick::CopyMagentaCompositeOp }
|
222
|
-
assert_nothing_raised { @img.compose = Magick::CopyOpacityCompositeOp }
|
223
|
-
assert_nothing_raised { @img.compose = Magick::CopyRedCompositeOp }
|
224
|
-
assert_nothing_raised { @img.compose = Magick::CopyYellowCompositeOp }
|
225
|
-
assert_nothing_raised { @img.compose = Magick::DarkenCompositeOp }
|
226
|
-
assert_nothing_raised { @img.compose = Magick::DstAtopCompositeOp }
|
227
|
-
assert_nothing_raised { @img.compose = Magick::DstCompositeOp }
|
228
|
-
assert_nothing_raised { @img.compose = Magick::DstInCompositeOp }
|
229
|
-
assert_nothing_raised { @img.compose = Magick::DstOutCompositeOp }
|
230
|
-
assert_nothing_raised { @img.compose = Magick::DstOverCompositeOp }
|
231
|
-
assert_nothing_raised { @img.compose = Magick::DifferenceCompositeOp }
|
232
|
-
assert_nothing_raised { @img.compose = Magick::DisplaceCompositeOp }
|
233
|
-
assert_nothing_raised { @img.compose = Magick::DissolveCompositeOp }
|
234
|
-
assert_nothing_raised { @img.compose = Magick::ExclusionCompositeOp }
|
235
|
-
assert_nothing_raised { @img.compose = Magick::HardLightCompositeOp }
|
236
|
-
assert_nothing_raised { @img.compose = Magick::HueCompositeOp }
|
237
|
-
assert_nothing_raised { @img.compose = Magick::InCompositeOp }
|
238
|
-
assert_nothing_raised { @img.compose = Magick::LightenCompositeOp }
|
239
|
-
assert_nothing_raised { @img.compose = Magick::LuminizeCompositeOp }
|
240
|
-
assert_nothing_raised { @img.compose = Magick::MinusCompositeOp }
|
241
|
-
assert_nothing_raised { @img.compose = Magick::ModulateCompositeOp }
|
242
|
-
assert_nothing_raised { @img.compose = Magick::MultiplyCompositeOp }
|
243
|
-
assert_nothing_raised { @img.compose = Magick::OutCompositeOp }
|
244
|
-
assert_nothing_raised { @img.compose = Magick::OverCompositeOp }
|
245
|
-
assert_nothing_raised { @img.compose = Magick::OverlayCompositeOp }
|
246
|
-
assert_nothing_raised { @img.compose = Magick::PlusCompositeOp }
|
247
|
-
assert_nothing_raised { @img.compose = Magick::ReplaceCompositeOp }
|
248
|
-
assert_nothing_raised { @img.compose = Magick::SaturateCompositeOp }
|
249
|
-
assert_nothing_raised { @img.compose = Magick::ScreenCompositeOp }
|
250
|
-
assert_nothing_raised { @img.compose = Magick::SoftLightCompositeOp }
|
251
|
-
assert_nothing_raised { @img.compose = Magick::SrcAtopCompositeOp }
|
252
|
-
assert_nothing_raised { @img.compose = Magick::SrcCompositeOp }
|
253
|
-
assert_nothing_raised { @img.compose = Magick::SrcInCompositeOp }
|
254
|
-
assert_nothing_raised { @img.compose = Magick::SrcOutCompositeOp }
|
255
|
-
assert_nothing_raised { @img.compose = Magick::SrcOverCompositeOp }
|
256
|
-
assert_nothing_raised { @img.compose = Magick::SubtractCompositeOp }
|
257
|
-
assert_nothing_raised { @img.compose = Magick::ThresholdCompositeOp }
|
258
|
-
assert_nothing_raised { @img.compose = Magick::XorCompositeOp }
|
259
|
-
assert_nothing_raised { @img.compose = Magick::MathematicsCompositeOp }
|
260
|
-
assert_nothing_raised { @img.compose = Magick::DivideSrcCompositeOp }
|
261
|
-
assert_nothing_raised { @img.compose = Magick::MinusSrcCompositeOp }
|
262
|
-
assert_nothing_raised { @img.compose = Magick::DarkenIntensityCompositeOp }
|
263
|
-
assert_nothing_raised { @img.compose = Magick::LightenIntensityCompositeOp }
|
215
|
+
Magick::CompositeOperator.values do |composite|
|
216
|
+
assert_nothing_raised { @img.compose = composite }
|
217
|
+
end
|
264
218
|
assert_raise(TypeError) { @img.compose = 2 }
|
265
219
|
end
|
266
220
|
|
@@ -270,27 +224,10 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
270
224
|
assert_equal(Magick::UndefinedCompression, @img.compression)
|
271
225
|
assert_nothing_raised { @img.compression = Magick::BZipCompression }
|
272
226
|
assert_equal(Magick::BZipCompression, @img.compression)
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
assert_nothing_raised { @img.compression = Magick::DXT1Compression }
|
278
|
-
assert_nothing_raised { @img.compression = Magick::DXT3Compression }
|
279
|
-
assert_nothing_raised { @img.compression = Magick::DXT5Compression }
|
280
|
-
assert_nothing_raised { @img.compression = Magick::FaxCompression }
|
281
|
-
assert_nothing_raised { @img.compression = Magick::Group4Compression }
|
282
|
-
assert_nothing_raised { @img.compression = Magick::JPEGCompression }
|
283
|
-
assert_nothing_raised { @img.compression = Magick::JPEG2000Compression }
|
284
|
-
assert_nothing_raised { @img.compression = Magick::LosslessJPEGCompression }
|
285
|
-
assert_nothing_raised { @img.compression = Magick::LZWCompression }
|
286
|
-
assert_nothing_raised { @img.compression = Magick::PizCompression }
|
287
|
-
assert_nothing_raised { @img.compression = Magick::Pxr24Compression }
|
288
|
-
assert_nothing_raised { @img.compression = Magick::RLECompression }
|
289
|
-
assert_nothing_raised { @img.compression = Magick::ZipCompression }
|
290
|
-
assert_nothing_raised { @img.compression = Magick::ZipSCompression }
|
291
|
-
assert_nothing_raised { @img.compression = Magick::LZMACompression }
|
292
|
-
assert_nothing_raised { @img.compression = Magick::JBIG1Compression }
|
293
|
-
assert_nothing_raised { @img.compression = Magick::JBIG2Compression }
|
227
|
+
|
228
|
+
Magick::CompressionType.values do |compression|
|
229
|
+
assert_nothing_raised { @img.compression = compression }
|
230
|
+
end
|
294
231
|
assert_raise(TypeError) { @img.compression = 2 }
|
295
232
|
end
|
296
233
|
|
@@ -307,6 +244,7 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
307
244
|
assert_nothing_raised { @img.density = '90x90' }
|
308
245
|
assert_nothing_raised { @img.density = 'x90' }
|
309
246
|
assert_nothing_raised { @img.density = '90' }
|
247
|
+
assert_nothing_raised { @img.density = Magick::Geometry.new(@img.columns / 2, @img.rows / 2, 5, 5) }
|
310
248
|
assert_raise(TypeError) { @img.density = 2 }
|
311
249
|
end
|
312
250
|
|
@@ -327,8 +265,10 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
327
265
|
assert_equal(Magick::UndefinedDispose, @img.dispose)
|
328
266
|
assert_nothing_raised { @img.dispose = Magick::NoneDispose }
|
329
267
|
assert_equal(Magick::NoneDispose, @img.dispose)
|
330
|
-
|
331
|
-
|
268
|
+
|
269
|
+
Magick::DisposeType.values do |dispose|
|
270
|
+
assert_nothing_raised { @img.dispose = dispose }
|
271
|
+
end
|
332
272
|
assert_raise(TypeError) { @img.dispose = 2 }
|
333
273
|
end
|
334
274
|
|
@@ -367,33 +307,14 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
367
307
|
|
368
308
|
def test_filter
|
369
309
|
assert_nothing_raised { @img.filter }
|
370
|
-
assert_instance_of(Magick::
|
310
|
+
assert_instance_of(Magick::FilterType, @img.filter)
|
371
311
|
assert_equal(Magick::UndefinedFilter, @img.filter)
|
372
312
|
assert_nothing_raised { @img.filter = Magick::PointFilter }
|
373
313
|
assert_equal(Magick::PointFilter, @img.filter)
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
assert_nothing_raised { @img.filter = Magick::HammingFilter }
|
379
|
-
assert_nothing_raised { @img.filter = Magick::BlackmanFilter }
|
380
|
-
assert_nothing_raised { @img.filter = Magick::GaussianFilter }
|
381
|
-
assert_nothing_raised { @img.filter = Magick::QuadraticFilter }
|
382
|
-
assert_nothing_raised { @img.filter = Magick::CubicFilter }
|
383
|
-
assert_nothing_raised { @img.filter = Magick::CatromFilter }
|
384
|
-
assert_nothing_raised { @img.filter = Magick::MitchellFilter }
|
385
|
-
assert_nothing_raised { @img.filter = Magick::LanczosFilter }
|
386
|
-
assert_nothing_raised { @img.filter = Magick::BesselFilter }
|
387
|
-
assert_nothing_raised { @img.filter = Magick::SincFilter }
|
388
|
-
assert_nothing_raised { @img.filter = Magick::JincFilter }
|
389
|
-
assert_nothing_raised { @img.filter = Magick::SincFastFilter }
|
390
|
-
assert_nothing_raised { @img.filter = Magick::LanczosSharpFilter }
|
391
|
-
assert_nothing_raised { @img.filter = Magick::Lanczos2Filter }
|
392
|
-
assert_nothing_raised { @img.filter = Magick::Lanczos2SharpFilter }
|
393
|
-
assert_nothing_raised { @img.filter = Magick::RobidouxFilter }
|
394
|
-
assert_nothing_raised { @img.filter = Magick::RobidouxSharpFilter }
|
395
|
-
assert_nothing_raised { @img.filter = Magick::CosineFilter }
|
396
|
-
assert_nothing_raised { @img.filter = Magick::SplineFilter }
|
314
|
+
|
315
|
+
Magick::FilterType.values do |filter|
|
316
|
+
assert_nothing_raised { @img.filter = filter }
|
317
|
+
end
|
397
318
|
assert_raise(TypeError) { @img.filter = 2 }
|
398
319
|
end
|
399
320
|
|
@@ -436,6 +357,7 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
436
357
|
def test_geometry
|
437
358
|
assert_nothing_raised { @img.geometry }
|
438
359
|
assert_nil(@img.geometry)
|
360
|
+
assert_nothing_raised { @img.geometry = nil }
|
439
361
|
assert_nothing_raised { @img.geometry = '90x90' }
|
440
362
|
assert_equal('90x90', @img.geometry)
|
441
363
|
assert_nothing_raised { @img.geometry = Magick::Geometry.new(100, 80) }
|
@@ -443,9 +365,24 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
443
365
|
assert_raise(TypeError) { @img.geometry = [] }
|
444
366
|
end
|
445
367
|
|
368
|
+
def test_gravity
|
369
|
+
assert_instance_of(Magick::GravityType, @img.gravity)
|
370
|
+
|
371
|
+
Magick::GravityType.values do |gravity|
|
372
|
+
assert_nothing_raised { @img.gravity = gravity }
|
373
|
+
end
|
374
|
+
assert_raise(TypeError) { @img.gravity = nil }
|
375
|
+
assert_raise(TypeError) { @img.gravity = Magick::PointFilter }
|
376
|
+
end
|
377
|
+
|
446
378
|
def test_image_type
|
447
|
-
assert_nothing_raised { @img.image_type }
|
448
379
|
assert_instance_of(Magick::ImageType, @img.image_type)
|
380
|
+
|
381
|
+
Magick::ImageType.values do |image_type|
|
382
|
+
assert_nothing_raised { @img.image_type = image_type }
|
383
|
+
end
|
384
|
+
assert_raise(TypeError) { @img.image_type = nil }
|
385
|
+
assert_raise(TypeError) { @img.image_type = Magick::PointFilter }
|
449
386
|
end
|
450
387
|
|
451
388
|
def test_interlace_type
|
@@ -454,8 +391,10 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
454
391
|
assert_equal(Magick::NoInterlace, @img.interlace)
|
455
392
|
assert_nothing_raised { @img.interlace = Magick::LineInterlace }
|
456
393
|
assert_equal(Magick::LineInterlace, @img.interlace)
|
457
|
-
|
458
|
-
|
394
|
+
|
395
|
+
Magick::InterlaceType.values do |interlace|
|
396
|
+
assert_nothing_raised { @img.interlace = interlace }
|
397
|
+
end
|
459
398
|
assert_raise(TypeError) { @img.interlace = 2 }
|
460
399
|
end
|
461
400
|
|
@@ -538,14 +477,13 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
538
477
|
assert_nothing_raised { @img.orientation }
|
539
478
|
assert_instance_of(Magick::OrientationType, @img.orientation)
|
540
479
|
assert_equal(Magick::UndefinedOrientation, @img.orientation)
|
541
|
-
assert_nothing_raised { @img.orientation = Magick::UndefinedOrientation }
|
542
480
|
assert_nothing_raised { @img.orientation = Magick::TopLeftOrientation }
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
481
|
+
assert_equal(Magick::TopLeftOrientation, @img.orientation)
|
482
|
+
|
483
|
+
Magick::OrientationType.values do |orientation|
|
484
|
+
assert_nothing_raised { @img.orientation = orientation }
|
485
|
+
end
|
486
|
+
assert_raise(TypeError) { @img.orientation = 2 }
|
549
487
|
end
|
550
488
|
|
551
489
|
def test_page
|
@@ -564,6 +502,19 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
564
502
|
assert_raise(TypeError) { @img.page = 2 }
|
565
503
|
end
|
566
504
|
|
505
|
+
def test_pixel_interpolation_method
|
506
|
+
assert_nothing_raised { @img.pixel_interpolation_method }
|
507
|
+
assert_instance_of(Magick::PixelInterpolateMethod, @img.pixel_interpolation_method)
|
508
|
+
assert_equal(Magick::UndefinedInterpolatePixel, @img.pixel_interpolation_method)
|
509
|
+
assert_nothing_raised { @img.pixel_interpolation_method = Magick::AverageInterpolatePixel }
|
510
|
+
assert_equal(Magick::AverageInterpolatePixel, @img.pixel_interpolation_method)
|
511
|
+
|
512
|
+
Magick::PixelInterpolateMethod.values do |interpolate_pixel_method|
|
513
|
+
assert_nothing_raised { @img.pixel_interpolation_method = interpolate_pixel_method }
|
514
|
+
end
|
515
|
+
assert_raise(TypeError) { @img.pixel_interpolation_method = 2 }
|
516
|
+
end
|
517
|
+
|
567
518
|
def test_quality
|
568
519
|
assert_nothing_raised { @hat.quality }
|
569
520
|
assert_equal(75, @hat.quality)
|
@@ -580,10 +531,10 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
580
531
|
assert_nothing_raised { @img.rendering_intent }
|
581
532
|
assert_instance_of(Magick::RenderingIntent, @img.rendering_intent)
|
582
533
|
assert_equal(Magick::PerceptualIntent, @img.rendering_intent)
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
534
|
+
|
535
|
+
Magick::RenderingIntent.values do |rendering_intent|
|
536
|
+
assert_nothing_raised { @img.rendering_intent = rendering_intent }
|
537
|
+
end
|
587
538
|
assert_raise(TypeError) { @img.rendering_intent = 2 }
|
588
539
|
end
|
589
540
|
|
@@ -634,7 +585,10 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
634
585
|
assert_equal(Magick::UndefinedResolution, @img.units)
|
635
586
|
assert_nothing_raised { @img.units = Magick::PixelsPerInchResolution }
|
636
587
|
assert_equal(Magick::PixelsPerInchResolution, @img.units)
|
637
|
-
|
588
|
+
|
589
|
+
Magick::ResolutionType.values do |resolution|
|
590
|
+
assert_nothing_raised { @img.units = resolution }
|
591
|
+
end
|
638
592
|
assert_raise(TypeError) { @img.units = 2 }
|
639
593
|
end
|
640
594
|
|
@@ -643,10 +597,10 @@ class Image_Attributes_UT < Test::Unit::TestCase
|
|
643
597
|
assert_equal(Magick::UndefinedVirtualPixelMethod, @img.virtual_pixel_method)
|
644
598
|
assert_nothing_raised { @img.virtual_pixel_method = Magick::EdgeVirtualPixelMethod }
|
645
599
|
assert_equal(Magick::EdgeVirtualPixelMethod, @img.virtual_pixel_method)
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
600
|
+
|
601
|
+
Magick::VirtualPixelMethod.values do |virtual_pixel_method|
|
602
|
+
assert_nothing_raised { @img.virtual_pixel_method = virtual_pixel_method }
|
603
|
+
end
|
650
604
|
assert_raise(TypeError) { @img.virtual_pixel_method = 2 }
|
651
605
|
end
|
652
606
|
|
@@ -708,5 +662,5 @@ end # class Image_Attributes_UT
|
|
708
662
|
|
709
663
|
if $PROGRAM_NAME == __FILE__
|
710
664
|
FLOWER_HAT = '../doc/ex/images/Flower_Hat.jpg'
|
711
|
-
Test::Unit::UI::Console::TestRunner.run(ImageAttributesUT)
|
665
|
+
Test::Unit::UI::Console::TestRunner.run(ImageAttributesUT)
|
712
666
|
end
|
data/test/Import_Export.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'rmagick'
|
2
2
|
require 'test/unit'
|
3
|
-
require 'test/unit/ui/console/testrunner'
|
3
|
+
require 'test/unit/ui/console/testrunner'
|
4
4
|
|
5
5
|
class ImportExportUT < Test::Unit::TestCase
|
6
6
|
def setup
|
@@ -111,5 +111,5 @@ end
|
|
111
111
|
|
112
112
|
if $PROGRAM_NAME == __FILE__
|
113
113
|
IMAGES_DIR = '../doc/ex/images'
|
114
|
-
Test::Unit::UI::Console::TestRunner.run(ImportExportUT)
|
114
|
+
Test::Unit::UI::Console::TestRunner.run(ImportExportUT)
|
115
115
|
end
|
data/test/Info.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'rmagick'
|
4
4
|
require 'test/unit'
|
5
|
-
require 'test/unit/ui/console/testrunner'
|
5
|
+
require 'test/unit/ui/console/testrunner'
|
6
6
|
|
7
7
|
class InfoUT < Test::Unit::TestCase
|
8
8
|
def setup
|
@@ -64,6 +64,8 @@ class InfoUT < Test::Unit::TestCase
|
|
64
64
|
assert_equal('string', @info.authenticate)
|
65
65
|
assert_nothing_raised { @info.authenticate = nil }
|
66
66
|
assert_nil(@info.authenticate)
|
67
|
+
assert_nothing_raised { @info.authenticate = '' }
|
68
|
+
assert_equal('', @info.authenticate)
|
67
69
|
end
|
68
70
|
|
69
71
|
def test_background_color
|
@@ -436,5 +438,7 @@ class InfoUT < Test::Unit::TestCase
|
|
436
438
|
assert_equal('string', @info.view)
|
437
439
|
assert_nothing_raised { @info.view = nil }
|
438
440
|
assert_nil(@info.view)
|
441
|
+
assert_nothing_raised { @info.view = '' }
|
442
|
+
assert_equal('', @info.view)
|
439
443
|
end
|
440
444
|
end
|
data/test/KernelInfo.rb
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
# !/usr/bin/env ruby -w
|
2
|
+
|
3
|
+
require 'rmagick'
|
4
|
+
require 'test/unit'
|
5
|
+
require 'test/unit/ui/console/testrunner'
|
6
|
+
|
7
|
+
class KernelInfoUT < Test::Unit::TestCase
|
8
|
+
setup do
|
9
|
+
@kernel = Magick::KernelInfo.new('Octagon')
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_new
|
13
|
+
Magick::KernelInfoType.values do |kernel|
|
14
|
+
k = kernel.to_s.sub('Kernel', '')
|
15
|
+
|
16
|
+
if kernel == Magick::UserDefinedKernel
|
17
|
+
assert_raise(RuntimeError) { Magick::KernelInfo.new(k) }
|
18
|
+
else
|
19
|
+
assert_instance_of(Magick::KernelInfo, Magick::KernelInfo.new(k))
|
20
|
+
end
|
21
|
+
end
|
22
|
+
assert_raise(RuntimeError) { Magick::KernelInfo.new('') }
|
23
|
+
assert_raise(TypeError) { Magick::KernelInfo.new(42) }
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_zero_nans
|
27
|
+
assert_nil(@kernel.zero_nans)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_unity_add
|
31
|
+
assert_nil(@kernel.unity_add(1.0))
|
32
|
+
assert_nil(@kernel.unity_add(12))
|
33
|
+
assert_raise(TypeError) { @kernel.unity_add('x') }
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_show
|
37
|
+
assert_nil(@kernel.show)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_scale
|
41
|
+
Magick::GeometryFlags.values do |flag|
|
42
|
+
assert_nil(@kernel.scale(1.0, flag))
|
43
|
+
assert_nil(@kernel.scale(42, flag))
|
44
|
+
end
|
45
|
+
assert_raise(ArgumentError) { @kernel.scale(42, 'x') }
|
46
|
+
assert_raise(ArgumentError) { @kernel.scale(42, Magick::BoldWeight) }
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_scale_geometry
|
50
|
+
assert_nil(@kernel.scale_geometry('-set option:convolve:scale 1.0'))
|
51
|
+
assert_raise(TypeError) { @kernel.scale_geometry(42) }
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_clone
|
55
|
+
assert_instance_of(Magick::KernelInfo, @kernel.clone)
|
56
|
+
assert_not_same(@kernel, @kernel.clone)
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_builtin
|
60
|
+
assert_instance_of(Magick::KernelInfo, Magick::KernelInfo.builtin(Magick::UnityKernel, ''))
|
61
|
+
assert_instance_of(Magick::KernelInfo, Magick::KernelInfo.builtin(Magick::GaussianKernel, 'Gaussian:10,5'))
|
62
|
+
assert_instance_of(Magick::KernelInfo, Magick::KernelInfo.builtin(Magick::LoGKernel, 'LoG:10,5'))
|
63
|
+
assert_instance_of(Magick::KernelInfo, Magick::KernelInfo.builtin(Magick::DoGKernel, 'DoG:10,5'))
|
64
|
+
assert_instance_of(Magick::KernelInfo, Magick::KernelInfo.builtin(Magick::BlurKernel, 'Blur:10,5,1'))
|
65
|
+
assert_instance_of(Magick::KernelInfo, Magick::KernelInfo.builtin(Magick::CometKernel, 'Comet:10,5,1'))
|
66
|
+
end
|
67
|
+
end
|