]> git.openstreetmap.org Git - rails.git/blob - vendor/plugins/i18n_data/spec/i18n_data_spec.rb
cleanup
[rails.git] / vendor / plugins / i18n_data / spec / i18n_data_spec.rb
1 require File.expand_path("spec_helper", File.dirname(__FILE__))
2
3 NUM_2_LETTER_LANGUAGES = 185
4 NUM_COUNTRIES = 246
5
6 describe I18nData do
7   require "i18n_data/live_data_provider"
8   require "i18n_data/file_data_provider"
9   [I18nData::LiveDataProvider,I18nData::FileDataProvider].each do |provider|
10     describe "using #{provider}" do
11       before :all do
12         I18nData.data_provider = provider
13       end
14       describe :languages do
15         it "raises NoTranslationAvailable for unavailable languages" do
16           lambda{I18nData.languages('XX')}.should raise_error(I18nData::NoTranslationAvailable)
17         end
18         describe :english do
19           it "does not contain blanks" do
20             I18nData.languages.detect {|k,v| k.blank? or v.blank?}.should == nil
21           end
22           it "has english as default" do
23             I18nData.languages['DE'].should == 'German'
24           end
25           it "contains all languages" do
26             I18nData.languages.size.should == NUM_2_LETTER_LANGUAGES
27           end
28         end
29         describe :translated do
30           it "is translated" do
31             I18nData.languages('DE')['DE'].should == 'Deutsch'
32           end
33           it "contains all languages" do
34             I18nData.languages('DE').size.should == NUM_2_LETTER_LANGUAGES
35           end
36           it "has english names for not-translateable languages" do
37             I18nData.languages('IS')['HA'].should == I18nData.languages['HA']
38           end
39           it "does not contain blanks" do
40             I18nData.languages('GL').detect {|k,v| k.blank? or v.blank?}.should == nil
41           end
42           it "is written in unicode" do
43             I18nData.languages('DE')['DA'].should == 'Dänisch'
44           end
45         end
46       end
47       describe :countries do
48         describe :english do
49           it "has english as default" do
50             I18nData.countries['DE'].should == 'Germany'
51           end
52           it "does not contain blanks" do
53             I18nData.countries.detect {|k,v| k.blank? or v.blank?}.should == nil
54           end
55           it "contains all countries" do
56             I18nData.countries.size.should == NUM_COUNTRIES
57           end
58         end
59         describe :translated do
60           it "is translated" do
61             I18nData.countries('DE')['DE'].should == 'Deutschland'
62           end
63           it "contains all countries" do
64             I18nData.countries('DE').size.should == NUM_COUNTRIES
65           end
66           it "has english names for not-translateable countries" do
67             I18nData.countries('IS')['PK'].should == I18nData.countries['PK']
68           end
69           it "does not contain blanks" do
70             I18nData.countries('GL').detect {|k,v| k.blank? or v.blank?}.should == nil
71           end
72           it "is written in unicode" do
73             I18nData.countries('DE')['DK'].should == 'Dänemark'
74           end
75         end
76       end
77     end
78   end
79 end