mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
43 lines
No EOL
969 B
Ruby
43 lines
No EOL
969 B
Ruby
require 'spec_helper'
|
|
require 'bigdecimal'
|
|
|
|
module Arel
|
|
describe "Attributes::String" do
|
|
|
|
before :all do
|
|
@relation = Model.build do |r|
|
|
r.engine Testing::Engine.new
|
|
r.attribute :name, Attributes::String
|
|
end
|
|
end
|
|
|
|
def type_cast(val)
|
|
@relation[:name].type_cast(val)
|
|
end
|
|
|
|
describe "#type_cast" do
|
|
it "returns same value if passed a String" do
|
|
val = "hell"
|
|
type_cast(val).should eql(val)
|
|
end
|
|
|
|
it "returns nil if passed nil" do
|
|
type_cast(nil).should be_nil
|
|
end
|
|
|
|
it "returns String representation of Symbol" do
|
|
type_cast(:hello).should == "hello"
|
|
end
|
|
|
|
it "returns string representation of Integer" do
|
|
type_cast(1).should == '1'
|
|
end
|
|
|
|
it "calls #to_s on arbitrary objects" do
|
|
obj = Object.new
|
|
obj.extend Module.new { def to_s ; 'hello' ; end }
|
|
type_cast(obj).should == 'hello'
|
|
end
|
|
end
|
|
end
|
|
end |