1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/core/attribute_tests.rb
2011-07-20 18:18:05 -04:00

54 lines
1.2 KiB
Ruby

class FogAttributeTestModel < Fog::Model
attribute :key, :aliases => 'keys', :squash => "id"
attribute :time, :type => :time
end
Shindo.tests('Fog::Attributes', 'core') do
@model = FogAttributeTestModel.new
tests('squash') do
tests('"keys" => {:id => "value"}').returns('value') do
@model.merge_attributes("keys" => {:id => "value"})
@model.key
end
tests('"keys" => {"id" => "value"}').returns('value') do
@model.merge_attributes("keys" => {'id' => "value"})
@model.key
end
tests('"keys" => {"id" => false}').returns(false) do
@model.merge_attributes("keys" => {'id' => false })
@model.key
end
tests('"keys" => {:id => false}').returns(false) do
@model.merge_attributes("keys" => {:id => false })
@model.key
end
end
tests(':type => :time') do
@time = Time.now
tests(':time => nil').returns(nil) do
@model.merge_attributes(:time => nil)
@model.time
end
tests(':time => ""').returns('') do
@model.merge_attributes(:time => '')
@model.time
end
tests(':time => "#{@time.to_s}"').returns(Time.parse(@time.to_s)) do
@model.merge_attributes(:time => @time.to_s)
@model.time
end
end
end