Sha256: 624e8566904b74f29407aa26d1f6daf9c2a59946a9716300ba78035f720b53e9
Contents?: true
Size: 1.93 KB
Versions: 2
Compression:
Stored size: 1.93 KB
Contents
describe Pipio::TimeParser, "#parse" do it 'returns nil when timestamp is nil' do time_parser = Pipio::TimeParser.new(2011, 2, 3) expect(time_parser.parse(nil)).to be_nil end context 'when the given timestamp does have a date' do let(:time_parser) { Pipio::TimeParser.new(2011, 4, 28) } it 'parses "%m/%d/%Y %I:%M:%S %P"' do timestamp = '01/22/2008 03:01:45 PM' result = time_parser.parse(timestamp) expect(result.year).to eq(2008) expect(result.mon).to eq(1) expect(result.mday).to eq(22) expect(result.hour).to eq(15) expect(result.min).to eq(1) expect(result.sec).to eq(45) end [ '%Y-%m-%d %H:%M:%S', '%Y/%m/%d %H:%M:%S', '%Y-%m-%d %H:%M:%S', '%a %b %d %H:%M:%S %Y' ].each do |format| it "parses '#{format}'" do time = Time.now timestamp = time.strftime(format) expect(time_parser.parse(timestamp)).to eq(Time.parse(timestamp)) end end it 'parses "%a %d %b %Y %H:%M:%S %p %Z", respecting TZ' do timestamp = "Sat 18 Apr 2009 10:43:35 AM PDT" time = Time.parse(timestamp) expect(time.utc.hour).to eq(17) expect(time_parser.parse(timestamp)).to eq(time) end end context 'when the given timestamp does not have a date' do let(:time_parser) { Pipio::TimeParser.new(2008, 4, 27) } it 'parses "%I:%M:%S %P"' do result = time_parser.parse('08:01:45 PM') expect(result.year).to eq(2008) expect(result.mon).to eq(4) expect(result.mday).to eq(27) expect(result.hour).to eq(20) expect(result.min).to eq(1) expect(result.sec).to eq(45) end it 'parses "%H:%M:%S"' do result = time_parser.parse('23:01:45') expect(result.year).to eq(2008) expect(result.mon).to eq(4) expect(result.mday).to eq(27) expect(result.hour).to eq(23) expect(result.min).to eq(1) expect(result.sec).to eq(45) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pipio-0.0.2 | spec/pipio/time_parser_spec.rb |
pipio-0.0.1 | spec/pipio/time_parser_spec.rb |