Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

122 lines (101 sloc) 3.91 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_interline_spacing
assert_nothing_raised { @draw.interline_spacing = 1 }
assert_nothing_raised { @draw.interline_spacing(1) }
assert_raise(ArgumentError) { @draw.interline_spacing("a") }
assert_raise(TypeError) { @draw.interline_spacing([]) }
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.