rmagick 3.0.0 → 3.1.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.

Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.appveyor.yml +32 -6
  3. data/.circleci/config.yml +1 -1
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +9 -9
  6. data/.rubocop_todo.yml +351 -17
  7. data/.travis.yml +14 -1
  8. data/CHANGELOG.md +55 -0
  9. data/CONTRIBUTING.md +11 -18
  10. data/README.textile +2 -2
  11. data/Rakefile +1 -1
  12. data/before_install_linux.sh +56 -19
  13. data/doc/ex/sparse_color.rb +5 -0
  14. data/doc/magick.html +9 -4
  15. data/doc/rvg.html +2 -2
  16. data/doc/rvgtut.html +1 -1
  17. data/examples/histogram.rb +1 -1
  18. data/ext/RMagick/extconf.rb +90 -264
  19. data/ext/RMagick/rmagick.c +28 -6
  20. data/ext/RMagick/rmagick.h +53 -199
  21. data/ext/RMagick/rmdraw.c +52 -70
  22. data/ext/RMagick/rmenum.c +332 -274
  23. data/ext/RMagick/rmfill.c +62 -112
  24. data/ext/RMagick/rmilist.c +27 -62
  25. data/ext/RMagick/rmimage.c +424 -634
  26. data/ext/RMagick/rminfo.c +46 -37
  27. data/ext/RMagick/rmkinfo.c +47 -42
  28. data/ext/RMagick/rmmain.c +125 -180
  29. data/ext/RMagick/rmmontage.c +5 -5
  30. data/ext/RMagick/rmpixel.c +133 -62
  31. data/ext/RMagick/rmstruct.c +14 -181
  32. data/ext/RMagick/rmutil.c +195 -111
  33. data/lib/rmagick/version.rb +2 -3
  34. data/lib/rvg/deep_equal.rb +1 -1
  35. data/lib/rvg/misc.rb +4 -4
  36. data/lib/rvg/units.rb +2 -2
  37. data/rmagick.gemspec +2 -2
  38. data/spec/rmagick/ImageList1_spec.rb +2 -2
  39. data/spec/rmagick/draw_spec.rb +4 -4
  40. data/spec/rmagick/image/composite_spec.rb +6 -1
  41. data/spec/rmagick/image/properties_spec.rb +8 -8
  42. data/test/Draw.rb +414 -0
  43. data/test/Enum.rb +76 -0
  44. data/test/Fill.rb +93 -0
  45. data/test/Image1.rb +9 -1
  46. data/test/Image2.rb +14 -4
  47. data/test/Image3.rb +73 -3
  48. data/test/ImageList1.rb +22 -9
  49. data/test/ImageList2.rb +41 -9
  50. data/test/Image_attributes.rb +45 -8
  51. data/test/Info.rb +102 -6
  52. data/test/Magick.rb +8 -1
  53. data/test/PolaroidOptions.rb +23 -0
  54. data/test/test_all_basic.rb +4 -0
  55. metadata +28 -8
  56. data/.hound.yml +0 -2
  57. data/wercker.yml +0 -10
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/env ruby -w
2
+
3
+ require 'rmagick'
4
+ require 'test/unit'
5
+ require 'test/unit/ui/console/testrunner' unless RUBY_VERSION[/^1\.9|^2/]
6
+
7
+ class EnumUT < Test::Unit::TestCase
8
+ def test_new
9
+ assert_nothing_raised { Magick::Enum.new(:foo, 42) }
10
+ assert_nothing_raised { Magick::Enum.new('foo', 42) }
11
+
12
+ assert_raise(TypeError) { Magick::Enum.new(Object.new, 42) }
13
+ assert_raise(TypeError) { Magick::Enum.new(:foo, 'x') }
14
+ end
15
+
16
+ def test_to_s
17
+ enum = Magick::Enum.new(:foo, 42)
18
+ assert_equal('foo', enum.to_s)
19
+
20
+ enum = Magick::Enum.new('foo', 42)
21
+ assert_equal('foo', enum.to_s)
22
+ end
23
+
24
+ def test_to_i
25
+ enum = Magick::Enum.new(:foo, 42)
26
+ assert_equal(42, enum.to_i)
27
+ end
28
+
29
+ def test_spaceship
30
+ enum1 = Magick::Enum.new(:foo, 42)
31
+ enum2 = Magick::Enum.new(:foo, 56)
32
+ enum3 = Magick::Enum.new(:foo, 36)
33
+ enum4 = Magick::Enum.new(:foo, 42)
34
+
35
+ assert_equal(-1, enum1 <=> enum2)
36
+ assert_equal(0, enum1 <=> enum4)
37
+ assert_equal(1, enum1 <=> enum3)
38
+ assert_nil(enum1 <=> 'x')
39
+ end
40
+
41
+ def test_case_eq
42
+ enum1 = Magick::Enum.new(:foo, 42)
43
+ enum2 = Magick::Enum.new(:foo, 56)
44
+
45
+ assert_true(enum1 === enum1)
46
+ assert_false(enum1 === enum2)
47
+ assert_false(enum1 === 'x')
48
+ end
49
+
50
+ def test_bitwise_or
51
+ enum1 = Magick::Enum.new(:foo, 42)
52
+ enum2 = Magick::Enum.new(:bar, 56)
53
+
54
+ enum = enum1 | enum2
55
+ assert_equal(58, enum.to_i)
56
+ assert_equal('foo|bar', enum.to_s)
57
+
58
+ assert_raise(ArgumentError) { enum1 | 'x' }
59
+ end
60
+
61
+ def test_type_values
62
+ assert_instance_of(Array, Magick::AlignType.values)
63
+
64
+ assert_equal('UndefinedAlign', Magick::AlignType.values[0].to_s)
65
+ assert_equal(0, Magick::AlignType.values[0].to_i)
66
+
67
+ Magick::AlignType.values do |enum|
68
+ assert_kind_of(Magick::Enum, enum)
69
+ assert_instance_of(Magick::AlignType, enum)
70
+ end
71
+ end
72
+
73
+ def test_type_inspect
74
+ assert_equal('UndefinedAlign=0', Magick::AlignType.values[0].inspect)
75
+ end
76
+ end
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env ruby -w
2
+
3
+ require 'rmagick'
4
+ require 'test/unit'
5
+ require 'test/unit/ui/console/testrunner' unless RUBY_VERSION[/^1\.9|^2/]
6
+
7
+ class GradientFillUT < Test::Unit::TestCase
8
+ def test_new
9
+ assert_instance_of(Magick::GradientFill, Magick::GradientFill.new(0, 0, 0, 100, '#900', '#000'))
10
+ assert_instance_of(Magick::GradientFill, Magick::GradientFill.new(0, 0, 0, 100, 'white', 'red'))
11
+
12
+ assert_raise(ArgumentError) { Magick::GradientFill.new(0, 0, 0, 100, 'foo', '#000') }
13
+ assert_raise(ArgumentError) { Magick::GradientFill.new(0, 0, 0, 100, '#900', 'bar') }
14
+ assert_raise(TypeError) { Magick::GradientFill.new('x1', 0, 0, 100, '#900', '#000') }
15
+ assert_raise(TypeError) { Magick::GradientFill.new(0, 'y1', 0, 100, '#900', '#000') }
16
+ assert_raise(TypeError) { Magick::GradientFill.new(0, 0, 'x2', 100, '#900', '#000') }
17
+ assert_raise(TypeError) { Magick::GradientFill.new(0, 0, 0, 'y2', '#900', '#000') }
18
+ end
19
+
20
+ def test_fill
21
+ img = Magick::Image.new(10, 10)
22
+
23
+ assert_nothing_raised do
24
+ gradient = Magick::GradientFill.new(0, 0, 0, 0, '#900', '#000')
25
+ obj = gradient.fill(img)
26
+ assert_equal(gradient, obj)
27
+ end
28
+
29
+ assert_nothing_raised do
30
+ gradient = Magick::GradientFill.new(0, 0, 0, 10, '#900', '#000')
31
+ obj = gradient.fill(img)
32
+ assert_equal(gradient, obj)
33
+ end
34
+
35
+ assert_nothing_raised do
36
+ gradient = Magick::GradientFill.new(0, 0, 10, 0, '#900', '#000')
37
+ obj = gradient.fill(img)
38
+ assert_equal(gradient, obj)
39
+ end
40
+
41
+ assert_nothing_raised do
42
+ gradient = Magick::GradientFill.new(0, 0, 10, 10, '#900', '#000')
43
+ obj = gradient.fill(img)
44
+ assert_equal(gradient, obj)
45
+ end
46
+
47
+ assert_nothing_raised do
48
+ gradient = Magick::GradientFill.new(0, 0, 5, 20, '#900', '#000')
49
+ obj = gradient.fill(img)
50
+ assert_equal(gradient, obj)
51
+ end
52
+
53
+ assert_nothing_raised do
54
+ gradient = Magick::GradientFill.new(-10, 0, -10, 10, '#900', '#000')
55
+ obj = gradient.fill(img)
56
+ assert_equal(gradient, obj)
57
+ end
58
+
59
+ assert_nothing_raised do
60
+ gradient = Magick::GradientFill.new(0, -10, 10, -10, '#900', '#000')
61
+ obj = gradient.fill(img)
62
+ assert_equal(gradient, obj)
63
+ end
64
+
65
+ assert_nothing_raised do
66
+ gradient = Magick::GradientFill.new(0, -10, 10, -20, '#900', '#000')
67
+ obj = gradient.fill(img)
68
+ assert_equal(gradient, obj)
69
+ end
70
+
71
+ assert_nothing_raised do
72
+ gradient = Magick::GradientFill.new(0, 100, 100, 200, '#900', '#000')
73
+ obj = gradient.fill(img)
74
+ assert_equal(gradient, obj)
75
+ end
76
+ end
77
+ end
78
+
79
+ class TextureFillUT < Test::Unit::TestCase
80
+ def test_new
81
+ granite = Magick::Image.read('granite:').first
82
+ assert_instance_of(Magick::TextureFill, Magick::TextureFill.new(granite))
83
+ end
84
+
85
+ def test_fill
86
+ granite = Magick::Image.read('granite:').first
87
+ texture = Magick::TextureFill.new(granite)
88
+
89
+ img = Magick::Image.new(10, 10)
90
+ obj = texture.fill(img)
91
+ assert_equal(texture, obj)
92
+ end
93
+ end
@@ -329,7 +329,7 @@ class Image1_UT < Test::Unit::TestCase
329
329
  assert_nothing_raised { @img.channel_depth(Magick::CyanChannel, Magick::BlackChannel) }
330
330
  assert_nothing_raised { @img.channel_depth(Magick::GrayChannel) }
331
331
  assert_raise(TypeError) { @img.channel_depth(2) }
332
- assert_instance_of(Fixnum, @img.channel_depth(Magick::RedChannel))
332
+ assert_kind_of(Integer, @img.channel_depth(Magick::RedChannel))
333
333
  end
334
334
 
335
335
  def test_channel_extrema
@@ -434,6 +434,12 @@ class Image1_UT < Test::Unit::TestCase
434
434
  res = @img.color_histogram
435
435
  assert_instance_of(Hash, res)
436
436
  end
437
+ assert_nothing_raised do
438
+ @img.class_type = Magick::PseudoClass
439
+ res = @img.color_histogram
440
+ assert_equal(Magick::PseudoClass, @img.class_type)
441
+ assert_instance_of(Hash, res)
442
+ end
437
443
  end
438
444
 
439
445
  def test_colorize
@@ -536,6 +542,8 @@ class Image1_UT < Test::Unit::TestCase
536
542
  assert_nothing_raised { img1.compare_channel(img2, Magick::PeakAbsoluteErrorMetric) }
537
543
  assert_nothing_raised { img1.compare_channel(img2, Magick::PeakSignalToNoiseRatioMetric) }
538
544
  assert_nothing_raised { img1.compare_channel(img2, Magick::RootMeanSquaredErrorMetric) }
545
+ assert_nothing_raised { img1.compare_channel(img2, Magick::NormalizedCrossCorrelationErrorMetric) }
546
+ assert_nothing_raised { img1.compare_channel(img2, Magick::FuzzErrorMetric) }
539
547
  assert_raise(TypeError) { img1.compare_channel(img2, 2) }
540
548
  assert_raise(ArgumentError) { img1.compare_channel }
541
549
 
@@ -71,10 +71,10 @@ class Image2_UT < Test::Unit::TestCase
71
71
  end
72
72
 
73
73
  def test_compress_colormap!
74
- # DirectClass images are converted to PseudoClass
74
+ # DirectClass images are converted to PseudoClass in older versions of ImageMagick.
75
75
  assert_equal(Magick::DirectClass, @img.class_type)
76
76
  assert_nothing_raised { @img.compress_colormap! }
77
- assert_equal(Magick::PseudoClass, @img.class_type)
77
+ # assert_equal(Magick::PseudoClass, @img.class_type)
78
78
  @img = Magick::Image.read(IMAGES_DIR + '/Button_0.gif').first
79
79
  assert_equal(Magick::PseudoClass, @img.class_type)
80
80
  assert_nothing_raised { @img.compress_colormap! }
@@ -428,6 +428,8 @@ class Image2_UT < Test::Unit::TestCase
428
428
  assert_nothing_raised { @img.distortion_channel(@img, Magick::PeakSignalToNoiseRatioMetric) }
429
429
  assert_nothing_raised { @img.distortion_channel(@img, Magick::RootMeanSquaredErrorMetric) }
430
430
  assert_nothing_raised { @img.distortion_channel(@img, Magick::MeanSquaredErrorMetric, Magick::RedChannel, Magick:: BlueChannel) }
431
+ assert_nothing_raised { @img.distortion_channel(@img, Magick::NormalizedCrossCorrelationErrorMetric) }
432
+ assert_nothing_raised { @img.distortion_channel(@img, Magick::FuzzErrorMetric) }
431
433
  assert_raise(TypeError) { @img.distortion_channel(@img, 2) }
432
434
  assert_raise(TypeError) { @img.distortion_channel(@img, Magick::RootMeanSquaredErrorMetric, 2) }
433
435
  assert_raise(ArgumentError) { @img.distortion_channel }
@@ -714,6 +716,16 @@ class Image2_UT < Test::Unit::TestCase
714
716
  assert_raise(TypeError) { @img.frame(50, 50, 25, 25, 6, 6, 2) }
715
717
  end
716
718
 
719
+ def test_fx
720
+ assert_nothing_raised { @img.fx('1/2') }
721
+ assert_nothing_raised { @img.fx('1/2', Magick::BlueChannel) }
722
+ assert_nothing_raised { @img.fx('1/2', Magick::BlueChannel, Magick::RedChannel) }
723
+ assert_raise(ArgumentError) { @img.fx }
724
+ assert_raise(ArgumentError) { @img.fx(Magick::BlueChannel) }
725
+ assert_raise(TypeError) { @img.fx(1) }
726
+ assert_raise(TypeError) { @img.fx('1/2', 1) }
727
+ end
728
+
717
729
  def test_gamma_channel
718
730
  assert_nothing_raised do
719
731
  res = @img.gamma_channel(0.8)
@@ -765,8 +777,6 @@ class Image2_UT < Test::Unit::TestCase
765
777
 
766
778
  def test_gramma_correct
767
779
  assert_raise(ArgumentError) { @img.gamma_correct }
768
- # All 4 arguments can't default to 1.0
769
- assert_raise(ArgumentError) { @img.gamma_correct(1.0) }
770
780
  assert_nothing_raised do
771
781
  res = @img.gamma_correct(0.8)
772
782
  assert_instance_of(Magick::Image, res)
@@ -26,7 +26,8 @@ ColorspaceTypes = [
26
26
  Magick::Rec601YCbCrColorspace,
27
27
  Magick::Rec709LumaColorspace,
28
28
  Magick::Rec709YCbCrColorspace,
29
- Magick::LogColorspace
29
+ Magick::LogColorspace,
30
+ Magick::CMYColorspace
30
31
  ]
31
32
 
32
33
  Filters = [
@@ -44,7 +45,16 @@ Filters = [
44
45
  Magick::MitchellFilter,
45
46
  Magick::LanczosFilter,
46
47
  Magick::BesselFilter,
47
- Magick::SincFilter
48
+ Magick::SincFilter,
49
+ Magick::JincFilter,
50
+ Magick::SincFastFilter,
51
+ Magick::LanczosSharpFilter,
52
+ Magick::Lanczos2Filter,
53
+ Magick::Lanczos2SharpFilter,
54
+ Magick::RobidouxFilter,
55
+ Magick::RobidouxSharpFilter,
56
+ Magick::CosineFilter,
57
+ Magick::SplineFilter
48
58
  ]
49
59
 
50
60
  class Image3_UT < Test::Unit::TestCase
@@ -63,6 +73,8 @@ class Image3_UT < Test::Unit::TestCase
63
73
  assert_nothing_raised { @img.profile!('icc', nil) }
64
74
  assert_nothing_raised { @img.profile!('iptc', nil) }
65
75
 
76
+ assert_raise(ArgumentError) { @img.profile!('test', 'foobarbaz') }
77
+
66
78
  @img.freeze
67
79
  assert_raise(FreezeError) { @img.profile!('icc', 'xxx') }
68
80
  assert_raise(FreezeError) { @img.profile!('*', nil) }
@@ -99,7 +111,26 @@ class Image3_UT < Test::Unit::TestCase
99
111
  Magick::OrQuantumOperator,
100
112
  Magick::RShiftQuantumOperator,
101
113
  Magick::SubtractQuantumOperator,
102
- Magick::XorQuantumOperator
114
+ Magick::XorQuantumOperator,
115
+ Magick::PowQuantumOperator,
116
+ Magick::LogQuantumOperator,
117
+ Magick::ThresholdQuantumOperator,
118
+ Magick::ThresholdBlackQuantumOperator,
119
+ Magick::ThresholdWhiteQuantumOperator,
120
+ Magick::GaussianNoiseQuantumOperator,
121
+ Magick::ImpulseNoiseQuantumOperator,
122
+ Magick::LaplacianNoiseQuantumOperator,
123
+ Magick::MultiplicativeNoiseQuantumOperator,
124
+ Magick::PoissonNoiseQuantumOperator,
125
+ Magick::UniformNoiseQuantumOperator,
126
+ Magick::CosineQuantumOperator,
127
+ Magick::SineQuantumOperator,
128
+ Magick::AddModulusQuantumOperator,
129
+ Magick::MeanQuantumOperator,
130
+ Magick::AbsQuantumOperator,
131
+ Magick::ExponentialQuantumOperator,
132
+ Magick::MedianQuantumOperator,
133
+ Magick::SumQuantumOperator
103
134
  ]
104
135
 
105
136
  assert_nothing_raised do
@@ -161,6 +192,10 @@ class Image3_UT < Test::Unit::TestCase
161
192
  assert_raise(TypeError) { @img.random_threshold_channel('20%', 2) }
162
193
  end
163
194
 
195
+ def test_recolor
196
+ assert_raise(TypeError) { @img.recolor('x') }
197
+ end
198
+
164
199
  def test_reduce_noise
165
200
  assert_nothing_raised do
166
201
  res = @img.reduce_noise(0)
@@ -785,6 +820,26 @@ class Image3_UT < Test::Unit::TestCase
785
820
  assert_raise(FreezeError) { @img.thumbnail!(0.50) }
786
821
  end
787
822
 
823
+ def test_tint
824
+ assert_nothing_raised do
825
+ pixels = @img.get_pixels(0, 0, 1, 1)
826
+ @img.tint(pixels[0], 1.0)
827
+ end
828
+ assert_nothing_raised { @img.tint('red', 1.0) }
829
+ assert_nothing_raised { @img.tint('red', 1.0, 1.0) }
830
+ assert_nothing_raised { @img.tint('red', 1.0, 1.0, 1.0) }
831
+ assert_nothing_raised { @img.tint('red', 1.0, 1.0, 1.0, 1.0) }
832
+ assert_raise(ArgumentError) { @img.tint }
833
+ assert_raise(ArgumentError) { @img.tint('red') }
834
+ assert_raise(ArgumentError) { @img.tint('red', 1.0, 1.0, 1.0, 1.0, 1.0) }
835
+ assert_raise(ArgumentError) { @img.tint('x', 1.0) }
836
+ assert_raise(TypeError) { @img.tint(1.0, 1.0) }
837
+ assert_raise(TypeError) { @img.tint('red', 'green') }
838
+ assert_raise(TypeError) { @img.tint('red', 1.0, 'green') }
839
+ assert_raise(TypeError) { @img.tint('red', 1.0, 1.0, 'green') }
840
+ assert_raise(TypeError) { @img.tint('red', 1.0, 1.0, 1.0, 'green') }
841
+ end
842
+
788
843
  def test_to_blob
789
844
  res = nil
790
845
  assert_nothing_raised { res = @img.to_blob { self.format = 'miff' } }
@@ -1021,6 +1076,21 @@ class Image3_UT < Test::Unit::TestCase
1021
1076
  img = Magick::Image.read('test.0')
1022
1077
  assert_equal('JPEG', img.first.format)
1023
1078
  FileUtils.rm('test.0')
1079
+
1080
+ @img.write('test.webp')
1081
+ img = Magick::Image.read('test.webp')
1082
+ assert_equal('WEBP', img.first.format)
1083
+ FileUtils.rm('test.webp') rescue nil # Avoid failure on AppVeyor
1084
+
1085
+ f = File.new('test.0', 'w')
1086
+ Magick::Image.new(100, 100).write(f) do
1087
+ self.format = 'JPEG'
1088
+ self.colorspace = Magick::CMYKColorspace
1089
+ end
1090
+ f.close
1091
+ img = Magick::Image.read('test.0')
1092
+ assert_equal('JPEG', img.first.format)
1093
+ FileUtils.rm('test.0')
1024
1094
  end
1025
1095
  end
1026
1096
 
@@ -15,6 +15,15 @@ class ImageList1UT < Test::Unit::TestCase
15
15
  @list2 << @list[9]
16
16
  end
17
17
 
18
+ def test_composite_layers
19
+ assert_nothing_raised { @list.composite_layers(@list2) }
20
+ Magick::CompositeOperator.values do |op|
21
+ assert_nothing_raised { @list.composite_layers(@list2, op) }
22
+ end
23
+
24
+ assert_raise(ArgumentError) { @list.composite_layers(@list2, Magick::AddCompositeOp, 42) }
25
+ end
26
+
18
27
  def test_delay
19
28
  assert_nothing_raised { @list.delay }
20
29
  assert_equal(0, @list.delay)
@@ -23,6 +32,10 @@ class ImageList1UT < Test::Unit::TestCase
23
32
  assert_raise(ArgumentError) { @list.delay = 'x' }
24
33
  end
25
34
 
35
+ def test_flatten_images
36
+ assert_nothing_raised { @list.flatten_images }
37
+ end
38
+
26
39
  def test_ticks_per_second
27
40
  assert_nothing_raised { @list.ticks_per_second }
28
41
  assert_equal(100, @list.ticks_per_second)
@@ -33,7 +46,7 @@ class ImageList1UT < Test::Unit::TestCase
33
46
 
34
47
  def test_iterations
35
48
  assert_nothing_raised { @list.iterations }
36
- assert_equal(1, @list.iterations)
49
+ assert_kind_of(Integer, @list.iterations)
37
50
  assert_nothing_raised { @list.iterations = 20 }
38
51
  assert_equal(20, @list.iterations)
39
52
  assert_raise(ArgumentError) { @list.iterations = 'x' }
@@ -370,7 +383,7 @@ class ImageList1UT < Test::Unit::TestCase
370
383
  @list.scene = 7
371
384
  cur = @list.cur_image
372
385
  assert_nothing_raised do
373
- @list.delete_if { |img| img.filename =~ /5/ }
386
+ @list.delete_if { |img| File.basename(img.filename) =~ /5/ }
374
387
  assert_instance_of(Magick::ImageList, @list)
375
388
  assert_equal(9, @list.length)
376
389
  assert_same(cur, @list.cur_image)
@@ -378,7 +391,7 @@ class ImageList1UT < Test::Unit::TestCase
378
391
 
379
392
  # Delete the current image
380
393
  assert_nothing_raised do
381
- @list.delete_if { |img| img.filename =~ /7/ }
394
+ @list.delete_if { |img| File.basename(img.filename) =~ /7/ }
382
395
  assert_instance_of(Magick::ImageList, @list)
383
396
  assert_equal(8, @list.length)
384
397
  assert_same(@list[-1], @list.cur_image)
@@ -441,7 +454,7 @@ class ImageList1UT < Test::Unit::TestCase
441
454
 
442
455
  def find_all
443
456
  assert_nothing_raised do
444
- res = @list.select { |img| img.filename =~ /Button_2/ }
457
+ res = @list.select { |img| File.basename(img.filename) =~ /Button_2/ }
445
458
  assert_instance_of(Magick::ImageList, res)
446
459
  assert_equal(1, res.length)
447
460
  assert_same(res[0], @list[2])
@@ -552,7 +565,7 @@ class ImageList1UT < Test::Unit::TestCase
552
565
  cur = @list.cur_image
553
566
  list = @list
554
567
  assert_nothing_raised do
555
- res = @list.reject { |img| img.filename =~ /Button_9/ }
568
+ res = @list.reject { |img| File.basename(img.filename) =~ /Button_9/ }
556
569
  assert_equal(9, res.length)
557
570
  assert_instance_of(Magick::ImageList, res)
558
571
  assert_same(cur, res.cur_image)
@@ -561,7 +574,7 @@ class ImageList1UT < Test::Unit::TestCase
561
574
  assert_same(cur, @list.cur_image)
562
575
 
563
576
  # Omit current image from result list - result cur_image s/b last image
564
- res = @list.reject { |img| img.filename =~ /Button_7/ }
577
+ res = @list.reject { |img| File.basename(img.filename) =~ /Button_7/ }
565
578
  assert_equal(9, res.length)
566
579
  assert_same(res[-1], res.cur_image)
567
580
  assert_same(cur, @list.cur_image)
@@ -571,7 +584,7 @@ class ImageList1UT < Test::Unit::TestCase
571
584
  @list.scene = 7
572
585
  cur = @list.cur_image
573
586
  assert_nothing_raised do
574
- @list.reject! { |img| img.filename =~ /5/ }
587
+ @list.reject! { |img| File.basename(img.filename) =~ /5/ }
575
588
  assert_instance_of(Magick::ImageList, @list)
576
589
  assert_equal(9, @list.length)
577
590
  assert_same(cur, @list.cur_image)
@@ -579,7 +592,7 @@ class ImageList1UT < Test::Unit::TestCase
579
592
 
580
593
  # Delete the current image
581
594
  assert_nothing_raised do
582
- @list.reject! { |img| img.filename =~ /7/ }
595
+ @list.reject! { |img| File.basename(img.filename) =~ /7/ }
583
596
  assert_instance_of(Magick::ImageList, @list)
584
597
  assert_equal(8, @list.length)
585
598
  assert_same(@list[-1], @list.cur_image)
@@ -668,7 +681,7 @@ class ImageList1UT < Test::Unit::TestCase
668
681
 
669
682
  def test_select
670
683
  assert_nothing_raised do
671
- res = @list.select { |img| img.filename =~ /Button_2/ }
684
+ res = @list.select { |img| File.basename(img.filename) =~ /Button_2/ }
672
685
  assert_instance_of(Magick::ImageList, res)
673
686
  assert_equal(1, res.length)
674
687
  assert_same(res[0], @list[2])