Froze rails gems
[depot.git] / vendor / rails / actionpack / test / template / number_helper_i18n_test.rb
1 require 'abstract_unit'
2
3 class NumberHelperI18nTests < Test::Unit::TestCase
4 include ActionView::Helpers::NumberHelper
5
6 attr_reader :request
7
8 uses_mocha 'number_helper_i18n_tests' do
9 def setup
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 => '' }
15
16 I18n.backend.store_translations 'en', :number => { :format => @number_defaults,
17 :currency => { :format => @currency_defaults }, :human => @human_defaults }
18 end
19
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')
25 end
26
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')
32 end
33
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')
37 end
38
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')
44 end
45
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')
52 end
53 end
54 end