File: marshal_dump_spec.rb

package info (click to toggle)
ruby-rmagick 6.0.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,232 kB
  • sloc: cpp: 19,563; ruby: 17,147; sh: 88; javascript: 36; makefile: 13
file content (73 lines) | stat: -rw-r--r-- 2,607 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
RSpec.describe Magick::Draw, '#marshal_dump' do
  it 'marshals without an error' do
    draw = described_class.new

    granite = Magick::Image.read('granite:').first
    s = granite.to_blob { |options| options.format = 'miff' }
    granite = Magick::Image.from_blob(s).first
    blue_stroke = Magick::Image.new(20, 20) { |options| options.background_color = 'blue' }
    s = blue_stroke.to_blob { |options| options.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
    expect { dumped = Marshal.dump(draw) }.not_to raise_error
    expect { Marshal.load(dumped) }.not_to raise_error
  end

  it 'works' do
    draw1 = described_class.new
    draw2 = draw1.dup
    draw2.affine = Magick::AffineMatrix.new(1, 2, 3, 4, 5, 6)
    draw2.decorate = Magick::LineThroughDecoration
    draw2.encoding = 'AdobeCustom'
    draw2.gravity = Magick::CenterGravity
    draw2.fill = Magick::Pixel.from_color('red')
    draw2.fill_pattern = Magick::Image.new(10, 10) { |options| options.format = 'miff' }
    draw2.stroke = Magick::Pixel.from_color('blue')
    draw2.stroke_width = 5
    draw2.text_antialias = true
    draw2.font = 'Arial-Bold'
    draw2.font_family = 'arial'
    draw2.font_style = Magick::ItalicStyle
    draw2.font_stretch = Magick::CondensedStretch
    draw2.font_weight = Magick::BoldWeight
    draw2.pointsize = 12
    draw2.density = '72x72'
    draw2.align = Magick::CenterAlign
    draw2.undercolor = Magick::Pixel.from_color('green')
    draw2.kerning = 10.5
    draw2.interword_spacing = 3.75

    draw2.circle(20, 25, 20, 28)

    dumped = nil
    expect { dumped = draw2.marshal_dump }.not_to raise_error

    draw3 = draw1.dup
    draw3.marshal_load(dumped)
    expect(draw3.inspect).to eq(draw2.inspect)
  end
end