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
|
# encoding: utf-8
require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
describe "A column box" do
it "has sensible left and right values" do
create_pdf
@pdf.column_box [0, @pdf.cursor], :width => @pdf.bounds.width, :height => 200, :columns => 3, :spacer => 25 do
left = @pdf.bounds.left
right = @pdf.bounds.right
@pdf.bounds.move_past_bottom # next column
expect(@pdf.bounds.left).to be > left
expect(@pdf.bounds.left).to be > right
expect(@pdf.bounds.right).to be > @pdf.bounds.left
end
end
it "includes spacers between columns but not at the end" do
create_pdf
@pdf.column_box [0, @pdf.cursor], :width => 500, :height => 200, :columns => 3, :spacer => 25 do
expect(@pdf.bounds.width).to eq(150) # (500 - (25 * 2)) / 3
@pdf.bounds.move_past_bottom
@pdf.bounds.move_past_bottom
expect(@pdf.bounds.right).to eq(500)
end
end
it "does not reset the top margin on a new page by default" do
create_pdf
page_top = @pdf.cursor
@pdf.move_down 50
init_column_top = @pdf.cursor
@pdf.column_box [0, @pdf.cursor], :width => 500, :height => 200, :columns => 2 do
@pdf.bounds.move_past_bottom
@pdf.bounds.move_past_bottom
expect(@pdf.bounds.absolute_top).to eq(init_column_top)
expect(@pdf.bounds.absolute_top).not_to eq(page_top)
end
end
it "does reset the top margin when reflow_margins is set" do
create_pdf
page_top = @pdf.cursor
@pdf.move_down 50
init_column_top = @pdf.cursor
@pdf.column_box [0, @pdf.cursor], :width => 500, :reflow_margins => true, :height => 200, :columns => 2 do
@pdf.bounds.move_past_bottom
@pdf.bounds.move_past_bottom
expect(@pdf.bounds.absolute_top).to eq(page_top)
expect(@pdf.bounds.absolute_top).not_to eq(init_column_top)
end
end
end
|