rmagick 3.1.0 → 3.2.0
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 +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
|