Sha256: e4e6416a9f9e7bb75e3006190b1a1258bc972e6d7ef60de475d3ba2e623a853a

Contents?: true

Size: 1.12 KB

Versions: 13

Compression:

Stored size: 1.12 KB

Contents

require 'spec_helper'

shared_examples_for 'a correct time object' do
  it { should be_instance_of(Time) }

  its(:year)  { should == year  }
  its(:month) { should == month }
  its(:day)   { should == day   }
  its(:hour)  { should == hour  }
  its(:min)   { should == min   }
  its(:sec)   { should == sec   }
end

describe Virtus::Coercion::String, '.to_time' do
  subject { object.to_time(string) }

  let(:object) { described_class }

  context 'with a valid time string' do
    let(:year)  { 2011 }
    let(:month) { 7    }
    let(:day)   { 22   }

    context 'not including time part' do
      let(:string) { "July, #{day}th, #{year}" }

      let(:hour) { 0 }
      let(:min)  { 0 }
      let(:sec)  { 0 }

      it_should_behave_like 'a correct time object'
    end

    context 'including time part' do
      let(:string) { "July, #{day}, #{year}, #{hour}:#{min}:#{sec}" }

      let(:hour) { 13 }
      let(:min)  { 44 }
      let(:sec)  { 50 }

      it_should_behave_like 'a correct time object'
    end
  end

  context 'with an invalid date time string' do
    let(:string) { '2999' }

    it { should equal(string) }
  end
end

Version data entries

13 entries across 13 versions & 2 rubygems

Version Path
virtus-0.5.5 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.5.4 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.5.3 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
fragrant-0.0.5 vendor/bundle/ruby/1.9.1/gems/virtus-0.5.2/spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.5.2 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.5.1 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.5.0 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.4.2 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.4.1 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.4.0 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.3.0 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.2.0 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb
virtus-0.1.0 spec/unit/virtus/coercion/string/class_methods/to_time_spec.rb