prawn-layout 0.3.2 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +1 -0
- data/Rakefile +6 -3
- data/lib/prawn/layout.rb +1 -1
- data/lib/prawn/layout/page.rb +0 -40
- data/lib/prawn/table/cell.rb +15 -13
- metadata +31 -309
- data/examples/page_layout/flowing_text_with_header_and_footer.rb +0 -36
- data/spec/page_layout_spec.rb +0 -41
- data/vendor/prawn-core/COPYING +0 -340
- data/vendor/prawn-core/HACKING +0 -46
- data/vendor/prawn-core/LICENSE +0 -56
- data/vendor/prawn-core/README +0 -142
- data/vendor/prawn-core/Rakefile +0 -75
- data/vendor/prawn-core/bench/afm_text_bench.rb +0 -18
- data/vendor/prawn-core/bench/png_type_6.rb +0 -15
- data/vendor/prawn-core/bench/ttf_text_bench.rb +0 -19
- data/vendor/prawn-core/bugs/canvas_sets_y_to_0.rb +0 -15
- data/vendor/prawn-core/bugs/png_barcode_issue.rb +0 -11
- data/vendor/prawn-core/bugs/resolved/canvas_sets_y_to_0.rb +0 -15
- data/vendor/prawn-core/data/encodings/win_ansi.txt +0 -29
- data/vendor/prawn-core/data/fonts/Action Man.dfont +0 -0
- data/vendor/prawn-core/data/fonts/Activa.ttf +0 -0
- data/vendor/prawn-core/data/fonts/Chalkboard.ttf +0 -0
- data/vendor/prawn-core/data/fonts/Courier-Bold.afm +0 -342
- data/vendor/prawn-core/data/fonts/Courier-BoldOblique.afm +0 -342
- data/vendor/prawn-core/data/fonts/Courier-Oblique.afm +0 -342
- data/vendor/prawn-core/data/fonts/Courier.afm +0 -342
- data/vendor/prawn-core/data/fonts/DejaVuSans.ttf +0 -0
- data/vendor/prawn-core/data/fonts/Dustismo_Roman.ttf +0 -0
- data/vendor/prawn-core/data/fonts/Helvetica-Bold.afm +0 -2827
- data/vendor/prawn-core/data/fonts/Helvetica-BoldOblique.afm +0 -2827
- data/vendor/prawn-core/data/fonts/Helvetica-Oblique.afm +0 -3051
- data/vendor/prawn-core/data/fonts/Helvetica.afm +0 -3051
- data/vendor/prawn-core/data/fonts/MustRead.html +0 -19
- data/vendor/prawn-core/data/fonts/Symbol.afm +0 -213
- data/vendor/prawn-core/data/fonts/Times-Bold.afm +0 -2588
- data/vendor/prawn-core/data/fonts/Times-BoldItalic.afm +0 -2384
- data/vendor/prawn-core/data/fonts/Times-Italic.afm +0 -2667
- data/vendor/prawn-core/data/fonts/Times-Roman.afm +0 -2419
- data/vendor/prawn-core/data/fonts/ZapfDingbats.afm +0 -225
- data/vendor/prawn-core/data/fonts/comicsans.ttf +0 -0
- data/vendor/prawn-core/data/fonts/gkai00mp.ttf +0 -0
- data/vendor/prawn-core/data/images/16bit.alpha +0 -0
- data/vendor/prawn-core/data/images/16bit.dat +0 -0
- data/vendor/prawn-core/data/images/16bit.png +0 -0
- data/vendor/prawn-core/data/images/arrow.png +0 -0
- data/vendor/prawn-core/data/images/arrow2.png +0 -0
- data/vendor/prawn-core/data/images/barcode_issue.png +0 -0
- data/vendor/prawn-core/data/images/dice.alpha +0 -0
- data/vendor/prawn-core/data/images/dice.dat +0 -0
- data/vendor/prawn-core/data/images/dice.png +0 -0
- data/vendor/prawn-core/data/images/dice_interlaced.png +0 -0
- data/vendor/prawn-core/data/images/fractal.jpg +0 -0
- data/vendor/prawn-core/data/images/letterhead.jpg +0 -0
- data/vendor/prawn-core/data/images/page_white_text.alpha +0 -0
- data/vendor/prawn-core/data/images/page_white_text.dat +0 -0
- data/vendor/prawn-core/data/images/page_white_text.png +0 -0
- data/vendor/prawn-core/data/images/pigs.jpg +0 -0
- data/vendor/prawn-core/data/images/rails.dat +0 -0
- data/vendor/prawn-core/data/images/rails.png +0 -0
- data/vendor/prawn-core/data/images/ruport.png +0 -0
- data/vendor/prawn-core/data/images/ruport_data.dat +0 -0
- data/vendor/prawn-core/data/images/ruport_transparent.png +0 -0
- data/vendor/prawn-core/data/images/ruport_type0.png +0 -0
- data/vendor/prawn-core/data/images/stef.jpg +0 -0
- data/vendor/prawn-core/data/images/tru256.bmp +0 -0
- data/vendor/prawn-core/data/images/web-links.dat +0 -1
- data/vendor/prawn-core/data/images/web-links.png +0 -0
- data/vendor/prawn-core/data/shift_jis_text.txt +0 -1
- data/vendor/prawn-core/examples/bounding_box/bounding_boxes.rb +0 -43
- data/vendor/prawn-core/examples/bounding_box/indentation.rb +0 -34
- data/vendor/prawn-core/examples/bounding_box/russian_boxes.rb +0 -36
- data/vendor/prawn-core/examples/bounding_box/stretched_nesting.rb +0 -67
- data/vendor/prawn-core/examples/column_box/column_box_example.rb +0 -43
- data/vendor/prawn-core/examples/example_helper.rb +0 -3
- data/vendor/prawn-core/examples/general/background.rb +0 -23
- data/vendor/prawn-core/examples/general/canvas.rb +0 -15
- data/vendor/prawn-core/examples/general/margin.rb +0 -36
- data/vendor/prawn-core/examples/general/measurement_units.rb +0 -51
- data/vendor/prawn-core/examples/general/metadata-info.rb +0 -16
- data/vendor/prawn-core/examples/general/multi_page_layout.rb +0 -18
- data/vendor/prawn-core/examples/general/page_geometry.rb +0 -31
- data/vendor/prawn-core/examples/general/page_numbering.rb +0 -15
- data/vendor/prawn-core/examples/general/stamp.rb +0 -45
- data/vendor/prawn-core/examples/graphics/basic_images.rb +0 -23
- data/vendor/prawn-core/examples/graphics/cmyk.rb +0 -12
- data/vendor/prawn-core/examples/graphics/curves.rb +0 -11
- data/vendor/prawn-core/examples/graphics/hexagon.rb +0 -13
- data/vendor/prawn-core/examples/graphics/image_fit.rb +0 -15
- data/vendor/prawn-core/examples/graphics/image_flow.rb +0 -37
- data/vendor/prawn-core/examples/graphics/image_position.rb +0 -17
- data/vendor/prawn-core/examples/graphics/line.rb +0 -32
- data/vendor/prawn-core/examples/graphics/png_types.rb +0 -22
- data/vendor/prawn-core/examples/graphics/polygons.rb +0 -16
- data/vendor/prawn-core/examples/graphics/remote_images.rb +0 -12
- data/vendor/prawn-core/examples/graphics/ruport_style_helpers.rb +0 -19
- data/vendor/prawn-core/examples/graphics/stroke_bounds.rb +0 -20
- data/vendor/prawn-core/examples/graphics/stroke_cap_and_join.rb +0 -45
- data/vendor/prawn-core/examples/graphics/stroke_dash.rb +0 -42
- data/vendor/prawn-core/examples/graphics/transparency.rb +0 -26
- data/vendor/prawn-core/examples/m17n/chinese_text_wrapping.rb +0 -19
- data/vendor/prawn-core/examples/m17n/euro.rb +0 -15
- data/vendor/prawn-core/examples/m17n/sjis.rb +0 -28
- data/vendor/prawn-core/examples/m17n/utf8.rb +0 -13
- data/vendor/prawn-core/examples/m17n/win_ansi_charset.rb +0 -54
- data/vendor/prawn-core/examples/text/alignment.rb +0 -18
- data/vendor/prawn-core/examples/text/dfont.rb +0 -48
- data/vendor/prawn-core/examples/text/family_based_styling.rb +0 -24
- data/vendor/prawn-core/examples/text/font_calculations.rb +0 -91
- data/vendor/prawn-core/examples/text/font_size.rb +0 -33
- data/vendor/prawn-core/examples/text/kerning.rb +0 -30
- data/vendor/prawn-core/examples/text/simple_text.rb +0 -17
- data/vendor/prawn-core/examples/text/simple_text_ttf.rb +0 -17
- data/vendor/prawn-core/examples/text/span.rb +0 -29
- data/vendor/prawn-core/examples/text/text_box.rb +0 -25
- data/vendor/prawn-core/examples/text/text_box_returning_excess.rb +0 -51
- data/vendor/prawn-core/examples/text/text_flow.rb +0 -67
- data/vendor/prawn-core/lib/prawn/byte_string.rb +0 -7
- data/vendor/prawn-core/lib/prawn/compatibility.rb +0 -38
- data/vendor/prawn-core/lib/prawn/core.rb +0 -85
- data/vendor/prawn-core/lib/prawn/document.rb +0 -534
- data/vendor/prawn-core/lib/prawn/document/annotations.rb +0 -65
- data/vendor/prawn-core/lib/prawn/document/bounding_box.rb +0 -390
- data/vendor/prawn-core/lib/prawn/document/column_box.rb +0 -102
- data/vendor/prawn-core/lib/prawn/document/destinations.rb +0 -92
- data/vendor/prawn-core/lib/prawn/document/internals.rb +0 -180
- data/vendor/prawn-core/lib/prawn/document/page_geometry.rb +0 -153
- data/vendor/prawn-core/lib/prawn/document/snapshot.rb +0 -71
- data/vendor/prawn-core/lib/prawn/document/span.rb +0 -55
- data/vendor/prawn-core/lib/prawn/document/text.rb +0 -184
- data/vendor/prawn-core/lib/prawn/document/text/box.rb +0 -90
- data/vendor/prawn-core/lib/prawn/document/text/wrapping.rb +0 -62
- data/vendor/prawn-core/lib/prawn/encoding.rb +0 -121
- data/vendor/prawn-core/lib/prawn/errors.rb +0 -61
- data/vendor/prawn-core/lib/prawn/font.rb +0 -297
- data/vendor/prawn-core/lib/prawn/font/afm.rb +0 -202
- data/vendor/prawn-core/lib/prawn/font/dfont.rb +0 -34
- data/vendor/prawn-core/lib/prawn/font/ttf.rb +0 -329
- data/vendor/prawn-core/lib/prawn/graphics.rb +0 -264
- data/vendor/prawn-core/lib/prawn/graphics/cap_style.rb +0 -35
- data/vendor/prawn-core/lib/prawn/graphics/color.rb +0 -141
- data/vendor/prawn-core/lib/prawn/graphics/dash.rb +0 -69
- data/vendor/prawn-core/lib/prawn/graphics/join_style.rb +0 -35
- data/vendor/prawn-core/lib/prawn/graphics/transparency.rb +0 -56
- data/vendor/prawn-core/lib/prawn/images.rb +0 -339
- data/vendor/prawn-core/lib/prawn/images/jpg.rb +0 -46
- data/vendor/prawn-core/lib/prawn/images/png.rb +0 -219
- data/vendor/prawn-core/lib/prawn/literal_string.rb +0 -14
- data/vendor/prawn-core/lib/prawn/measurement_extensions.rb +0 -46
- data/vendor/prawn-core/lib/prawn/measurements.rb +0 -71
- data/vendor/prawn-core/lib/prawn/name_tree.rb +0 -166
- data/vendor/prawn-core/lib/prawn/object_store.rb +0 -63
- data/vendor/prawn-core/lib/prawn/pdf_object.rb +0 -81
- data/vendor/prawn-core/lib/prawn/reference.rb +0 -72
- data/vendor/prawn-core/lib/prawn/stamp.rb +0 -87
- data/vendor/prawn-core/meta/Rakefile +0 -62
- data/vendor/prawn-core/meta/lib/prawn.rb +0 -2
- data/vendor/prawn-core/reference_pdfs/alignment.pdf +0 -229
- data/vendor/prawn-core/reference_pdfs/background.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/basic_images.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/bounding_boxes.pdf +0 -128
- data/vendor/prawn-core/reference_pdfs/canvas.pdf +0 -78
- data/vendor/prawn-core/reference_pdfs/chinese_flow.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/cmyk.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/column_box.pdf +0 -3671
- data/vendor/prawn-core/reference_pdfs/curves.pdf +0 -62
- data/vendor/prawn-core/reference_pdfs/dfont.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/euro.pdf +0 -75
- data/vendor/prawn-core/reference_pdfs/family_style.pdf +0 -286
- data/vendor/prawn-core/reference_pdfs/flow.pdf +0 -964
- data/vendor/prawn-core/reference_pdfs/font_calculations.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/font_size.pdf +0 -142
- data/vendor/prawn-core/reference_pdfs/hexagon.pdf +0 -61
- data/vendor/prawn-core/reference_pdfs/image-flow.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/image_fit.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/image_position.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/indentation.pdf +0 -124
- data/vendor/prawn-core/reference_pdfs/kerning.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/landscape_a4.pdf +0 -52
- data/vendor/prawn-core/reference_pdfs/landscape_legal.pdf +0 -52
- data/vendor/prawn-core/reference_pdfs/landscape_letter.pdf +0 -52
- data/vendor/prawn-core/reference_pdfs/lines.pdf +0 -116
- data/vendor/prawn-core/reference_pdfs/margin.pdf +0 -3850
- data/vendor/prawn-core/reference_pdfs/measurement_units.pdf +0 -4667
- data/vendor/prawn-core/reference_pdfs/metadata-info.pdf +0 -88
- data/vendor/prawn-core/reference_pdfs/multi-layout.pdf +0 -209
- data/vendor/prawn-core/reference_pdfs/page_with_numbering.pdf +0 -156
- data/vendor/prawn-core/reference_pdfs/png_types.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/portrait_a4.pdf +0 -52
- data/vendor/prawn-core/reference_pdfs/portrait_legal.pdf +0 -52
- data/vendor/prawn-core/reference_pdfs/portrait_letter.pdf +0 -52
- data/vendor/prawn-core/reference_pdfs/pretty_polygons.pdf +0 -122
- data/vendor/prawn-core/reference_pdfs/remote_images.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/ruport.pdf +0 -101
- data/vendor/prawn-core/reference_pdfs/russian_boxes.pdf +0 -2780
- data/vendor/prawn-core/reference_pdfs/simple_text.pdf +0 -136
- data/vendor/prawn-core/reference_pdfs/simple_text_ttf.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/sjis.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/span.pdf +0 -1975
- data/vendor/prawn-core/reference_pdfs/stamp.pdf +0 -696
- data/vendor/prawn-core/reference_pdfs/stretched_nesting.pdf +0 -200
- data/vendor/prawn-core/reference_pdfs/stroke_bounds.pdf +0 -135
- data/vendor/prawn-core/reference_pdfs/stroke_cap_and_join.pdf +0 -80
- data/vendor/prawn-core/reference_pdfs/stroke_dash.pdf +0 -457
- data/vendor/prawn-core/reference_pdfs/text_box.pdf +0 -315
- data/vendor/prawn-core/reference_pdfs/text_box_returning_excess.pdf +0 -271
- data/vendor/prawn-core/reference_pdfs/transparency.pdf +0 -347
- data/vendor/prawn-core/reference_pdfs/utf8.pdf +0 -0
- data/vendor/prawn-core/reference_pdfs/win-ansi.pdf +0 -6172
- data/vendor/prawn-core/spec/annotations_spec.rb +0 -90
- data/vendor/prawn-core/spec/bounding_box_spec.rb +0 -185
- data/vendor/prawn-core/spec/destinations_spec.rb +0 -15
- data/vendor/prawn-core/spec/document_spec.rb +0 -231
- data/vendor/prawn-core/spec/font_spec.rb +0 -273
- data/vendor/prawn-core/spec/graphics_spec.rb +0 -209
- data/vendor/prawn-core/spec/images_spec.rb +0 -79
- data/vendor/prawn-core/spec/jpg_spec.rb +0 -25
- data/vendor/prawn-core/spec/measurement_units_spec.rb +0 -23
- data/vendor/prawn-core/spec/name_tree_spec.rb +0 -112
- data/vendor/prawn-core/spec/object_store_spec.rb +0 -42
- data/vendor/prawn-core/spec/pdf_object_spec.rb +0 -122
- data/vendor/prawn-core/spec/png_spec.rb +0 -236
- data/vendor/prawn-core/spec/reference_spec.rb +0 -82
- data/vendor/prawn-core/spec/snapshot_spec.rb +0 -115
- data/vendor/prawn-core/spec/span_spec.rb +0 -45
- data/vendor/prawn-core/spec/spec_helper.rb +0 -20
- data/vendor/prawn-core/spec/stamp_spec.rb +0 -98
- data/vendor/prawn-core/spec/stroke_styles_spec.rb +0 -152
- data/vendor/prawn-core/spec/text_box_spec.rb +0 -109
- data/vendor/prawn-core/spec/text_spec.rb +0 -185
- data/vendor/prawn-core/spec/transparency_spec.rb +0 -61
- data/vendor/prawn-core/vendor/pdf-inspector/README +0 -18
- data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector.rb +0 -26
- data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/extgstate.rb +0 -18
- data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/graphics.rb +0 -119
- data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/page.rb +0 -25
- data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/text.rb +0 -31
- data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/xobject.rb +0 -19
- data/vendor/prawn-core/vendor/ttfunk/data/fonts/DejaVuSans.ttf +0 -0
- data/vendor/prawn-core/vendor/ttfunk/data/fonts/comicsans.ttf +0 -0
- data/vendor/prawn-core/vendor/ttfunk/example.rb +0 -45
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk.rb +0 -102
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/directory.rb +0 -17
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/mac_roman.rb +0 -88
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/windows_1252.rb +0 -69
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/reader.rb +0 -44
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/resource_file.rb +0 -78
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset.rb +0 -18
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/base.rb +0 -141
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/mac_roman.rb +0 -46
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode.rb +0 -48
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode_8bit.rb +0 -63
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/windows_1252.rb +0 -51
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset_collection.rb +0 -72
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table.rb +0 -46
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap.rb +0 -34
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format00.rb +0 -54
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format04.rb +0 -126
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/subtable.rb +0 -79
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf.rb +0 -64
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/compound.rb +0 -81
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/simple.rb +0 -37
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/head.rb +0 -44
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hhea.rb +0 -41
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hmtx.rb +0 -47
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern.rb +0 -79
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern/format0.rb +0 -62
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/loca.rb +0 -43
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/maxp.rb +0 -40
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/name.rb +0 -119
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/os2.rb +0 -78
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post.rb +0 -91
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format10.rb +0 -43
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format20.rb +0 -35
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format25.rb +0 -23
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format30.rb +0 -17
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format40.rb +0 -17
- data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/simple.rb +0 -14
- data/vendor/prawn-core/www/index.html +0 -196
- data/vendor/prawn-core/www/media/bounding_boxes.pdf +0 -146
- data/vendor/prawn-core/www/media/bounding_boxes.png +0 -0
- data/vendor/prawn-core/www/media/bounding_boxes_out.png +0 -0
- data/vendor/prawn-core/www/media/fancy_table.pdf +0 -350
- data/vendor/prawn-core/www/media/image.pdf +0 -0
- data/vendor/prawn-core/www/media/images.png +0 -0
- data/vendor/prawn-core/www/media/prawn_logo.png +0 -0
- data/vendor/prawn-core/www/media/tables.png +0 -0
- data/vendor/prawn-core/www/media/utf8.pdf +0 -0
- data/vendor/prawn-core/www/media/utf8.png +0 -0
- data/vendor/prawn-core/www/prawn-Chinese.html +0 -113
- data/vendor/prawn-core/www/prawn.css +0 -86
- data/vendor/prawn-core/www/twilight.css +0 -266
@@ -1,82 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
|
4
|
-
|
5
|
-
describe "A Reference object" do
|
6
|
-
it "should produce a PDF reference on #to_s call" do
|
7
|
-
ref = Prawn::Reference(1,true)
|
8
|
-
ref.to_s.should == "1 0 R"
|
9
|
-
end
|
10
|
-
|
11
|
-
it "should allow changing generation number" do
|
12
|
-
ref = Prawn::Reference(1,true)
|
13
|
-
ref.gen = 1
|
14
|
-
ref.to_s.should == "1 1 R"
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should generate a valid PDF object for the referenced data" do
|
18
|
-
ref = Prawn::Reference(2,[1,"foo"])
|
19
|
-
ref.object.should == "2 0 obj\n#{Prawn::PdfObject([1,"foo"])}\nendobj\n"
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should automatically open a stream when #<< is used" do
|
23
|
-
ref = Prawn::Reference(1, :Length => 41)
|
24
|
-
ref << "BT\n/F1 12 Tf\n72 712 Td\n( A stream ) Tj\nET"
|
25
|
-
ref.object.should == "1 0 obj\n<< /Length 41\n>>\nstream"+
|
26
|
-
"\nBT\n/F1 12 Tf\n72 712 Td\n( A stream ) Tj\nET" +
|
27
|
-
"\nendstream\nendobj\n"
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should compress a stream upon request" do
|
31
|
-
ref = Prawn::Reference(2,{})
|
32
|
-
ref << "Hi There " * 20
|
33
|
-
|
34
|
-
cref = Prawn::Reference(2,{})
|
35
|
-
cref << "Hi There " * 20
|
36
|
-
cref.compress_stream
|
37
|
-
|
38
|
-
assert cref.stream.size < ref.stream.size,
|
39
|
-
"compressed stream expected to be smaller than source but wasn't"
|
40
|
-
cref.data[:Filter].should == :FlateDecode
|
41
|
-
end
|
42
|
-
|
43
|
-
it "should copy the data and stream from another ref on #replace" do
|
44
|
-
from = Prawn::Reference(3, {:foo => 'bar'})
|
45
|
-
from << "has a stream too"
|
46
|
-
|
47
|
-
to = Prawn::Reference(4, {:foo => 'baz'})
|
48
|
-
to.replace from
|
49
|
-
|
50
|
-
# should preserve identifier but copy data and stream
|
51
|
-
to.identifier.should == 4
|
52
|
-
to.data.should == from.data
|
53
|
-
to.stream.should == from.stream
|
54
|
-
end
|
55
|
-
|
56
|
-
it "should copy a compressed stream from a compressed ref on #replace" do
|
57
|
-
from = Prawn::Reference(5, {:foo => 'bar'})
|
58
|
-
from << "has a stream too " * 20
|
59
|
-
from.compress_stream
|
60
|
-
|
61
|
-
to = Prawn::Reference(6, {:foo => 'baz'})
|
62
|
-
to.replace from
|
63
|
-
|
64
|
-
to.identifier.should == 6
|
65
|
-
to.data.should == from.data
|
66
|
-
to.stream.should == from.stream
|
67
|
-
to.compressed?.should == true
|
68
|
-
end
|
69
|
-
|
70
|
-
describe "generated via Prawn::Document" do
|
71
|
-
it "should return a proper reference on ref!" do
|
72
|
-
pdf = Prawn::Document.new
|
73
|
-
pdf.ref!({}).is_a?(Prawn::Reference).should == true
|
74
|
-
end
|
75
|
-
|
76
|
-
it "should return an identifier on ref" do
|
77
|
-
pdf = Prawn::Document.new
|
78
|
-
r = pdf.ref({})
|
79
|
-
r.is_a?(Integer).should == true
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
@@ -1,115 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
|
4
|
-
|
5
|
-
describe "Prawn::Document#transaction" do
|
6
|
-
|
7
|
-
it "should properly commit if no error is raised" do
|
8
|
-
pdf = Prawn::Document.new do
|
9
|
-
transaction do
|
10
|
-
text "This is shown"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
text = PDF::Inspector::Text.analyze(pdf.render)
|
14
|
-
text.strings.should == ["This is shown"]
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should not display text if transaction is rolled back" do
|
18
|
-
pdf = Prawn::Document.new do
|
19
|
-
transaction do
|
20
|
-
text "This is not shown"
|
21
|
-
rollback
|
22
|
-
end
|
23
|
-
end
|
24
|
-
text = PDF::Inspector::Text.analyze(pdf.render)
|
25
|
-
text.strings.should == []
|
26
|
-
end
|
27
|
-
|
28
|
-
it "should return true/false value indicating success of the transaction" do
|
29
|
-
Prawn::Document.new do
|
30
|
-
success = transaction { }
|
31
|
-
success.should == true
|
32
|
-
|
33
|
-
success = transaction { rollback }
|
34
|
-
success.should == false
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should support nested transactions" do
|
39
|
-
pdf = Prawn::Document.new do
|
40
|
-
transaction do
|
41
|
-
text "This is shown"
|
42
|
-
transaction do
|
43
|
-
text "and this is not"
|
44
|
-
rollback
|
45
|
-
end
|
46
|
-
text "and this is"
|
47
|
-
end
|
48
|
-
end
|
49
|
-
text = PDF::Inspector::Text.analyze(pdf.render)
|
50
|
-
text.strings.should == ["This is shown", "and this is"]
|
51
|
-
end
|
52
|
-
|
53
|
-
it "should allow rollback of multiple pages" do
|
54
|
-
pdf = Prawn::Document.new do
|
55
|
-
transaction do
|
56
|
-
5.times { start_new_page }
|
57
|
-
text "way out there and will never be shown"
|
58
|
-
rollback
|
59
|
-
end
|
60
|
-
text "This is the real text, only one page"
|
61
|
-
end
|
62
|
-
|
63
|
-
pages = PDF::Inspector::Page.analyze(pdf.render).pages
|
64
|
-
pages.size.should == 1
|
65
|
-
end
|
66
|
-
|
67
|
-
# Because the Pages object, when restored, points to the snapshotted pages
|
68
|
-
# by identifier, we have to restore the snapshot into the same page objects,
|
69
|
-
# or else old pages will appear in the post-rollback document.
|
70
|
-
it "should restore the pages into the same objects" do
|
71
|
-
Prawn::Document.new do
|
72
|
-
old_page_object_id = current_page.identifier
|
73
|
-
old_page_content_id = page_content.identifier
|
74
|
-
|
75
|
-
transaction do
|
76
|
-
start_new_page
|
77
|
-
rollback
|
78
|
-
end
|
79
|
-
|
80
|
-
current_page.identifier.should == old_page_object_id
|
81
|
-
page_content.identifier.should == old_page_content_id
|
82
|
-
end
|
83
|
-
|
84
|
-
|
85
|
-
end
|
86
|
-
|
87
|
-
|
88
|
-
describe "with a stamp dictionary present" do
|
89
|
-
|
90
|
-
it "should properly commit if no error is raised" do
|
91
|
-
pdf = Prawn::Document.new do
|
92
|
-
create_stamp("test_stamp") { text "This is shown", :at => [0,0] }
|
93
|
-
transaction do
|
94
|
-
stamp("test_stamp")
|
95
|
-
end
|
96
|
-
end
|
97
|
-
pdf.render.should =~ /\/Stamp1 Do/
|
98
|
-
end
|
99
|
-
|
100
|
-
it "should properly rollback when #rollback is called" do
|
101
|
-
pdf = Prawn::Document.new do
|
102
|
-
create_stamp("test_stamp") { text "This is not shown", :at => [0,0] }
|
103
|
-
|
104
|
-
transaction do
|
105
|
-
stamp("test_stamp")
|
106
|
-
rollback
|
107
|
-
end
|
108
|
-
end
|
109
|
-
pdf.render.should.not =~ /\/Stamp1 Do/
|
110
|
-
end
|
111
|
-
|
112
|
-
end
|
113
|
-
|
114
|
-
end
|
115
|
-
|
@@ -1,45 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
|
4
|
-
|
5
|
-
describe "drawing span" do
|
6
|
-
|
7
|
-
before(:each) {
|
8
|
-
Prawn.debug = false
|
9
|
-
create_pdf
|
10
|
-
}
|
11
|
-
|
12
|
-
it "should only accept :position as option in debug mode" do
|
13
|
-
Prawn.debug = true
|
14
|
-
lambda { @pdf.span(350, {:x => 3}) {} }.should.raise(Prawn::Errors::UnknownOption)
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should have raise an error if :position is invalid" do
|
18
|
-
lambda { @pdf.span(350, :position => :x) {} }.should.raise(ArgumentError)
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should restore the margin box when bounding box exits" do
|
22
|
-
margin_box = @pdf.bounds
|
23
|
-
|
24
|
-
@pdf.span(350, :position => :center) do
|
25
|
-
@pdf.text "Here's some centered text in a 350 point column. " * 100
|
26
|
-
end
|
27
|
-
|
28
|
-
@pdf.bounds.should == margin_box
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should do create a margin box" do
|
33
|
-
y = @pdf.y
|
34
|
-
margin_box = @pdf.span(350, :position => :center) do
|
35
|
-
@pdf.text "Here's some centered text in a 350 point column. " * 100
|
36
|
-
end
|
37
|
-
|
38
|
-
margin_box.top.should == 792.0
|
39
|
-
margin_box.bottom.should == 0
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
puts "Prawn specs: Running on Ruby Version: #{RUBY_VERSION}"
|
4
|
-
|
5
|
-
require "rubygems"
|
6
|
-
require "test/spec"
|
7
|
-
require "mocha"
|
8
|
-
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
9
|
-
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'vendor','pdf-inspector','lib')
|
10
|
-
require "prawn/core"
|
11
|
-
|
12
|
-
Prawn.debug = true
|
13
|
-
|
14
|
-
gem 'pdf-reader', ">=0.7.3"
|
15
|
-
require "pdf/reader"
|
16
|
-
require "pdf/inspector"
|
17
|
-
|
18
|
-
def create_pdf(klass=Prawn::Document)
|
19
|
-
@pdf = klass.new(:margin => 0)
|
20
|
-
end
|
@@ -1,98 +0,0 @@
|
|
1
|
-
require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
|
2
|
-
|
3
|
-
describe "Document with a stamp" do
|
4
|
-
it "should raise NameTaken error when attempt to create stamp "+
|
5
|
-
"with same name as an existing stamp" do
|
6
|
-
create_pdf
|
7
|
-
@pdf.create_stamp("MyStamp")
|
8
|
-
lambda {
|
9
|
-
@pdf.create_stamp("MyStamp")
|
10
|
-
}.should.raise(Prawn::Errors::NameTaken)
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should raise InvalidName error when attempt to create "+
|
14
|
-
"stamp with a blank name" do
|
15
|
-
create_pdf
|
16
|
-
lambda {
|
17
|
-
@pdf.create_stamp("")
|
18
|
-
}.should.raise(Prawn::Errors::InvalidName)
|
19
|
-
end
|
20
|
-
|
21
|
-
it "a new XObject should be defined for each stamp created" do
|
22
|
-
create_pdf
|
23
|
-
@pdf.create_stamp("MyStamp")
|
24
|
-
@pdf.create_stamp("AnotherStamp")
|
25
|
-
@pdf.stamp("MyStamp")
|
26
|
-
@pdf.stamp("AnotherStamp")
|
27
|
-
|
28
|
-
inspector = PDF::Inspector::XObject.analyze(@pdf.render)
|
29
|
-
xobjects = inspector.page_xobjects.last
|
30
|
-
xobjects.length.should == 2
|
31
|
-
end
|
32
|
-
|
33
|
-
it "calling stamp with a name that does not match an existing stamp "+
|
34
|
-
"should raise UndefinedObjectName" do
|
35
|
-
create_pdf
|
36
|
-
@pdf.create_stamp("MyStamp")
|
37
|
-
lambda {
|
38
|
-
@pdf.stamp("OtherStamp")
|
39
|
-
}.should.raise(Prawn::Errors::UndefinedObjectName)
|
40
|
-
end
|
41
|
-
|
42
|
-
it "stamp should be drawn into the document each time stamp is called" do
|
43
|
-
create_pdf
|
44
|
-
@pdf.create_stamp("MyStamp")
|
45
|
-
@pdf.stamp("MyStamp")
|
46
|
-
@pdf.stamp("MyStamp")
|
47
|
-
@pdf.stamp("MyStamp")
|
48
|
-
# I had modified PDF::Inspector::XObject to receive the
|
49
|
-
# invoke_xobject message and count the number of times it was
|
50
|
-
# called, but it was only called once, so I reverted checking the
|
51
|
-
# output with a regular expression
|
52
|
-
@pdf.render.should =~ /(\/Stamp1 Do.*?){3}/m
|
53
|
-
end
|
54
|
-
|
55
|
-
it "resources added during stamp creation should be added to the "+
|
56
|
-
"stamp XObject, not the page" do
|
57
|
-
create_pdf
|
58
|
-
@pdf.create_stamp("MyStamp") do
|
59
|
-
@pdf.transparent(0.5) { @pdf.circle_at([100, 100], :radius => 10)}
|
60
|
-
end
|
61
|
-
@pdf.stamp("MyStamp")
|
62
|
-
|
63
|
-
# Inspector::XObject does not give information about resources, so
|
64
|
-
# resorting to string matching
|
65
|
-
|
66
|
-
output = @pdf.render
|
67
|
-
objects = output.split("endobj")
|
68
|
-
objects.each do |object|
|
69
|
-
if object =~ /\/Type \/Page$/
|
70
|
-
object.should.not =~ /\/ExtGState/
|
71
|
-
elsif object =~ /\/Type \/XObject$/
|
72
|
-
object.should =~ /\/ExtGState/
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
it "if ProcSet changes are made, they should be added to the Page "+
|
78
|
-
"object, not the stamp XObject" do
|
79
|
-
create_pdf
|
80
|
-
@pdf.create_stamp("MyStamp") do
|
81
|
-
@pdf.text("hello")
|
82
|
-
end
|
83
|
-
@pdf.stamp("MyStamp")
|
84
|
-
|
85
|
-
# Inspector::XObject does not give information about ProcSet, so
|
86
|
-
# resorting to string matching
|
87
|
-
|
88
|
-
output = @pdf.render
|
89
|
-
objects = output.split("endobj")
|
90
|
-
objects.each do |object|
|
91
|
-
if object =~ /\/Type \/Page$/
|
92
|
-
object.should =~ /\/ProcSet/
|
93
|
-
elsif object =~ /\/Type \/XObject$/
|
94
|
-
object.should.not =~ /\/ProcSet/
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
@@ -1,152 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require File.join(File.expand_path(File.dirname(__FILE__)), "spec_helper")
|
4
|
-
|
5
|
-
describe "When stroking with default settings" do
|
6
|
-
before(:each) { create_pdf }
|
7
|
-
it "cap_style should be :butt" do
|
8
|
-
@pdf.cap_style.should == :butt
|
9
|
-
end
|
10
|
-
|
11
|
-
it "join_style should be :miter" do
|
12
|
-
@pdf.join_style.should == :miter
|
13
|
-
end
|
14
|
-
|
15
|
-
it "dashed? should be false" do
|
16
|
-
@pdf.should.not.be.dashed
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
describe "Cap styles" do
|
21
|
-
before(:each) { create_pdf }
|
22
|
-
|
23
|
-
it "should be able to use assignment operator" do
|
24
|
-
@pdf.cap_style = :round
|
25
|
-
@pdf.cap_style.should == :round
|
26
|
-
end
|
27
|
-
|
28
|
-
describe "#cap_style(:butt)" do
|
29
|
-
it "rendered PDF should include butt style cap" do
|
30
|
-
@pdf.cap_style(:butt)
|
31
|
-
cap_style = PDF::Inspector::Graphics::CapStyle.analyze(@pdf.render).cap_style
|
32
|
-
cap_style.should == 0
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
describe "#cap_style(:round)" do
|
37
|
-
it "rendered PDF should include round style cap" do
|
38
|
-
@pdf.cap_style(:round)
|
39
|
-
cap_style = PDF::Inspector::Graphics::CapStyle.analyze(@pdf.render).cap_style
|
40
|
-
cap_style.should == 1
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
describe "#cap_style(:projecting_square)" do
|
45
|
-
it "rendered PDF should include projecting_square style cap" do
|
46
|
-
@pdf.cap_style(:projecting_square)
|
47
|
-
cap_style = PDF::Inspector::Graphics::CapStyle.analyze(@pdf.render).cap_style
|
48
|
-
cap_style.should == 2
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
describe "Join styles" do
|
54
|
-
before(:each) { create_pdf }
|
55
|
-
|
56
|
-
it "should be able to use assignment operator" do
|
57
|
-
@pdf.join_style = :round
|
58
|
-
@pdf.join_style.should == :round
|
59
|
-
end
|
60
|
-
|
61
|
-
describe "#join_style(:miter)" do
|
62
|
-
it "rendered PDF should include miter style join" do
|
63
|
-
@pdf.join_style(:miter)
|
64
|
-
join_style = PDF::Inspector::Graphics::JoinStyle.analyze(@pdf.render).join_style
|
65
|
-
join_style.should == 0
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
describe "#join_style(:round)" do
|
70
|
-
it "rendered PDF should include round style join" do
|
71
|
-
@pdf.join_style(:round)
|
72
|
-
join_style = PDF::Inspector::Graphics::JoinStyle.analyze(@pdf.render).join_style
|
73
|
-
join_style.should == 1
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
describe "#join_style(:bevel)" do
|
78
|
-
it "rendered PDF should include bevel style join" do
|
79
|
-
@pdf.join_style(:bevel)
|
80
|
-
join_style = PDF::Inspector::Graphics::JoinStyle.analyze(@pdf.render).join_style
|
81
|
-
join_style.should == 2
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
describe "Dashes" do
|
87
|
-
before(:each) { create_pdf }
|
88
|
-
|
89
|
-
it "should be able to use assignment operator" do
|
90
|
-
@pdf.dash = 2
|
91
|
-
@pdf.should.be.dashed
|
92
|
-
end
|
93
|
-
|
94
|
-
describe "setting a dash" do
|
95
|
-
it "dashed? should be true" do
|
96
|
-
@pdf.dash(2)
|
97
|
-
@pdf.should.be.dashed
|
98
|
-
end
|
99
|
-
it "rendered PDF should include a stroked dash" do
|
100
|
-
@pdf.dash(2)
|
101
|
-
dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
|
102
|
-
dashes.stroke_dash.should == [[2, 2], 0]
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
describe "setting a dash by passing a single argument" do
|
107
|
-
it "space between dashes should be the same length as the dash in the rendered PDF" do
|
108
|
-
@pdf.dash(2)
|
109
|
-
dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
|
110
|
-
dashes.stroke_dash.should == [[2, 2], 0]
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
describe "with a space option that differs from the first argument" do
|
115
|
-
it "space between dashes in the rendered PDF should be different length than the length of the dash" do
|
116
|
-
@pdf.dash(2, :space => 3)
|
117
|
-
dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
|
118
|
-
dashes.stroke_dash.should == [[2, 3], 0]
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
describe "with a non-zero phase option" do
|
123
|
-
it "rendered PDF should include a non-zero phase" do
|
124
|
-
@pdf.dash(2, :phase => 1)
|
125
|
-
dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
|
126
|
-
dashes.stroke_dash.should == [[2, 2], 1]
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
describe "clearing stroke dash" do
|
131
|
-
it "should restore solid line" do
|
132
|
-
@pdf.dash(2)
|
133
|
-
@pdf.undash
|
134
|
-
dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
|
135
|
-
dashes.stroke_dash.should == [[], 0]
|
136
|
-
end
|
137
|
-
end
|
138
|
-
|
139
|
-
it "should reset the stroke dash on each new page if it has been defined" do
|
140
|
-
@pdf.start_new_page
|
141
|
-
@pdf.dash(2)
|
142
|
-
dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
|
143
|
-
dashes.stroke_dash_count.should == 1
|
144
|
-
|
145
|
-
@pdf.start_new_page
|
146
|
-
dashes = PDF::Inspector::Graphics::Dash.analyze(@pdf.render)
|
147
|
-
dashes.stroke_dash_count.should == 2
|
148
|
-
dashes.stroke_dash.should == [[], 0]
|
149
|
-
@pdf.dash.should == { :dash => nil, :space => nil, :phase => 0 }
|
150
|
-
end
|
151
|
-
|
152
|
-
end
|