rmagick 2.14.0 → 2.15.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/.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
|