fix interpolation_values examples for rails version without i18n

This commit is contained in:
Adam Meehan 2009-01-12 13:03:21 +11:00
parent b632093ce2
commit 011ea070db
2 changed files with 19 additions and 10 deletions

View File

@ -123,7 +123,8 @@ module Spec
restriction = [restriction] unless restriction.is_a?(Array) restriction = [restriction] unless restriction.is_a?(Array)
restriction.map! {|r| @validator.send(:type_cast_value, r) } restriction.map! {|r| @validator.send(:type_cast_value, r) }
interpolate = @validator.send(:interpolation_values, option, restriction ) interpolate = @validator.send(:interpolation_values, option, restriction )
if defined?(I18n) # get I18n message if defined and has interpolation keys in msg
if defined?(I18n) && msg.match(/\{\{/)
msg = @record.errors.generate_message(@expected, option, interpolate) msg = @record.errors.generate_message(@expected, option, interpolate)
else else
msg = msg % interpolate msg = msg % interpolate

View File

@ -376,16 +376,24 @@ describe ValidatesTimeliness::Validator do
end end
describe "interpolation_values" do describe "interpolation_values" do
it "should return hash of interpolation keys with restriction values" do if defined?(I18n)
before = '1900-01-01' it "should return hash of interpolation keys with restriction values" do
configure_validator(:type => :date, :before => before) before = '1900-01-01'
validator.send(:interpolation_values, :before, before.to_date).should == {:restriction => before} configure_validator(:type => :date, :before => before)
end validator.send(:interpolation_values, :before, before.to_date).should == {:restriction => before}
end
it "should return empty hash if no interpolation keys are in message" do it "should return empty hash if no interpolation keys are in message" do
before = '1900-01-01' before = '1900-01-01'
configure_validator(:type => :date, :before => before, :before_message => 'too late') configure_validator(:type => :date, :before => before, :before_message => 'too late')
validator.send(:interpolation_values, :before, before.to_date).should be_empty validator.send(:interpolation_values, :before, before.to_date).should be_empty
end
else
it "should return array of interpolation values" do
before = '1900-01-01'
configure_validator(:type => :date, :before => before)
validator.send(:interpolation_values, :before, before.to_date).should == [before]
end
end end
end end