Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

115 lines (95 sloc) 3.614 kb
#! /usr/local/bin/ruby -w
require 'RMagick'
require 'test/unit'
require 'test/unit/ui/console/testrunner' if RUBY_VERSION != '1.9.1'
class Magick::Draw
def self._dummy_img_
@@_dummy_img_
end
end
class Draw_UT < Test::Unit::TestCase
def setup
@draw = Magick::Draw.new
end
# Ensure @@_dummy_img_ class var is working properly
def test_dummy_img
# initially this variable is not defined.
assert_raise(NameError) do
Magick::Draw._dummy_img_
end
# cause it to become defined. save the object id.
@draw.get_type_metrics("ABCDEF")
dummy = nil
assert_nothing_raised do
dummy = Magick::Draw._dummy_img_
end
assert_instance_of(Magick::Image, dummy)
# ensure that it is always the same object
@draw.get_type_metrics("ABCDEF")
dummy2 = nil
assert_nothing_raised do
dummy2 = Magick::Draw._dummy_img_
end
assert_same(dummy, dummy2)
end
def test_kerning
assert_nothing_raised { @draw.kerning = 1 }
assert_nothing_raised { @draw.kerning(1) }
assert_raise(ArgumentError) { @draw.kerning("a") }
assert_raise(TypeError) { @draw.kerning([]) }
end
def test_interword_spacing
assert_nothing_raised { @draw.interword_spacing = 1 }
assert_nothing_raised { @draw.interword_spacing(1) }
assert_raise(ArgumentError) { @draw.interword_spacing("a") }
assert_raise(TypeError) { @draw.interword_spacing([]) }
end
def assert_marshal
rose = Magick::Image.read("rose:").first
granite = Magick::Image.read("granite:").first
s = granite.to_blob {self.format="miff"}
granite = Magick::Image.from_blob(s).first
blue_stroke = Magick::Image.new(20,20) {self.background_color = "blue"}
s = blue_stroke.to_blob {self.format="miff"}
blue_stroke = Magick::Image.from_blob(s).first
@draw.affine = Magick::AffineMatrix.new(1, 2, 3, 4, 5, 6)
@draw.decorate = Magick::LineThroughDecoration
@draw.encoding = "AdobeCustom"
@draw.gravity = Magick::CenterGravity
@draw.fill = Magick::Pixel.from_color("red")
@draw.stroke = Magick::Pixel.from_color("blue")
@draw.stroke_width = 5
@draw.fill_pattern = granite
@draw.stroke_pattern = blue_stroke
@draw.text_antialias = true
@draw.font = "Arial-Bold"
@draw.font_family = "arial"
@draw.font_style = Magick::ItalicStyle
@draw.font_stretch = Magick::CondensedStretch
@draw.font_weight = Magick::BoldWeight
@draw.pointsize = 12
@draw.density = "72x72"
@draw.align = Magick::CenterAlign
@draw.undercolor = Magick::Pixel.from_color("green")
@draw.kerning = 10.5
@draw.interword_spacing = 3.75
@draw.circle(20, 25, 20, 28)
dumped = nil
assert_nothing_raised { dumped = Marshal.dump(@draw) }
assert_nothing_raised { Marshal.load(dumped) }
end
def test_patterns
img = Magick::Image.new(20,20)
assert_nothing_raised { @draw.fill_pattern = img }
assert_nothing_raised { @draw.stroke_pattern = img }
ilist = Magick::ImageList.new
ilist << img
assert_nothing_raised { @draw.fill_pattern = ilist }
assert_nothing_raised { @draw.stroke_pattern = ilist }
assert_raise(NoMethodError) { @draw.fill_pattern = 1 }
assert_raise(NoMethodError) { @draw.stroke_pattern = 1 }
end
end
if __FILE__ == $0
Test::Unit::UI::Console::TestRunner.run(Draw_UT) if RUBY_VERSION != '1.9.1'
end
Jump to Line
Something went wrong with that request. Please try again.