Sha256: 7c348db9713a83e9633a7ea42a47d85205d1d9fb61b6562d9e85e0377c567e73

Contents?: true

Size: 1.05 KB

Versions: 4

Compression:

Stored size: 1.05 KB

Contents

require 'rspec'
require 'spec_helper'
require 'dbi'

module Sqldump

  describe "CsvFormatter" do

    def formatter_example(csv_header_option, expected_result)
      strio = StringIO.new

      options = double("Options")
      options.stub(:csv_header).and_return(csv_header_option)

      formatter = CsvFormatter.new(@sth, strio, options)
      formatter.output
      strio.close
      strio.string.should == expected_result
    end

    before(:each) do
      @dbh = create_dummy_database
      @dbh.do("create table numbers_and_strings (number int, string varchar(100));")
      @dbh.do("insert into numbers_and_strings values (42, 'thingy')")
      @sth = @dbh.execute "select * from numbers_and_strings"
    end

    after(:each) do
      @sth.finish
      @dbh.disconnect
    end

    it "prints column values verbatim, semicolon-separated, to supplied IO object" do
      formatter_example(false, "42,thingy\n")
    end

    it "prints column headings when given csv_header flag" do
      formatter_example(true, "number,string\n42,thingy\n")
    end

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sqldump-0.0.4 spec/sqldump/csv_formatter_spec.rb
sqldump-0.0.3 spec/sqldump/csv_formatter_spec.rb
sqldump-0.0.2 spec/sqldump/csv_formatter_spec.rb
sqldump-0.0.1 spec/sqldump/csv_formatter_spec.rb