spec/unit/icon_spec.rb in prawn-icon-1.1.1 vs spec/unit/icon_spec.rb in prawn-icon-1.2.0

- old
+ new

@@ -5,30 +5,30 @@ # This is free software. Please see the LICENSE and COPYING files for details. require 'spec_helper' describe Prawn::Icon do + let(:errors) { described_class::Errors } + let(:pdf) { create_pdf } + describe '#initialize' do context 'valid icon family specifier' do it 'should be capable of creating icon instances' do - pdf = create_pdf icon = Prawn::Icon.new 'fa-arrows', pdf expect(icon.unicode).to eq("\uf047") end it 'should raise an error if icon key is not found' do - pdf = create_pdf proc = Proc.new { Prawn::Icon.new 'fa-__INVALID__', pdf } - expect(proc).to raise_error(Prawn::Errors::IconNotFound) + expect(proc).to raise_error(errors::IconNotFound) end end context 'invalid icon specifier' do it 'should raise an error' do - pdf = create_pdf proc = Proc.new { pdf.icon '__INVALID__ some text' } expect(proc).to raise_error(Prawn::Errors::UnknownFont) end end @@ -42,73 +42,66 @@ end end describe '#format_hash' do it 'should add :font and :content keys' do - pdf = create_pdf icon = Prawn::Icon.new 'fa-arrows', pdf hash = icon.format_hash expect(hash[:font]).to eq('fa') expect(hash[:content]).to eq("\uf047") end it 'should rename key :color to :text_color' do - pdf = create_pdf icon = Prawn::Icon.new 'fa-arrows', pdf, color: '0099ff' hash = icon.format_hash expect(hash[:color]).to be_nil expect(hash[:text_color]).to eq('0099ff') end end describe '#render' do it 'should render an icon to the page' do - pdf = create_pdf pdf.icon('fa-arrows').render text = PDF::Inspector::Text.analyze(pdf.render) expect(text.font_settings.first[:name]).to match(/FontAwesome/) end end describe '#set' do context 'with dashes in key' do it 'should return the set as a symbol from key' do - pdf = create_pdf set = Prawn::Icon.new('fa-arrows', pdf).set expect(set).to eq(:fa) end end context 'without dashes in key' do it 'raise an error about invalid keys' do - pdf = create_pdf proc = Proc.new { Prawn::Icon.new 'some invalid key', pdf } expect(proc).to raise_error(Prawn::Errors::UnknownFont) end end end describe '#unicode' do context 'valid icon key' do it 'should return a unicode character' do - pdf = create_pdf icon = Prawn::Icon.new 'fa-arrows', pdf expect(valid_unicode?(icon.unicode)).to be true end end context 'invalid icon key' do it 'should raise IconNotFound' do - pdf = create_pdf proc = Proc.new { Prawn::Icon.new 'fa-__INVALID__', pdf } - expect(proc).to raise_error(Prawn::Errors::IconNotFound) + expect(proc).to raise_error(errors::IconNotFound) end end end end \ No newline at end of file