提交 88ec722a 编写于 作者: I Indrek Juhkam

Raise exception when date.order includes invalid elements

上级 4e6050b9
......@@ -836,7 +836,15 @@ def date_order
end
def translated_date_order
I18n.translate(:'date.order', :locale => @options[:locale]) || []
date_order = I18n.translate(:'date.order', :locale => @options[:locale]) || []
forbidden_elements = date_order - [:year, :month, :day]
if forbidden_elements.any?
raise StandardError,
"#{@options[:locale]}.date.order only accepts :year, :month and :day"
end
date_order
end
# Build full select tag from date type and options.
......
......@@ -118,4 +118,12 @@ def test_date_or_time_select_given_no_order_options_translates_order
I18n.expects(:translate).with(:'date.order', :locale => 'en').returns [:year, :month, :day]
datetime_select('post', 'updated_at', :locale => 'en')
end
def test_date_or_time_select_given_invalid_order
I18n.expects(:translate).with(:'date.order', :locale => 'en').returns [:invalid, :month, :day]
assert_raise StandardError do
datetime_select('post', 'updated_at', :locale => 'en')
end
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册