prawn-svg 0.15.0.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +20 -12
  3. data/lib/prawn/svg/calculators/aspect_ratio.rb +58 -0
  4. data/lib/prawn/svg/calculators/document_sizing.rb +99 -0
  5. data/lib/prawn/svg/calculators/pixels.rb +21 -0
  6. data/lib/prawn/svg/document.rb +16 -43
  7. data/lib/prawn/svg/element.rb +71 -18
  8. data/lib/prawn/svg/extension.rb +3 -3
  9. data/lib/prawn/svg/interface.rb +85 -19
  10. data/lib/prawn/svg/parser/image.rb +9 -62
  11. data/lib/prawn/svg/parser/path.rb +19 -1
  12. data/lib/prawn/svg/parser/text.rb +17 -4
  13. data/lib/prawn/svg/parser.rb +53 -18
  14. data/lib/prawn/svg/url_loader.rb +34 -0
  15. data/lib/prawn/svg/version.rb +1 -1
  16. data/lib/prawn-svg.rb +4 -0
  17. data/prawn-svg.gemspec +7 -4
  18. data/spec/integration_spec.rb +83 -0
  19. data/spec/prawn/svg/calculators/aspect_ratio_spec.rb +95 -0
  20. data/spec/prawn/svg/calculators/document_sizing_spec.rb +128 -0
  21. data/spec/prawn/svg/document_spec.rb +21 -17
  22. data/spec/prawn/svg/element_spec.rb +1 -1
  23. data/spec/prawn/svg/interface_spec.rb +94 -0
  24. data/spec/prawn/svg/parser/path_spec.rb +89 -0
  25. data/spec/prawn/svg/parser/text_spec.rb +50 -1
  26. data/spec/prawn/svg/url_loader_spec.rb +46 -0
  27. data/spec/sample_images/mushroom-long.jpg +0 -0
  28. data/spec/sample_images/mushroom-wide.jpg +0 -0
  29. data/spec/sample_svg/cap_styles.svg +13 -0
  30. data/spec/sample_svg/display_none.svg +13 -0
  31. data/spec/sample_svg/gistfile1.svg +36 -0
  32. data/spec/sample_svg/hidden_paths.svg +6 -0
  33. data/spec/sample_svg/image01.svg +31 -31
  34. data/spec/sample_svg/negminy.svg +25 -0
  35. data/spec/sample_svg/no_width_or_height.svg +4 -0
  36. data/spec/sample_svg/path.svg +5 -0
  37. data/spec/sample_svg/pie_piece.svg +7 -0
  38. data/spec/sample_svg/preserve-space.svg +19 -0
  39. data/spec/sample_svg/viewbox.svg +4 -0
  40. data/spec/sample_svg/viewport.svg +23 -0
  41. data/spec/spec_helper.rb +7 -0
  42. metadata +85 -25
  43. data/spec/lib/path_spec.rb +0 -54
  44. data/spec/lib/svg_spec.rb +0 -47
  45. /data/spec/{lib → prawn/svg}/parser_spec.rb +0 -0
data/spec/lib/svg_spec.rb DELETED
@@ -1,47 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Prawn::Svg::Interface do
4
- root = "#{File.dirname(__FILE__)}/../.."
5
-
6
- describe "sample file rendering" do
7
- files = Dir["#{root}/spec/sample_svg/*.svg"]
8
-
9
- it "has at least 10 SVG sample files to test" do
10
- files.length.should >= 10
11
- end
12
-
13
- files.each do |file|
14
- it "renders the #{File.basename file} sample file without warnings or crashing" do
15
- warnings = nil
16
- Prawn::Document.generate("#{root}/spec/sample_output/#{File.basename file}.pdf") do |prawn|
17
- r = prawn.svg IO.read(file), :at => [0, prawn.bounds.top], :width => prawn.bounds.width, :cache_images => true
18
- warnings = r[:warnings].reject {|w| w =~ /Verdana/ && w =~ /is not a known font/ }
19
- end
20
- warnings.should == []
21
- end
22
- end
23
- end
24
-
25
- describe "multiple file rendering" do
26
- it "renders multiple files on to the same PDF" do
27
- Prawn::Document.generate("#{root}/spec/sample_output/multiple.pdf") do |prawn|
28
- width = prawn.bounds.width
29
-
30
- y = prawn.bounds.top - 12
31
- prawn.draw_text "This is multiple SVGs being output to the same PDF", :at => [0, y]
32
-
33
- y -= 12
34
- prawn.svg IO.read("#{root}/spec/sample_svg/arcs01.svg"), :at => [0, y], :width => width / 2
35
- prawn.svg IO.read("#{root}/spec/sample_svg/circle01.svg"), :at => [width / 2, y], :width => width / 2
36
-
37
- y -= 120
38
- prawn.draw_text "Here are some more PDFs below", :at => [0, y]
39
-
40
- y -= 12
41
- prawn.svg IO.read("#{root}/spec/sample_svg/quad01.svg"), :at => [0, y], :width => width / 3
42
- prawn.svg IO.read("#{root}/spec/sample_svg/rect01.svg"), :at => [width / 3, y], :width => width / 3
43
- prawn.svg IO.read("#{root}/spec/sample_svg/rect02.svg"), :at => [width / 3 * 2, y], :width => width / 3
44
- end
45
- end
46
- end
47
- end
File without changes