Sha256: b2f508d7b7f8e79c093149dbb8f8559ea5e001547990e687526e80503167743c
Contents?: true
Size: 913 Bytes
Versions: 1
Compression:
Stored size: 913 Bytes
Contents
require 'spec_helper' describe Csv2hash::Parser::Mapping do let(:definition) do Csv2hash::Definition.new [ { position: [0,0], key: 'name' } ], Csv2hash::Definition::MAPPING end let(:data_source) { [ [ 'John Doe' ] ] } subject do Csv2hash::Main.new(definition, data_source, exception_mode=false, ignore_blank_line=false) end context 'regular way' do it { expect { subject.parse }.to_not raise_error } it { expect(subject.tap do |csv2hash| csv2hash.parse end.data).to eql({ data: [ { 'name' => 'John Doe' } ] }) } end context 'with nested' do let(:data_source) { [ [ 'John Doe', 22 ] ] } before do definition.rules << { position: [0,1], key: 'age', nested: 'infos' } end it { expect(subject.tap { |c| c.parse }.data).to eql( { data: [ { 'name' => 'John Doe', 'infos' => { 'age' => 22 } } ] } ) } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
csv2hash-0.3.0 | spec/csv2hash/parser/mapping_spec.rb |