Use I18n for date/time select helpers prompt text [#561 state:resolved]

Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
This commit is contained in:
Sam Oliver
2008-12-22 11:41:47 +00:00
committed by Pratik Naik
parent e8de7a67a5
commit 70456aed31
3 changed files with 20 additions and 6 deletions

View File

@@ -572,10 +572,6 @@ module ActionView
:year => 1, :month => 2, :day => 3, :hour => 4, :minute => 5, :second => 6
}.freeze unless const_defined?('POSITION')
DEFAULT_PROMPTS = {
:year => 'Year', :month => 'Month', :day => 'Day', :hour => 'Hour', :minute => 'Minute', :second => 'Seconds'
}.freeze unless const_defined?('DEFAULT_PROMPTS')
def initialize(datetime, options = {}, html_options = {})
@options = options.dup
@html_options = html_options.dup
@@ -842,10 +838,10 @@ module ActionView
when String
prompt = options
else
prompt = ActionView::Helpers::DateTimeSelector::DEFAULT_PROMPTS[type.to_sym]
prompt = I18n.translate(('datetime.prompts.' + type.to_s).to_sym, :locale => @options[:locale])
end
prompt ? content_tag(:option, prompt, :value => '') : ''
prompt ? content_tag(:option, prompt, :value => '') : ''
end
# Builds hidden input tag for date part and value

View File

@@ -80,6 +80,13 @@
over_x_years:
one: "over 1 year"
other: "over {{count}} years"
prompts:
year: "Year"
month: "Month"
day: "Day"
hour: "Hour"
minute: "Minute"
second: "Seconds"
activerecord:
errors:

View File

@@ -78,6 +78,8 @@ class DateHelperSelectTagsI18nTests < Test::Unit::TestCase
uses_mocha 'date_helper_select_tags_i18n_tests' do
def setup
@prompt_defaults = {:year => 'Year', :month => 'Month', :day => 'Day', :hour => 'Hour', :minute => 'Minute', :second => 'Seconds'}
I18n.stubs(:translate).with(:'date.month_names', :locale => 'en').returns Date::MONTHNAMES
end
@@ -98,6 +100,15 @@ class DateHelperSelectTagsI18nTests < Test::Unit::TestCase
select_month(8, :locale => 'en', :use_short_month => true)
end
def test_date_or_time_select_translates_prompts
@prompt_defaults.each do |key, prompt|
I18n.expects(:translate).with(('datetime.prompts.' + key.to_s).to_sym, :locale => 'en').returns prompt
end
I18n.expects(:translate).with(:'date.order', :locale => 'en').returns [:year, :month, :day]
datetime_select('post', 'updated_at', :locale => 'en', :include_seconds => true, :prompt => true)
end
# date_or_time_select
def test_date_or_time_select_given_an_order_options_does_not_translate_order