Sha256: 8d1ef3a3799373a68f544258abaf098c18707e188c83aef9ca69e376bae2dc15
Contents?: true
Size: 1.47 KB
Versions: 3
Compression:
Stored size: 1.47 KB
Contents
require "#{File.dirname(__FILE__)}/../../spec_helper" describe Prawn::SVG::Document do let(:bounds) { [100, 100] } let(:options) { {} } describe '#initialize' do context 'with a well-formed document' do let(:svg) { '<svg></svg>' } let(:options) { { color_mode: :cmyk } } it 'parses the XML and yields itself to its block' do yielded = nil document = Prawn::SVG::Document.new(svg, bounds, options) do |doc| yielded = doc end expect(yielded).to eq document expect(document.color_mode).to eq :cmyk expect(document.root.name).to eq 'svg' end end context 'when unparsable XML is provided' do let(:svg) { "this isn't SVG data" } it 'raises an exception' do expect do Prawn::SVG::Document.new(svg, bounds, options) end.to raise_error Prawn::SVG::Document::InvalidSVGData, 'The data supplied is not a valid SVG document.' end end context 'when the user passes in a filename instead of SVG data' do let(:svg) { 'some_file.svg' } it "raises an exception letting them know what they've done" do expect do Prawn::SVG::Document.new(svg, bounds, options) end.to raise_error Prawn::SVG::Document::InvalidSVGData, "The data supplied is not a valid SVG document. It looks like you've supplied a filename instead; use IO.read(filename) to get the data before you pass it to prawn-svg." end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
prawn-svg-0.36.0 | spec/prawn/svg/document_spec.rb |
prawn-svg-0.35.1 | spec/prawn/svg/document_spec.rb |
prawn-svg-0.35.0 | spec/prawn/svg/document_spec.rb |