save_pdf: flush to file

Fixes #150
This commit is contained in:
Andy Meneely
2016-03-29 13:37:13 -04:00
parent 19812777d3
commit 2329a069d1
7 changed files with 16 additions and 3 deletions
+7 -1
View File
@@ -4,7 +4,8 @@ require 'squib'
describe Squib::Deck, '#save_pdf' do
context 'typical inputs' do
let(:cxt) { double(Cairo::Context) }
let(:cxt) { double(Cairo::Context) }
let(:target) { double(Cairo::PDFSurface) }
def expect_card_place(x, y)
expect(cxt).to receive(:translate).with(x, y).once
@@ -41,6 +42,8 @@ describe Squib::Deck, '#save_pdf' do
expect_card_place(2343, 1131)
expect(cxt).to receive(:show_page).once
expect_card_place(75, 75)
expect(cxt).to receive(:target).and_return(target)
expect(target).to receive(:finish).once
args = { file: 'foo.pdf', dir: '_out', margin: 75, gap: 5, trim: 37 }
deck.save_pdf(args)
@@ -59,6 +62,9 @@ describe Squib::Deck, '#save_pdf' do
expect_card_place(831, 75)
expect_card_place(1587, 75)
expect(cxt).to receive(:target).and_return(target)
expect(target).to receive(:finish).once
deck.save_pdf(args)
end