Sha256: f950454ddedd20d26f7c9c280fcc315bc1be477237a3d56c76fcfe1c7727e1ab

Contents?: true

Size: 1.2 KB

Versions: 5

Compression:

Stored size: 1.2 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe 'csvrb template handler' do

  AB = ActionView::Template::Handlers::CSVRbBuilder
  VT = Struct.new(:source, :locals)

  let( :handler ) { AB.new }

  let( :template ) do
    src = <<-RUBY
      csv << ['TEST', 'STUFF']
    RUBY
    VT.new(src, [])
  end

  let( :set_template ) do
    src = <<-RUBY
      csv.set CSV.generate_line(['TEST', 'STUFF'], encoding: 'utf-8', force_quotes: true)
    RUBY
    VT.new(src, [])
  end

  context "Rails #{Rails.version}" do
    # for testing if the author is set
    # before do
      # Rails.stub_chain(:application, :config, :csvrb_author).and_return( 'Elmer Fudd' )
    # end

    it "has csv format" do
      expect(handler.default_format).to eq(mime_type)
    end

    it "compiles to an csv spreadsheet" do
      csv = nil
      eval( AB.new.call template )
      expect{ csv = CSV.parse(csv) }.to_not raise_error
      expect(csv[0][0]).to eq('TEST')
    end

    it "accepts a full CSV string" do
      csv = nil
      eval( AB.new.call set_template )
      expect{ csv = CSV.parse(csv) }.to_not raise_error
      expect(csv[0][0]).to eq('TEST')
    end

    #TODO:
    # Test if author field is set - does roo parse that?
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
csv_rb-6.0.2.1 spec/csv_rb_builder_spec.rb
csv_rb-5.2.3.2 spec/csv_rb_builder_spec.rb
csv_rb-5.2.3.1 spec/csv_rb_builder_spec.rb
csv_rb-5.2.3 spec/csv_rb_builder_spec.rb
csv_rb-5.2.2 spec/csv_rb_builder_spec.rb