spec/graphics/graphics_shapes_spec.rb in squib-0.5.1 vs spec/graphics/graphics_shapes_spec.rb in squib-0.6.0

- old
+ new

@@ -1,83 +1,85 @@ require 'spec_helper' require 'squib' describe Squib::Card do - def expect_stroke(fill_color, stroke_color, stroke_width) - expect(@context).to receive(:set_source_color).with(stroke_color).once - expect(@context).to receive(:set_line_width).with(stroke_width).once - expect(@context).to receive(:stroke).once - expect(@context).to receive(:set_source_color).with(fill_color).once - expect(@context).to receive(:fill).once + let(:deck) { double(Squib::Deck) } + let(:cxt) { double(Cairo::Context) } + + def expect_stroke(cxt, fill_color, stroke_color, stroke_width) + expect(cxt).to receive(:set_source_color).with(stroke_color).once + expect(cxt).to receive(:set_line_width).with(stroke_width).once + expect(cxt).to receive(:stroke).once + expect(cxt).to receive(:set_source_color).with(fill_color).once + expect(cxt).to receive(:fill).once end before(:each) do - @deck = double(Squib::Deck) - @context = double(Cairo::Context) - allow(Cairo::Context).to receive(:new).and_return(@context) - 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('best') + allow(Cairo::Context).to receive(:new).and_return(cxt) + 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 'rect' do it 'make 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(:rounded_rectangle).with(37, 38, 50, 100, 10, 15).twice - expect_stroke('#fff', '#f00', 2.0) - expect(@context).to receive(:restore).once + expect(cxt).to receive(:antialias=).with('subpixel') + expect(cxt).to receive(:save).once + expect(cxt).to receive(:rounded_rectangle).with(37, 38, 50, 100, 10, 15).twice + expect_stroke(cxt, '#fff', '#f00', 2.0) + expect(cxt).to receive(:restore).once - card = Squib::Card.new(@deck, 100, 150) + card = Squib::Card.new(deck, 100, 150) # rect(x, y, width, height, x_radius, y_radius, # fill_color, stroke_color, stroke_width) card.rect(37, 38, 50, 100, 10, 15, '#fff', '#f00', 2.0) end end context 'circle' do it 'make 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(:move_to).with(137, 38) - expect(@context).to receive(:circle).with(37, 38, 100).twice - expect_stroke('#fff', '#f00', 2.0) - expect(@context).to receive(:restore).once + expect(cxt).to receive(:antialias=).with('subpixel') + expect(cxt).to receive(:save).once + expect(cxt).to receive(:move_to).with(137, 38) + expect(cxt).to receive(:circle).with(37, 38, 100).twice + expect_stroke(cxt, '#fff', '#f00', 2.0) + expect(cxt).to receive(:restore).once - card = Squib::Card.new(@deck, 100, 150) + card = Squib::Card.new(deck, 100, 150) # circle(x, y, radius, # fill_color, stroke_color, stroke_width) card.circle(37, 38, 100, '#fff', '#f00', 2.0) end end context 'triangle' do it 'make 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(:triangle).with(1, 2, 3, 4, 5, 6).twice - expect_stroke('#fff', '#f00', 2.0) - expect(@context).to receive(:restore).once + expect(cxt).to receive(:antialias=).with('subpixel') + expect(cxt).to receive(:save).once + expect(cxt).to receive(:triangle).with(1, 2, 3, 4, 5, 6).twice + expect_stroke(cxt, '#fff', '#f00', 2.0) + expect(cxt).to receive(:restore).once - card = Squib::Card.new(@deck, 100, 150) + card = Squib::Card.new(deck, 100, 150) card.triangle(1, 2, 3, 4, 5, 6, '#fff', '#f00', 2.0) end end context 'line' do it 'make 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(:move_to).with(1, 2).once - expect(@context).to receive(:line_to).with(3, 4).once - expect(@context).to receive(:set_source_color).with('#fff').once - expect(@context).to receive(:set_line_width).with(2.0).once - expect(@context).to receive(:stroke).once - expect(@context).to receive(:restore).once + expect(cxt).to receive(:antialias=).with('subpixel') + expect(cxt).to receive(:save).once + expect(cxt).to receive(:move_to).with(1, 2).once + expect(cxt).to receive(:line_to).with(3, 4).once + expect(cxt).to receive(:set_source_color).with('#fff').once + expect(cxt).to receive(:set_line_width).with(2.0).once + expect(cxt).to receive(:stroke).once + expect(cxt).to receive(:restore).once - card = Squib::Card.new(@deck, 100, 150) + card = Squib::Card.new(deck, 100, 150) card.line(1, 2, 3, 4, '#fff', 2.0) end end end