d3319dcdadc932dec5a8e8b3fe3a5764233a645c
[packages/precise/mcollective.git] / lib / mcollective / vendor / i18n / lib / i18n / tests / pluralization.rb
1 # encoding: utf-8
2
3 module I18n
4   module Tests
5     module Pluralization
6       test "pluralization: given 0 it returns the :zero translation if it is defined" do
7         assert_equal 'zero', I18n.t(:default => { :zero => 'zero' }, :count => 0)
8       end
9
10       test "pluralization: given 0 it returns the :other translation if :zero is not defined" do
11         assert_equal 'bars', I18n.t(:default => { :other => 'bars' }, :count => 0)
12       end
13
14       test "pluralization: given 1 it returns the singular translation" do
15         assert_equal 'bar', I18n.t(:default => { :one => 'bar' }, :count => 1)
16       end
17
18       test "pluralization: given 2 it returns the :other translation" do
19         assert_equal 'bars', I18n.t(:default => { :other => 'bars' }, :count => 2)
20       end
21
22       test "pluralization: given 3 it returns the :other translation" do
23         assert_equal 'bars', I18n.t(:default => { :other => 'bars' }, :count => 3)
24       end
25
26       test "pluralization: given nil it returns the whole entry" do
27         assert_equal({ :one => 'bar' }, I18n.t(:default => { :one => 'bar' }, :count => nil))
28       end
29
30       test "pluralization: given incomplete pluralization data it raises I18n::InvalidPluralizationData" do
31         assert_raise(I18n::InvalidPluralizationData) { I18n.t(:default => { :one => 'bar' }, :count => 2) }
32       end
33     end
34   end
35 end