Browse Source

Updating specs for image cropping

Ripped out graphics_images_spec.rb for being annoyingly useless. Too many mock objects!
dev
Andy Meneely 10 years ago
parent
commit
8ea553eb95
  1. 6
      spec/data/samples/basic.rb.txt
  2. 3
      spec/data/samples/custom_config.rb.txt
  3. 45
      spec/data/samples/load_images.rb.txt
  4. 9
      spec/data/samples/ranges.rb.txt
  5. 12
      spec/data/samples/showcase.rb.txt
  6. 3
      spec/data/samples/tgc_proofs.rb.txt
  7. 94
      spec/graphics/graphics_images_spec.rb
  8. BIN
      spec/samples/expected/load_images_00.png
  9. 2
      spec/samples/samples_regression_spec.rb

6
spec/data/samples/basic.rb.txt

@ -202,12 +202,18 @@ cairo: save([])
cairo: translate([620, 218])
cairo: rotate([0])
cairo: scale([1.0, 1.0])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([620, 218])
cairo: rotate([0])
cairo: scale([1.0, 1.0])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
surface: write_to_png(["_output/basic_00.png"])

3
spec/data/samples/custom_config.rb.txt

@ -38,6 +38,9 @@ cairo: save([])
cairo: translate([620, 218])
cairo: rotate([0])
cairo: scale([1.0, 1.0])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
surface: write_to_png(["_output/custom-config_00.png"])

45
spec/data/samples/load_images.rb.txt

@ -28,12 +28,18 @@ cairo: save([])
cairo: translate([620, 218])
cairo: rotate([0])
cairo: scale([1.0, 1.0])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([50, 50])
cairo: rotate([0])
cairo: scale([1.953125, 1.953125])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
@ -51,12 +57,18 @@ cairo: save([])
cairo: translate([200, 350])
cairo: rotate([0])
cairo: scale([0.2734375, 0.2734375])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([200, 390])
cairo: rotate([0])
cairo: scale([0.2734375, 0.2734375])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
@ -122,27 +134,48 @@ cairo: set_source([ImageSurface, 500, 415])
cairo: paint([1.0])
cairo: restore([])
cairo: save([])
cairo: translate([300, 500])
cairo: rotate([0])
cairo: scale([0.5, 0.5])
cairo: rounded_rectangle([0, 0, 64.0, 64.0, 0, 0])
cairo: clip([])
cairo: translate([-32, -32])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([50, 350])
cairo: rotate([0])
cairo: scale([0.5859375, 0.5859375])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, "#backdrop"])
cairo: restore([])
cairo: save([])
cairo: translate([50, 450])
cairo: rotate([0])
cairo: scale([0.9765625, 0.9765625])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, "#backdrop"])
cairo: restore([])
cairo: save([])
cairo: translate([50, 600])
cairo: rotate([0])
cairo: scale([0.5859375, 0.5859375])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: scale([0.8021390374331551, 0.8032128514056225])
cairo: rounded_rectangle([0, 0, 748.0, 747.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, "#thing"])
cairo: restore([])
cairo: save([])
@ -190,12 +223,18 @@ cairo: save([])
cairo: translate([300, 900])
cairo: rotate([1.4707963267948965])
cairo: scale([1.0, 1.0])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([500, 600])
cairo: rotate([0])
cairo: scale([0.390625, 0.390625])
cairo: rounded_rectangle([0, 0, 512.0, 512.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: set_source_color(["#00ff00"])
cairo: mask([MockDouble, 0, 0])
@ -204,6 +243,9 @@ cairo: save([])
cairo: translate([500, 800])
cairo: rotate([0])
cairo: scale([0.390625, 0.390625])
cairo: rounded_rectangle([0, 0, 512.0, 512.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: set_source([LinearPattern])
cairo: mask([MockDouble, 0, 0])
@ -223,6 +265,9 @@ cairo: save([])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: scale([6.4453125, 8.7890625])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, "#"])
cairo: restore([])
surface: write_to_png(["_output/load_images_00.png"])

9
spec/data/samples/ranges.rb.txt

@ -404,18 +404,27 @@ cairo: save([])
cairo: translate([150, 55])
cairo: rotate([0])
cairo: scale([0.078125, 0.078125])
cairo: rounded_rectangle([0, 0, 512.0, 512.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([150, 55])
cairo: rotate([0])
cairo: scale([0.078125, 0.078125])
cairo: rounded_rectangle([0, 0, 512.0, 512.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([150, 97])
cairo: rotate([0])
cairo: scale([0.078125, 0.078125])
cairo: rounded_rectangle([0, 0, 512.0, 512.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])

12
spec/data/samples/showcase.rb.txt

@ -134,24 +134,36 @@ cairo: save([])
cairo: translate([162, 500])
cairo: rotate([0])
cairo: scale([3.90625, 3.90625])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([162, 500])
cairo: rotate([0])
cairo: scale([3.90625, 3.90625])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([162, 500])
cairo: rotate([0])
cairo: scale([3.90625, 3.90625])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([162, 500])
cairo: rotate([0])
cairo: scale([3.90625, 3.90625])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: set_source_color(["white"])

3
spec/data/samples/tgc_proofs.rb.txt

@ -72,6 +72,9 @@ cairo: save([])
cairo: translate([620, 218])
cairo: rotate([0])
cairo: scale([1.0, 1.0])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])

94
spec/graphics/graphics_images_spec.rb

@ -1,94 +0,0 @@
require 'spec_helper'
require 'squib'
require 'ostruct'
describe Squib::Card do
let(:deck) { double(Squib::Deck) }
let(:context) { double(Cairo::Context) }
let(:svg) { double(RSVG::Handle) }
let(:png) { double(Cairo::ImageSurface) }
let(:box) { OpenStruct.new({x: 37, y: 38, width: :native, height: :native})}
let(:paint) { OpenStruct.new({alpha: 0.9, blend: :none, mask: '' })}
let(:trans) { OpenStruct.new({angle: 0.0})}
before(:each) do
allow(Cairo::Context).to receive(:new).and_return(context)
allow(Cairo::ImageSurface).to receive(:from_png).and_return(png)
allow(Cairo::ImageSurface).to receive(:new).and_return(png)
allow(RSVG::Handle).to receive(:new_from_data).and_return(svg)
allow(deck).to receive(:dir).and_return('_output')
allow(deck).to receive(:count_format).and_return('%02d')
allow(deck).to receive(:prefix).and_return('card_')
allow(deck).to receive(:antialias).and_return('subpixel')
allow(deck).to receive(:backend).and_return('memory')
end
context '#png' do
it 'makes all the expected calls on a smoke test' do
expect(context).to receive(:antialias=).with('subpixel')
expect(context).to receive(:save).once
expect(context).to receive(:translate).with(-37, -38).once
expect(context).to receive(:rotate).with(0.0).once
expect(context).to receive(:translate).with(37, 38).once
expect(context).to receive(:set_source).with(png, 37, 38).once
expect(context).to receive(:paint).with(0.9).once
expect(context).to receive(:restore).once
card = Squib::Card.new(deck, 100, 150)
# png(file, x, y, alpha, blend, angle)
card.png('foo.png', box, paint, trans)
end
it 'sets blend when needed' do
context.as_null_object
expect(context).to receive(:operator=).with(:overlay).once
card = Squib::Card.new(deck, 100, 150)
paint.blend = :overlay
card.png('foo.png', box, paint, trans)
end
end
context '#svg' do
let(:svg_args) { OpenStruct.new({data: '<svg></svg>', id: 'id'}) }
it 'makes all the expected calls on a smoke test' do
expect(svg).to receive(:width).and_return(100).twice
expect(svg).to receive(:height).and_return(100).twice
expect(context).to receive(:antialias=).with('subpixel').once
expect(context).to receive(:save).once
expect(context).to receive(:rotate).with(0.0).once
expect(context).to receive(:translate).with(37, 38).once
expect(context).to receive(:scale).with(1.0, 1.0).once
expect(context).to receive(:render_rsvg_handle).with(svg, 'id').once
expect(context).to receive(:restore).once
card = Squib::Card.new(deck, 100, 150)
card.svg(nil, svg_args, box, paint, trans)
end
it 'sets blend when needed' do
context.as_null_object
svg.as_null_object
expect(context).to receive(:operator=).with(:overlay).once
card = Squib::Card.new(deck, 100, 150)
paint.blend = :overlay
card.svg(nil, svg_args, box, paint, trans)
end
it 'sets width & height when needed' do
context.as_null_object
expect(svg).to receive(:width).and_return(100).once
expect(svg).to receive(:height).and_return(100).once
expect(context).to receive(:scale).with(2.0, 3.0).once
card = Squib::Card.new(deck, 100, 150)
box.width = 200
box.height = 300
card.svg(nil, svg_args, box, paint, trans)
end
end
end

BIN
spec/samples/expected/load_images_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 136 KiB

2
spec/samples/samples_regression_spec.rb

@ -73,7 +73,7 @@ describe "Squib samples" do
log = StringIO.new
mock_cairo(log)
load sample
overwrite_sample(sample, log) # Use TEMPORARILY once happy with the new sample log
# overwrite_sample(sample, log) # Use TEMPORARILY once happy with the new sample log
test_file_str = File.open(sample_regression_file(sample), 'r:UTF-8').read
expect(log.string).to eq(test_file_str)
end

Loading…
Cancel
Save