Sha256: 87d0e01adebadc69f9eeb3c3d83366c19e22e9e7dc9dfb8463515569b437dddc

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 KB

Contents

require File.join(File.dirname(__FILE__), '..', 'spec_helper')
require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'clamsy', 'cups_pdf_printer')

class << Clamsy::CupsPdfPrinter
  public :tmp_pdf_path
  attr_accessor :config
end

describe 'Cups pdf printer' do

  before do
    @printer = Clamsy::CupsPdfPrinter
    @printer.config = Class.new { attr_accessor :cups_output_dir, :cups_output_file }.new
  end

  describe '> generating of tmp pdf path (using config.cups_output_file)' do

    should 'return config.cups_output_file if it is not a Proc' do
      @printer.config.cups_output_file = '/a/b/c'
      @printer.tmp_pdf_path('dummy').should.equal '/a/b/c'
    end

    should "return evaluated config.cups_output_file if it is a Proc" do
      @printer.config.cups_output_file = lambda { "/a/b/#{1+2}" }
      @printer.tmp_pdf_path('dummy').should.equal '/a/b/3'
    end

  end

  describe '> generating of tmp pdf path (using config.cups_output_file)' do

    should "use config.cups_output_dir, basename of specified file & pdf file extension" do
      @printer.config.cups_output_dir = '/a/b/c'
      @printer.tmp_pdf_path('/e/f/g/document').should.equal '/a/b/c/document.pdf'
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
clamsy-0.0.4 spec/clamsy/cups_pdf_printer_spec.rb