rmagick 2.14.0 → 2.15.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/.rspec +1 -0
- data/.rubocop.yml +79 -45
- data/CODE_OF_CONDUCT.md +13 -0
- data/CONTRIBUTING.md +21 -3
- data/ChangeLog +6 -1
- data/Rakefile +6 -3
- data/ext/RMagick/extconf.rb +2 -1
- data/ext/RMagick/rmagick.c +11 -4
- data/ext/RMagick/rmagick.h +4 -0
- data/ext/RMagick/rmdraw.c +35 -11
- data/ext/RMagick/rmenum.c +13 -4
- data/ext/RMagick/rmfill.c +4 -1
- data/ext/RMagick/rmilist.c +44 -13
- data/ext/RMagick/rmimage.c +196 -59
- data/ext/RMagick/rminfo.c +33 -10
- data/ext/RMagick/rmmain.c +10 -3
- data/ext/RMagick/rmmontage.c +12 -4
- data/ext/RMagick/rmpixel.c +18 -5
- data/ext/RMagick/rmstruct.c +108 -31
- data/ext/RMagick/rmutil.c +48 -24
- data/lib/rmagick/version.rb +1 -1
- data/lib/rmagick_internal.rb +8 -5
- data/rmagick.gemspec +4 -3
- data/spec/rmagick/draw_spec.rb +156 -0
- data/spec/spec_helper.rb +1 -0
- data/test/Magick.rb +0 -1
- data/test/test_all_basic.rb +0 -1
- metadata +25 -7
- data/test/Draw.rb +0 -119
data/test/Draw.rb
DELETED
@@ -1,119 +0,0 @@
|
|
1
|
-
|
2
|
-
#!/usr/bin/env ruby -w
|
3
|
-
|
4
|
-
require 'rmagick'
|
5
|
-
require 'test/unit'
|
6
|
-
require 'test/unit/ui/console/testrunner' unless RUBY_VERSION[/^1\.9|^2/]
|
7
|
-
|
8
|
-
class Magick::Draw
|
9
|
-
def self._dummy_img_
|
10
|
-
@@_dummy_img_
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
class Draw_UT < Test::Unit::TestCase
|
15
|
-
def setup
|
16
|
-
@draw = Magick::Draw.new
|
17
|
-
end
|
18
|
-
|
19
|
-
# Ensure @@_dummy_img_ class var is working properly
|
20
|
-
def test_dummy_img
|
21
|
-
# initially this variable is not defined.
|
22
|
-
assert_raise(NameError) do
|
23
|
-
Magick::Draw._dummy_img_
|
24
|
-
end
|
25
|
-
|
26
|
-
# cause it to become defined. save the object id.
|
27
|
-
@draw.get_type_metrics('ABCDEF')
|
28
|
-
dummy = nil
|
29
|
-
assert_nothing_raised do
|
30
|
-
dummy = Magick::Draw._dummy_img_
|
31
|
-
end
|
32
|
-
|
33
|
-
assert_instance_of(Magick::Image, dummy)
|
34
|
-
|
35
|
-
# ensure that it is always the same object
|
36
|
-
@draw.get_type_metrics('ABCDEF')
|
37
|
-
dummy2 = nil
|
38
|
-
assert_nothing_raised do
|
39
|
-
dummy2 = Magick::Draw._dummy_img_
|
40
|
-
end
|
41
|
-
assert_same(dummy, dummy2)
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_kerning
|
45
|
-
assert_nothing_raised { @draw.kerning = 1 }
|
46
|
-
assert_nothing_raised { @draw.kerning(1) }
|
47
|
-
assert_raise(ArgumentError) { @draw.kerning('a') }
|
48
|
-
assert_raise(TypeError) { @draw.kerning([]) }
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_interline_spacing
|
52
|
-
assert_nothing_raised { @draw.interline_spacing = 1 }
|
53
|
-
assert_nothing_raised { @draw.interline_spacing(1) }
|
54
|
-
assert_raise(ArgumentError) { @draw.interline_spacing('a') }
|
55
|
-
assert_raise(TypeError) { @draw.interline_spacing([]) }
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_interword_spacing
|
59
|
-
assert_nothing_raised { @draw.interword_spacing = 1 }
|
60
|
-
assert_nothing_raised { @draw.interword_spacing(1) }
|
61
|
-
assert_raise(ArgumentError) { @draw.interword_spacing('a') }
|
62
|
-
assert_raise(TypeError) { @draw.interword_spacing([]) }
|
63
|
-
end
|
64
|
-
|
65
|
-
def assert_marshal
|
66
|
-
rose = Magick::Image.read('rose:').first
|
67
|
-
granite = Magick::Image.read('granite:').first
|
68
|
-
s = granite.to_blob {self.format='miff'}
|
69
|
-
granite = Magick::Image.from_blob(s).first
|
70
|
-
blue_stroke = Magick::Image.new(20,20) {self.background_color = 'blue'}
|
71
|
-
s = blue_stroke.to_blob {self.format='miff'}
|
72
|
-
blue_stroke = Magick::Image.from_blob(s).first
|
73
|
-
|
74
|
-
@draw.affine = Magick::AffineMatrix.new(1, 2, 3, 4, 5, 6)
|
75
|
-
@draw.decorate = Magick::LineThroughDecoration
|
76
|
-
@draw.encoding = 'AdobeCustom'
|
77
|
-
@draw.gravity = Magick::CenterGravity
|
78
|
-
@draw.fill = Magick::Pixel.from_color('red')
|
79
|
-
@draw.stroke = Magick::Pixel.from_color('blue')
|
80
|
-
@draw.stroke_width = 5
|
81
|
-
@draw.fill_pattern = granite
|
82
|
-
@draw.stroke_pattern = blue_stroke
|
83
|
-
@draw.text_antialias = true
|
84
|
-
@draw.font = 'Arial-Bold'
|
85
|
-
@draw.font_family = 'arial'
|
86
|
-
@draw.font_style = Magick::ItalicStyle
|
87
|
-
@draw.font_stretch = Magick::CondensedStretch
|
88
|
-
@draw.font_weight = Magick::BoldWeight
|
89
|
-
@draw.pointsize = 12
|
90
|
-
@draw.density = '72x72'
|
91
|
-
@draw.align = Magick::CenterAlign
|
92
|
-
@draw.undercolor = Magick::Pixel.from_color('green')
|
93
|
-
@draw.kerning = 10.5
|
94
|
-
@draw.interword_spacing = 3.75
|
95
|
-
|
96
|
-
@draw.circle(20, 25, 20, 28)
|
97
|
-
dumped = nil
|
98
|
-
assert_nothing_raised { dumped = Marshal.dump(@draw) }
|
99
|
-
assert_nothing_raised { Marshal.load(dumped) }
|
100
|
-
end
|
101
|
-
|
102
|
-
def test_patterns
|
103
|
-
img = Magick::Image.new(20,20)
|
104
|
-
assert_nothing_raised { @draw.fill_pattern = img }
|
105
|
-
assert_nothing_raised { @draw.stroke_pattern = img }
|
106
|
-
|
107
|
-
ilist = Magick::ImageList.new
|
108
|
-
ilist << img
|
109
|
-
assert_nothing_raised { @draw.fill_pattern = ilist }
|
110
|
-
assert_nothing_raised { @draw.stroke_pattern = ilist }
|
111
|
-
|
112
|
-
assert_raise(NoMethodError) { @draw.fill_pattern = 1 }
|
113
|
-
assert_raise(NoMethodError) { @draw.stroke_pattern = 1 }
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
if __FILE__ == $PROGRAM_NAME
|
118
|
-
Test::Unit::UI::Console::TestRunner.run(Draw_UT) unless RUBY_VERSION[/^1\.9|^2/]
|
119
|
-
end
|