Sha256: 2872a9add99d270befc2cfa3c92a02a7d3aae5c642e4e78d2f21418640379c73

Contents?: true

Size: 1.89 KB

Versions: 5

Compression:

Stored size: 1.89 KB

Contents

require 'spec_helper'
module Alf
  module CSV
    describe Renderer do
    
      describe "without options" do
        let(:input){ 
          [{:size => 10}, {:size => 20}]
        }
        let(:expected){
          "size\n10\n20\n"
        }
        subject{ renderer.execute(StringIO.new).string }
          
        describe "when called on a renderer directly" do
          let(:renderer){
            ::Alf::CSV::Renderer.new(input)
          }
          it{ should eq(expected) }
        end
        
        describe "when called through registererd one" do
          let(:renderer){
            ::Alf::Renderer.renderer(:csv, input)
          }
          it{ should eq(expected) }
        end
        
        describe "when called through factory method" do
          let(:renderer){
            ::Alf::Renderer.csv(input)
          }
          it{ should eq(expected) }
        end
      end
      
      describe "with options", :hash_ordering => true do
        let(:input){ 
          [{:size => 10, :name => "blambeau"}, {:size => 20, :name => "mmathieu"}]
        }
        let(:expected){
          "size;name\n10;blambeau\n20;mmathieu\n"
        }
        let(:options){
          {:col_sep => ";"}
        }
        subject{ renderer.execute(StringIO.new).string }
          
        describe "when called on a renderer directly" do
          let(:renderer){
            ::Alf::CSV::Renderer.new(input, options)
          }
          it{ should eq(expected) }
        end
        
        describe "when called through registererd one" do
          let(:renderer){
            ::Alf::Renderer.renderer(:csv, input, options)
          }
          it{ should eq(expected) }
        end
        
        describe "when called through factory method" do
          let(:renderer){
            ::Alf::Renderer.csv(input, options)
          }
          it{ should eq(expected) }
        end
      end
      
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
alf-0.12.2 spec/unit/alf-csv/test_renderer.rb
alf-0.12.1 spec/unit/alf-csv/test_renderer.rb
alf-0.12.0 spec/unit/alf-csv/test_renderer.rb
alf-0.11.1 spec/unit/alf-csv/test_renderer.rb
alf-0.11.0 spec/unit/alf-csv/test_renderer.rb