1 require 'abstract_unit'
3 class NumberHelperI18nTests
< Test
::Unit::TestCase
4 include ActionView
::Helpers::NumberHelper
8 uses_mocha
'number_helper_i18n_tests' do
10 @number_defaults = { :precision => 3, :delimiter => ',', :separator => '.' }
11 @currency_defaults = { :unit => '$', :format => '%u%n', :precision => 2 }
12 @human_defaults = { :precision => 1 }
13 @percentage_defaults = { :delimiter => '' }
14 @precision_defaults = { :delimiter => '' }
16 I18n
.backend
.store_translations
'en', :number => { :format => @number_defaults,
17 :currency => { :format => @currency_defaults }, :human => @human_defaults }
20 def test_number_to_currency_translates_currency_formats
21 I18n
.expects(:translate).with(:'number.format', :locale => 'en', :raise => true).returns(@number_defaults)
22 I18n
.expects(:translate).with(:'number.currency.format', :locale => 'en',
23 :raise => true).returns(@currency_defaults)
24 number_to_currency(1, :locale => 'en')
27 def test_number_with_precision_translates_number_formats
28 I18n
.expects(:translate).with(:'number.format', :locale => 'en', :raise => true).returns(@number_defaults)
29 I18n
.expects(:translate).with(:'number.precision.format', :locale => 'en',
30 :raise => true).returns(@precision_defaults)
31 number_with_precision(1, :locale => 'en')
34 def test_number_with_delimiter_translates_number_formats
35 I18n
.expects(:translate).with(:'number.format', :locale => 'en', :raise => true).returns(@number_defaults)
36 number_with_delimiter(1, :locale => 'en')
39 def test_number_to_percentage_translates_number_formats
40 I18n
.expects(:translate).with(:'number.format', :locale => 'en', :raise => true).returns(@number_defaults)
41 I18n
.expects(:translate).with(:'number.percentage.format', :locale => 'en',
42 :raise => true).returns(@percentage_defaults)
43 number_to_percentage(1, :locale => 'en')
46 def test_number_to_human_size_translates_human_formats
47 I18n
.expects(:translate).with(:'number.format', :locale => 'en', :raise => true).returns(@number_defaults)
48 I18n
.expects(:translate).with(:'number.human.format', :locale => 'en',
49 :raise => true).returns(@human_defaults)
50 # can't be called with 1 because this directly returns without calling I18n.translate
51 number_to_human_size(1025, :locale => 'en')