ruby-cldr 0.1.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +53 -0
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +56 -46
  5. data/README.textile +8 -0
  6. data/Rakefile +2 -2
  7. data/VERSION +1 -1
  8. data/lib/cldr/download.rb +1 -1
  9. data/lib/cldr/export.rb +74 -16
  10. data/lib/cldr/export/data.rb +34 -21
  11. data/lib/cldr/export/data/aliases.rb +47 -0
  12. data/lib/cldr/export/data/base.rb +4 -0
  13. data/lib/cldr/export/data/characters.rb +30 -0
  14. data/lib/cldr/export/data/country_codes.rb +29 -0
  15. data/lib/cldr/export/data/currencies.rb +13 -3
  16. data/lib/cldr/export/data/fields.rb +60 -0
  17. data/lib/cldr/export/data/languages.rb +1 -1
  18. data/lib/cldr/export/data/likely_subtags.rb +29 -0
  19. data/lib/cldr/export/data/numbers.rb +48 -6
  20. data/lib/cldr/export/data/parent_locales.rb +23 -0
  21. data/lib/cldr/export/data/plural_rules.rb +70 -0
  22. data/lib/cldr/export/data/plurals/rules.rb +12 -1
  23. data/lib/cldr/export/data/rbnf.rb +12 -4
  24. data/lib/cldr/export/data/region_currencies.rb +45 -0
  25. data/lib/cldr/export/data/segments_root.rb +61 -0
  26. data/lib/cldr/export/data/subdivisions.rb +35 -0
  27. data/lib/cldr/export/data/territories.rb +1 -1
  28. data/lib/cldr/export/data/territories_containment.rb +30 -0
  29. data/lib/cldr/export/data/timezones.rb +18 -2
  30. data/lib/cldr/export/data/transforms.rb +76 -0
  31. data/lib/cldr/export/data/variables.rb +42 -0
  32. data/lib/cldr/export/yaml.rb +5 -21
  33. data/lib/cldr/thor.rb +2 -2
  34. data/ruby-cldr.gemspec +157 -0
  35. data/test/export/data/calendars_test.rb +102 -52
  36. data/test/export/data/country_codes_test.rb +21 -0
  37. data/test/export/data/currencies_test.rb +40 -26
  38. data/test/export/data/languages_test.rb +69 -51
  39. data/test/export/data/numbers_test.rb +61 -62
  40. data/test/export/data/plurals_test.rb +10 -3
  41. data/test/export/data/subdivisions_test.rb +33 -0
  42. data/test/export/data/territories_containment_test.rb +10 -0
  43. data/test/export/data/territories_test.rb +12 -5
  44. data/test/export/data/timezones_test.rb +5 -8
  45. data/test/export_test.rb +57 -5
  46. data/test/format/time_test.rb +5 -5
  47. metadata +51 -33
@@ -11,33 +11,49 @@ class TestCldrDataCalendars < Test::Unit::TestCase
11
11
 
12
12
  test 'calendars months :de' do
13
13
  months = {
14
- :format => {
15
- :wide => { 1 => 'Januar', 2 => 'Februar', 3 => 'März', 4 => 'April', 5 => 'Mai', 6 => 'Juni', 7 => 'Juli', 8 => 'August', 9 => 'September', 10 => 'Oktober', 11 => 'November', 12 => 'Dezember' },
16
- :abbreviated => { 1 => 'Jan.', 2 => 'Feb.', 3 => 'März', 4 => 'Apr.', 5 => 'Mai', 6 => 'Juni', 7 => 'Juli', 8 => 'Aug.', 9 => 'Sep.', 10 => 'Okt.', 11 => 'Nov.', 12 => 'Dez.' },
17
- :narrow => { 1 => 'J', 2 => 'F', 3 => 'M', 4 => 'A', 5 => 'M', 6 => 'J', 7 => 'J', 8 => 'A', 9 => 'S', 10 => 'O', 11 => 'N', 12 => 'D' },
14
+ :format => {
15
+ :abbreviated => { 1 => 'Jan.', 2 => 'Feb.', 3 => 'März', 4 => 'Apr.', 5 => 'Mai', 6 => 'Juni', 7 => 'Juli', 8 => 'Aug.', 9 => 'Sept.', 10 => 'Okt.', 11 => 'Nov.', 12 => 'Dez.' },
16
+ :narrow => { 1 => 'J', 2 => 'F', 3 => 'M', 4 => 'A', 5 => 'M', 6 => 'J', 7 => 'J', 8 => 'A', 9 => 'S', 10 => 'O', 11 => 'N', 12 => 'D' },
17
+ :wide => { 1 => 'Januar', 2 => 'Februar', 3 => 'März', 4 => 'April', 5 => 'Mai', 6 => 'Juni', 7 => 'Juli', 8 => 'August', 9 => 'September', 10 => 'Oktober', 11 => 'November', 12 => 'Dezember' },
18
18
  },
19
19
  :'stand-alone' => {
20
- :abbreviated => { 1 => 'Jan', 2 => 'Feb', 3 => 'Mär', 4 => 'Apr', 5 => 'Mai', 6 => 'Jun', 7 => 'Jul', 8 => 'Aug', 9 => 'Sep', 10 => 'Okt', 11 => 'Nov', 12 => 'Dez'},
21
- :narrow => { 1 => 'J', 2 => 'F', 3 => 'M', 4 => 'A', 5 => 'M', 6 => 'J', 7 => 'J', 8 => 'A', 9 => 'S', 10 => 'O', 11 => 'N', 12 => 'D' },
22
- :wide => { 1 => 'Januar', 2 => 'Februar', 3 => 'März', 4 => 'April', 5 => 'Mai', 6 => 'Juni', 7 => 'Juli', 8 => 'August', 9 => 'September', 10 => 'Oktober', 11 => 'November', 12 => 'Dezember' },
23
- }
20
+ :abbreviated => { 1 => 'Jan', 2 => 'Feb', 3 => 'Mär', 4 => 'Apr', 5 => 'Mai', 6 => 'Jun', 7 => 'Jul', 8 => 'Aug', 9 => 'Sep', 10 => 'Okt', 11 => 'Nov', 12 => 'Dez' },
21
+ :narrow => { 1 => 'J', 2 => 'F', 3 => 'M', 4 => 'A', 5 => 'M', 6 => 'J', 7 => 'J', 8 => 'A', 9 => 'S', 10 => 'O', 11 => 'N', 12 => 'D' },
22
+ :wide => { 1 => 'Januar', 2 => 'Februar', 3 => 'März', 4 => 'April', 5 => 'Mai', 6 => 'Juni', 7 => 'Juli', 8 => 'August', 9 => 'September', 10 => 'Oktober', 11 => 'November', 12 => 'Dezember' },
23
+ },
24
24
  }
25
25
  assert_equal months, gregorian[:months]
26
26
  end
27
27
 
28
+ test 'calendars months :en' do
29
+ months = {
30
+ :format => {
31
+ :abbreviated => { 1 => "Jan", 2 => "Feb", 3 => "Mar", 4 => "Apr", 5 => "May", 6 => "Jun", 7 => "Jul", 8 => "Aug", 9 => "Sep", 10 => "Oct", 11 => "Nov", 12 => "Dec" },
32
+ :narrow => :"calendars.gregorian.months.stand-alone.narrow",
33
+ :wide => { 1 => "January", 2 => "February", 3 => "March", 4 => "April", 5 => "May", 6 => "June", 7 => "July", 8 => "August", 9 => "September", 10 => "October", 11 => "November", 12 => "December" },
34
+ },
35
+ :"stand-alone" => {
36
+ :abbreviated => :"calendars.gregorian.months.format.abbreviated",
37
+ :narrow => { 1 => "J", 2 => "F", 3 => "M", 4 => "A", 5 => "M", 6 => "J", 7 => "J", 8 => "A", 9 => "S", 10 => "O", 11 => "N", 12 => "D" },
38
+ :wide => :"calendars.gregorian.months.format.wide",
39
+ },
40
+ }
41
+ assert_equal months, gregorian(locale: :en)[:months]
42
+ end
43
+
28
44
  test 'calendars days :de' do
29
45
  days = {
30
- :format => {
31
- :wide => { :sun => 'Sonntag', :mon => 'Montag', :tue => 'Dienstag', :wed => 'Mittwoch', :thu => 'Donnerstag', :fri => 'Freitag', :sat => 'Samstag' },
46
+ :format => {
47
+ :wide => { :sun => 'Sonntag', :mon => 'Montag', :tue => 'Dienstag', :wed => 'Mittwoch', :thu => 'Donnerstag', :fri => 'Freitag', :sat => 'Samstag' },
32
48
  :abbreviated => { :sun => 'So.', :mon => 'Mo.', :tue => 'Di.', :wed => 'Mi.', :thu => 'Do.', :fri => 'Fr.', :sat => 'Sa.' },
33
- :narrow => { :sun => 'S', :mon => 'M', :tue => 'D', :wed => 'M', :thu => 'D', :fri => 'F', :sat => 'S' },
34
- :short => { :sun => 'So.', :mon => 'Mo.', :tue => 'Di.', :wed => 'Mi.', :thu => 'Do.', :fri => 'Fr.', :sat => 'Sa.' }
49
+ :narrow => { :sun => 'S', :mon => 'M', :tue => 'D', :wed => 'M', :thu => 'D', :fri => 'F', :sat => 'S' },
50
+ :short => { :sun => 'So.', :mon => 'Mo.', :tue => 'Di.', :wed => 'Mi.', :thu => 'Do.', :fri => 'Fr.', :sat => 'Sa.' }
35
51
  },
36
52
  :'stand-alone' => {
37
53
  :abbreviated => { :sun => 'So', :mon => 'Mo', :tue => 'Di', :wed => 'Mi', :thu => 'Do', :fri => 'Fr', :sat => 'Sa' },
38
- :narrow => { :sun => 'S', :mon => 'M', :tue => 'D', :wed => 'M', :thu => 'D', :fri => 'F', :sat => 'S' },
39
- :short => { :sun => 'So.', :mon => 'Mo.', :tue => 'Di.', :wed => 'Mi.', :thu => 'Do.', :fri => 'Fr.', :sat => 'Sa.' },
40
- :wide => { :sun => 'Sonntag', :mon => 'Montag', :tue => 'Dienstag', :wed => 'Mittwoch', :thu => 'Donnerstag', :fri => 'Freitag', :sat => 'Samstag' },
54
+ :narrow => { :sun => 'S', :mon => 'M', :tue => 'D', :wed => 'M', :thu => 'D', :fri => 'F', :sat => 'S' },
55
+ :short => { :sun => 'So.', :mon => 'Mo.', :tue => 'Di.', :wed => 'Mi.', :thu => 'Do.', :fri => 'Fr.', :sat => 'Sa.' },
56
+ :wide => { :sun => 'Sonntag', :mon => 'Montag', :tue => 'Dienstag', :wed => 'Mittwoch', :thu => 'Donnerstag', :fri => 'Freitag', :sat => 'Samstag' },
41
57
  }
42
58
  }
43
59
  assert_equal days, gregorian[:days]
@@ -45,15 +61,15 @@ class TestCldrDataCalendars < Test::Unit::TestCase
45
61
 
46
62
  test 'calendars quarters :de' do
47
63
  quarters = {
48
- :format => {
49
- :wide => { 1 => "1. Quartal", 2 => "2. Quartal", 3 => "3. Quartal", 4 => "4. Quartal" },
50
- :narrow => { 1 => "1", 2 => "2", 3 => "3", 4 => "4" },
64
+ :format => {
65
+ :wide => { 1 => "1. Quartal", 2 => "2. Quartal", 3 => "3. Quartal", 4 => "4. Quartal" },
66
+ :narrow => { 1 => "1", 2 => "2", 3 => "3", 4 => "4" },
51
67
  :abbreviated => { 1 => "Q1", 2 => "Q2", 3 => "Q3", 4 => "Q4" }
52
68
  },
53
69
  :"stand-alone" => {
54
70
  :abbreviated => { 1 => "Q1", 2 => "Q2", 3 => "Q3", 4 => "Q4" },
55
- :narrow => { 1 => "1", 2 => "2", 3 => "3", 4 => "4" },
56
- :wide => { 1 => "1. Quartal", 2 => "2. Quartal", 3 => "3. Quartal", 4 => "4. Quartal" }
71
+ :narrow => { 1 => "1", 2 => "2", 3 => "3", 4 => "4" },
72
+ :wide => { 1 => "1. Quartal", 2 => "2. Quartal", 3 => "3. Quartal", 4 => "4. Quartal" }
57
73
  }
58
74
  }
59
75
  assert_equal quarters, gregorian[:quarters]
@@ -61,14 +77,15 @@ class TestCldrDataCalendars < Test::Unit::TestCase
61
77
 
62
78
  test 'calendars periods :de' do
63
79
  periods = {
64
- :afternoon => "nachmittags",
65
- :am => "vorm.",
66
- :earlyMorning => "morgens",
67
- :evening => "abends",
68
- :morning => "vormittags",
69
- :night => "nachts",
70
- :noon => "Mittag",
71
- :pm => "nachm."
80
+ :afternoon1=>"mittags",
81
+ :afternoon2=>"nachmittags",
82
+ :am=>"AM",
83
+ :evening1=>"abends",
84
+ :midnight=>"Mitternacht",
85
+ :morning1=>"morgens",
86
+ :morning2=>"vormittags",
87
+ :night1=>"nachts",
88
+ :pm=>"PM",
72
89
  }
73
90
  assert_equal periods, gregorian[:periods][:format][:wide]
74
91
  end
@@ -96,51 +113,84 @@ class TestCldrDataCalendars < Test::Unit::TestCase
96
113
 
97
114
  test 'calendars date formats :de' do
98
115
  formats = {
99
- :full => { :pattern => "EEEE, d. MMMM y" },
100
- :long => { :pattern => "d. MMMM y" },
101
- :medium => { :pattern => "dd.MM.y" },
102
- :short => { :pattern => "dd.MM.yy" }
116
+ :full => { :pattern => "EEEE, d. MMMM y" },
117
+ :long => { :pattern => "d. MMMM y" },
118
+ :medium => { :pattern => "dd.MM.y" },
119
+ :short => { :pattern => "dd.MM.yy" }
103
120
  }
104
121
  assert_equal formats, gregorian[:formats][:date]
105
122
  end
106
123
 
107
124
  test 'calendars time formats :de' do
108
125
  formats = {
109
- :full => { :pattern => "HH:mm:ss zzzz" },
110
- :long => { :pattern => "HH:mm:ss z" },
111
- :medium => { :pattern => "HH:mm:ss" },
112
- :short => { :pattern => "HH:mm" }
126
+ :full => { :pattern => "HH:mm:ss zzzz" },
127
+ :long => { :pattern => "HH:mm:ss z" },
128
+ :medium => { :pattern => "HH:mm:ss" },
129
+ :short => { :pattern => "HH:mm" }
113
130
  }
114
131
  assert_equal formats, gregorian[:formats][:time]
115
132
  end
116
133
 
117
134
  test 'calendars datetime formats :de' do
118
135
  formats = {
119
- :full => { :pattern => "{{date}} {{time}}"},
120
- :long => { :pattern => "{{date}} {{time}}"},
121
- :medium => { :pattern => "{{date}} {{time}}"},
122
- :short => { :pattern => "{{date}} {{time}}"}
136
+ :full => { :pattern => "{{date}} 'um' {{time}}" },
137
+ :long => { :pattern => "{{date}} 'um' {{time}}" },
138
+ :medium => { :pattern => "{{date}}, {{time}}" },
139
+ :short => { :pattern => "{{date}}, {{time}}" }
123
140
  }
124
141
  assert_equal formats, gregorian[:formats][:datetime]
125
142
  end
126
143
 
127
144
  test 'calendars fields :de' do
128
- fields = {
129
- :hour => "Stunde",
130
- :minute => "Minute",
131
- :second => "Sekunde",
132
- :day => "Tag",
133
- :month => "Monat",
134
- :year => "Jahr",
135
- :week => "Woche",
136
- :weekday => "Wochentag",
145
+ fields = { :day => "Tag",
146
+ :"day-narrow" => "Tag",
147
+ :"day-short" => "Tag",
148
+ :dayOfYear => "Tag des Jahres",
149
+ :"dayOfYear-narrow" => "T/J",
150
+ :"dayOfYear-short" => "Tag des Jahres",
137
151
  :dayperiod => "Tageshälfte",
138
- :era => "Epoche",
139
- :zone => "Zeitzone"
152
+ :"dayperiod-narrow" => "Tagesh.",
153
+ :"dayperiod-short" => "Tageshälfte",
154
+ :era => "Epoche",
155
+ :"era-narrow" => "E",
156
+ :"era-short" => "Epoche",
157
+ :hour => "Stunde",
158
+ :"hour-narrow" => "Std.",
159
+ :"hour-short" => "Std.",
160
+ :minute => "Minute",
161
+ :"minute-narrow" => "Min.",
162
+ :"minute-short" => "Min.",
163
+ :month => "Monat",
164
+ :"month-narrow" => "M",
165
+ :"month-short" => "Monat",
166
+ :quarter => "Quartal",
167
+ :"quarter-narrow" => "Q",
168
+ :"quarter-short" => "Quart.",
169
+ :second => "Sekunde",
170
+ :"second-narrow" => "Sek.",
171
+ :"second-short" => "Sek.",
172
+ :week => "Woche",
173
+ :"week-narrow" => "W",
174
+ :"week-short" => "Woche",
175
+ :weekOfMonth => "Woche des Monats",
176
+ :"weekOfMonth-narrow" => "Wo. des Monats",
177
+ :"weekOfMonth-short" => "W/M",
178
+ :weekday => "Wochentag",
179
+ :"weekday-narrow" => "Wochent.",
180
+ :"weekday-short" => "Wochentag",
181
+ :weekdayOfMonth => "Wochentag",
182
+ :"weekdayOfMonth-narrow" => "WT",
183
+ :"weekdayOfMonth-short" => "Wochentag",
184
+ :year => "Jahr",
185
+ :"year-narrow" => "J",
186
+ :"year-short" => "Jahr",
187
+ :zone => "Zeitzone",
188
+ :"zone-narrow" => "Zeitz.",
189
+ :"zone-short" => "Zeitzone",
140
190
  }
141
191
  assert_equal fields, gregorian[:fields]
142
192
  end
143
-
193
+
144
194
  test 'merged calendars for de-AT contains all date format and stand-alone name types' do
145
195
  assert_equal %w(abbreviated narrow wide), gregorian(:merged => true)[:months][:format].keys.map { |key| key.to_s }.sort
146
196
  assert_equal %w(abbreviated narrow wide), gregorian(:merged => true)[:months][:"stand-alone"].keys.map { |key| key.to_s }.sort
@@ -0,0 +1,21 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__) + '/../../test_helper'))
4
+
5
+ class TestCldrDataCountryCodes < Test::Unit::TestCase
6
+ test 'country codes' do
7
+ expected =
8
+ {
9
+ AA: {
10
+ "numeric" => "958",
11
+ "alpha3" => "AAA",
12
+ },
13
+ AC: {
14
+ "alpha3" => "ASC",
15
+ }
16
+ }
17
+ country_codes = Cldr::Export::Data::CountryCodes.new
18
+ assert_equal(country_codes[:country_codes][:AA], expected[:AA])
19
+ assert_equal(country_codes[:country_codes][:AC], expected[:AC])
20
+ end
21
+ end
@@ -5,34 +5,48 @@ require File.expand_path(File.join(File.dirname(__FILE__) + '/../../test_helper'
5
5
  class TestCldrCurrencies < Test::Unit::TestCase
6
6
  test 'currencies :de' do
7
7
  codes = [:ADP, :AED, :AFA, :AFN, :ALL, :AMD, :ANG, :AOA, :AOK, :AON, :AOR,
8
- :ARA, :ARP, :ARS, :ATS, :AUD, :AWG, :AZM, :AZN, :BAD, :BAM, :BBD,
9
- :BDT, :BEC, :BEF, :BEL, :BGL, :BGN, :BHD, :BIF, :BMD, :BND, :BOB,
10
- :BOP, :BOV, :BRB, :BRC, :BRE, :BRL, :BRN, :BRR, :BRZ, :BSD, :BTN,
11
- :BUK, :BWP, :BYB, :BYR, :BZD, :CAD, :CDF, :CHE, :CHF, :CHW, :CLF,
12
- :CLP, :CNY, :COP, :CRC, :CSD, :CSK, :CUC, :CUP, :CVE, :CYP, :CZK,
13
- :DDM, :DEM, :DJF, :DKK, :DOP, :DZD, :ECS, :ECV, :EEK, :EGP, :ERN,
14
- :ESA, :ESB, :ESP, :ETB, :EUR, :FIM, :FJD, :FKP, :FRF, :GBP, :GEK,
15
- :GEL, :GHC, :GHS, :GIP, :GMD, :GNF, :GNS, :GQE, :GRD, :GTQ, :GWE,
16
- :GWP, :GYD, :HKD, :HNL, :HRD, :HRK, :HTG, :HUF, :IDR, :IEP, :ILP,
17
- :ILS, :INR, :IQD, :IRR, :ISK, :ITL, :JMD, :JOD, :JPY, :KES, :KGS,
18
- :KHR, :KMF, :KPW, :KRW, :KWD, :KYD, :KZT, :LAK, :LBP, :LKR, :LRD,
19
- :LSL, :LTL, :LTT, :LUC, :LUF, :LUL, :LVL, :LVR, :LYD, :MAD, :MAF,
20
- :MDL, :MGA, :MGF, :MKD, :MLF, :MMK, :MNT, :MOP, :MRO, :MTL, :MTP,
21
- :MUR, :MVR, :MWK, :MXN, :MXP, :MXV, :MYR, :MZE, :MZM, :MZN, :NAD,
22
- :NGN, :NIC, :NIO, :NLG, :NOK, :NPR, :NZD, :OMR, :PAB, :PEI, :PEN,
23
- :PES, :PGK, :PHP, :PKR, :PLN, :PLZ, :PTE, :PYG, :QAR, :RHD, :ROL,
24
- :RON, :RSD, :RUB, :RUR, :RWF, :SAR, :SBD, :SCR, :SDD, :SDG, :SDP,
25
- :SEK, :SGD, :SHP, :SIT, :SKK, :SLL, :SOS, :SRD, :SRG, :SSP, :STD,
26
- :SUR, :SVC, :SYP, :SZL, :THB, :TJR, :TJS, :TMM, :TMT, :TND, :TOP,
27
- :TPE, :TRL, :TRY, :TTD, :TWD, :TZS, :UAH, :UAK, :UGS, :UGX, :USD,
28
- :USN, :USS, :UYP, :UYU, :UZS, :VEB, :VEF, :VND, :VUV, :WST, :XAF,
29
- :XAG, :XAU, :XBA, :XBB, :XBC, :XBD, :XCD, :XDR, :XEU, :XFO, :XFU,
30
- :XOF, :XPD, :XPF, :XPT, :XRE, :XTS, :XXX, :YDD, :YER, :YUD, :YUM,
31
- :YUN, :ZAL, :ZAR, :ZMK, :ZMW, :ZRN, :ZRZ, :ZWD, :ZWL, :ZWR]
8
+ :ARA, :ARP, :ARS, :ATS, :AUD, :AWG, :AZM, :AZN, :BAD, :BAM, :BBD,
9
+ :BDT, :BEC, :BEF, :BEL, :BGL, :BGN, :BHD, :BIF, :BMD, :BND, :BOB,
10
+ :BOP, :BOV, :BRB, :BRC, :BRE, :BRL, :BRN, :BRR, :BRZ, :BSD, :BTN,
11
+ :BUK, :BWP, :BYB, :BYR, :BZD, :CAD, :CDF, :CHE, :CHF, :CHW, :CLF,
12
+ :CLP, :CNY, :COP, :CRC, :CSD, :CSK, :CUC, :CUP, :CVE, :CYP, :CZK,
13
+ :DDM, :DEM, :DJF, :DKK, :DOP, :DZD, :ECS, :ECV, :EEK, :EGP, :ERN,
14
+ :ESA, :ESB, :ESP, :ETB, :EUR, :FIM, :FJD, :FKP, :FRF, :GBP, :GEK,
15
+ :GEL, :GHC, :GHS, :GIP, :GMD, :GNF, :GNS, :GQE, :GRD, :GTQ, :GWE,
16
+ :GWP, :GYD, :HKD, :HNL, :HRD, :HRK, :HTG, :HUF, :IDR, :IEP, :ILP,
17
+ :ILS, :INR, :IQD, :IRR, :ISK, :ITL, :JMD, :JOD, :JPY, :KES, :KGS,
18
+ :KHR, :KMF, :KPW, :KRW, :KWD, :KYD, :KZT, :LAK, :LBP, :LKR, :LRD,
19
+ :LSL, :LTL, :LTT, :LUC, :LUF, :LUL, :LVL, :LVR, :LYD, :MAD, :MAF,
20
+ :MDL, :MGA, :MGF, :MKD, :MLF, :MMK, :MNT, :MOP, :MRO, :MTL, :MTP,
21
+ :MUR, :MVR, :MWK, :MXN, :MXP, :MXV, :MYR, :MZE, :MZM, :MZN, :NAD,
22
+ :NGN, :NIC, :NIO, :NLG, :NOK, :NPR, :NZD, :OMR, :PAB, :PEI, :PEN,
23
+ :PES, :PGK, :PHP, :PKR, :PLN, :PLZ, :PTE, :PYG, :QAR, :RHD, :ROL,
24
+ :RON, :RSD, :RUB, :RUR, :RWF, :SAR, :SBD, :SCR, :SDD, :SDG, :SDP,
25
+ :SEK, :SGD, :SHP, :SIT, :SKK, :SLL, :SOS, :SRD, :SRG, :SSP, :STD,
26
+ :SUR, :SVC, :SYP, :SZL, :THB, :TJR, :TJS, :TMM, :TMT, :TND, :TOP,
27
+ :TPE, :TRL, :TRY, :TTD, :TWD, :TZS, :UAH, :UAK, :UGS, :UGX, :USD,
28
+ :USN, :USS, :UYP, :UYU, :UZS, :VEB, :VEF, :VND, :VUV, :WST, :XAF,
29
+ :XAG, :XAU, :XBA, :XBB, :XBC, :XBD, :XCD, :XDR, :XEU, :XFO, :XFU,
30
+ :XOF, :XPD, :XPF, :XPT, :XRE, :XTS, :XXX, :YDD, :YER, :YUD, :YUM,
31
+ :YUN, :ZAL, :ZAR, :ZMK, :ZMW, :ZRN, :ZRZ, :ZWD, :ZWL, :ZWR, :ALK,
32
+ :ARL, :ARM, :BAN, :BGM, :BGO, :BOL, :CLE, :CNX, :COU, :ILR, :ISJ,
33
+ :KRH, :KRO, :MCF, :MDC, :MKN, :MVP, :UYI, :VNN, :XSU, :XUA, :YUR,
34
+ :BYN, :CNH, :MRU, :STN, :VES]
32
35
 
33
36
  currencies = Cldr::Export::Data::Currencies.new('de')[:currencies]
34
- assert (currencies.keys - codes).empty? && (codes - currencies.keys).empty?
35
- assert_equal({ :one => 'Euro', :other => 'Euro', :symbol => '€' }, currencies[:EUR])
37
+ assert_empty codes - currencies.keys, "Unexpected missing currencies"
38
+ assert_empty currencies.keys - codes, "Unexpected extra currencies"
39
+ assert_equal({ :name => 'Euro', :'narrow_symbol'=>'€', :one => 'Euro', :other => 'Euro', :symbol => '€' }, currencies[:EUR])
40
+ end
41
+
42
+ test 'currencies populates symbol-narrow when narrow symbol is not equal to the regular symbol' do
43
+ currencies = Cldr::Export::Data::Currencies.new('root')[:currencies]
44
+ assert_equal({ :symbol=>'US$', :'narrow_symbol'=>'$'}, currencies[:USD])
45
+ end
46
+
47
+ test 'currencies uses the label to populate :one when count is unavailable' do
48
+ currencies = Cldr::Export::Data::Currencies.new('ak')[:currencies]
49
+ assert_equal({ :name => 'Yuan', :one => 'Yuan' }, currencies[:CNY])
36
50
  end
37
51
 
38
52
  # Cldr::Export::Data.locales.each do |locale|
@@ -4,62 +4,80 @@ require File.expand_path(File.join(File.dirname(__FILE__) + '/../../test_helper'
4
4
 
5
5
  class TestCldrDataLanguages < Test::Unit::TestCase
6
6
  test 'languages :de' do
7
- codes = [:aa, :ab, :ace, :ach, :ada, :ady, :ae, :af, :afa, :afh, :agq,
8
- :ain, :ak, :akk, :ale, :alg, :alt, :am, :an, :ang, :anp, :apa,
9
- :ar, :"ar-001", :arc, :arn, :arp, :art, :arw, :as, :asa, :ast,
10
- :ath, :aus, :av, :awa, :ay, :az, :ba, :bad, :bai, :bal, :ban,
11
- :bas, :bat, :bax, :bbj, :be, :bej, :bem, :ber, :bez, :bfd, :bg,
12
- :bh, :bho, :bi, :bik, :bin, :bkm, :bla, :bm, :bn, :bnt, :bo, :br,
13
- :bra, :brx, :bs, :bss, :btk, :bua, :bug, :bum, :byn, :byv, :ca,
14
- :cad, :cai, :car, :cau, :cay, :cch, :ce, :ceb, :cel, :cgg, :ch,
15
- :chb, :chg, :chk, :chm, :chn, :cho, :chp, :chr, :chy, :ckb, :cmc,
16
- :co, :cop, :cpe, :cpf, :cpp, :cr, :crh, :crp, :cs, :csb, :cu,
17
- :cus, :cv, :cy, :da, :dak, :dar, :dav, :day, :de, :"de-AT",
18
- :"de-CH", :del, :den, :dgr, :din, :dje, :doi, :dra, :dsb, :dua,
19
- :dum, :dv, :dyo, :dyu, :dz, :dzg, :ebu, :ee, :efi, :egy, :eka,
20
- :el, :elx, :en, :"en-AU", :"en-CA", :"en-GB", :"en-US", :enm, :eo,
21
- :es, :"es-419", :"es-ES", :"es-MX", :et, :eu, :ewo, :fa, :fan,
22
- :fat, :ff, :fi, :fil, :fiu, :fj, :fo, :fon, :fr, :"fr-CA", :"fr-CH",
23
- :frm, :fro, :frr, :frs, :fur, :fy, :ga, :gaa, :gay, :gba, :gd, :gem,
24
- :gez, :gil, :gl, :gmh, :gn, :goh, :gon, :gor, :got, :grb, :grc,
25
- :gsw, :gu, :guz, :gv, :gwi, :ha, :hai, :haw, :he, :hi, :hil, :him,
26
- :hit, :hmn, :ho, :hr, :hsb, :ht, :hu, :hup, :hy, :hz, :ia, :iba,
27
- :ibb, :id, :ie, :ig, :ii, :ijo, :ik, :ilo, :inc, :ine, :inh, :io,
28
- :ira, :iro, :is, :it, :iu, :ja, :jbo, :jmc, :jpr, :jrb, :jv, :ka,
29
- :kaa, :kab, :kac, :kaj, :kam, :kar, :kaw, :kbd, :kbl, :kcg, :kde,
30
- :kea, :kfo, :kg, :kha, :khi, :kho, :khq, :ki, :kj, :kk, :kkj, :kl,
31
- :kln, :km, :kmb, :kn, :ko, :kok, :kos, :kpe, :kr, :krc, :krl, :kro,
32
- :kru, :ks, :ksb, :ksf, :ksh, :ku, :kum, :kut, :kv, :kw, :ky, :la,
33
- :lad, :lag, :lah, :lam, :lb, :lez, :lg, :li, :ln, :lo, :lol, :loz,
34
- :lt, :lu, :lua, :lui, :lun, :luo, :lus, :luy, :lv, :mad, :maf, :mag,
35
- :mai, :mak, :man, :map, :mas, :mde, :mdf, :mdr, :men, :mer, :mfe,
36
- :mg, :mga, :mgh, :mh, :mi, :mic, :min, :mis, :mk, :mkh, :ml, :mn,
37
- :mnc, :mni, :mno, :mo, :moh, :mos, :mr, :ms, :mt, :mua, :mul, :mun,
38
- :mus, :mwl, :mwr, :my, :mye, :myn, :myv, :na, :nah, :nai, :nap, :naq,
39
- :nb, :nd, :nds, :ne, :new, :ng, :nia, :nic, :niu, :nl, :"nl-BE", :nmg,
40
- :nn, :nnh, :no, :nog, :non, :nqo, :nr, :nso, :nub, :nus, :nv, :nwc,
41
- :ny, :nym, :nyn, :nyo, :nzi, :oc, :oj, :om, :or, :os, :osa, :ota,
42
- :oto, :pa, :paa, :pag, :pal, :pam, :pap, :pau, :peo, :phi, :phn, :pi,
43
- :pl, :pon, :pra, :pro, :ps, :pt, :"pt-BR", :"pt-PT", :qu, :raj, :rap,
44
- :rar, :rm, :rn, :ro, :roa, :rof, :rom, :root, :ru, :rup, :rw, :rwk,
45
- :sa, :sad, :sah, :sai, :sal, :sam, :saq, :sas, :sat, :sba, :sbp, :sc,
46
- :scn, :sco, :sd, :se, :see, :seh, :sel, :sem, :ses, :sg, :sga, :sgn,
47
- :sh, :shi, :shn, :shu, :si, :sid, :sio, :sit, :sk, :sl, :sla, :sm,
48
- :sma, :smi, :smj, :smn, :sms, :sn, :snk, :so, :sog, :son, :sq, :sr,
49
- :srn, :srr, :ss, :ssa, :ssy, :st, :su, :suk, :sus, :sux, :sv, :sw,
50
- :swb, :swc, :syc, :syr, :ta, :tai, :te, :tem, :teo, :ter, :tet, :tg,
51
- :th, :ti, :tig, :tiv, :tk, :tkl, :tl, :tlh, :tli, :tmh, :tn, :to, :tog,
52
- :tpi, :tr, :trv, :ts, :tsi, :tt, :tum, :tup, :tut, :tvl, :tw, :twq,
53
- :ty, :tyv, :tzm, :udm, :ug, :uga, :uk, :umb, :und, :ur, :uz, :vai, :ve,
54
- :vi, :vo, :vot, :vun, :wa, :wae, :wak, :wal, :war, :was, :wen, :wo, :xal,
55
- :xh, :xog, :yao, :yap, :yav, :ybb, :yi, :yo, :ypk, :yue, :za, :zap, :zbl,
56
- :zen, :zgh, :zh, :"zh-Hans", :"zh-Hant", :znd, :zu, :zun, :zxx, :zza]
7
+ codes = [:aa, :ab, :ace, :ach, :ada, :ady, :ae, :aeb, :af,
8
+ :afh, :agq, :ain, :ak, :akk, :akz, :ale, :aln, :alt, :am,
9
+ :an, :ang, :anp, :ar, :"ar-001", :arc, :arn, :aro, :arp,
10
+ :arq, :ars, :arw, :ary, :arz, :as, :asa, :ase, :ast, :av,
11
+ :avk, :awa, :ay, :az, :ba, :bal, :ban, :bar, :bas, :bax,
12
+ :bbc, :bbj, :be, :bej, :bem, :bew, :bez, :bfd, :bfq, :bg,
13
+ :bgn, :bho, :bi, :bik, :bin, :bjn, :bkm, :bla, :bm, :bn,
14
+ :bo, :bpy, :bqi, :br, :bra, :brh, :brx, :bs, :bss, :bua,
15
+ :bug, :bum, :byn, :byv, :ca, :cad, :car, :cay, :cch, :ce,
16
+ :ceb, :cgg, :ch, :chb, :chg, :chk, :chm, :chn, :cho, :chp,
17
+ :chr, :chy, :ckb, :co, :cop, :cps, :cr, :crh, :crs, :cs,
18
+ :csb, :cu, :cv, :cy, :da, :dak, :dar, :dav, :de, :"de-AT",
19
+ :"de-CH", :del, :den, :dgr, :din, :dje, :doi, :dsb, :dtp,
20
+ :dua, :dum, :dv, :dyo, :dyu, :dz, :dzg, :ebu, :ee, :efi,
21
+ :egl, :egy, :eka, :el, :elx, :en, :enm,
22
+ :eo, :es, :esu, :et, :eu, :ewo, :ext, :fa, :fan, :fat, :ff,
23
+ :fi, :fil, :fit, :fj, :fo, :fon, :fr, :frc, :frm, :fro,
24
+ :frp, :frr, :frs, :fur, :fy, :ga, :gaa, :gag, :gan, :gay,
25
+ :gba, :gbz, :gd, :gez, :gil, :gl, :glk, :gmh, :gn, :goh,
26
+ :gom, :gon, :gor, :got, :grb, :grc, :gsw, :gu, :guc, :gur,
27
+ :guz, :gv, :gwi, :ha, :hai, :hak, :haw, :he, :hi, :hif,
28
+ :hil, :hit, :hmn, :ho, :hr, :hsb, :hsn, :ht, :hu, :hup,
29
+ :hy, :hz, :ia, :iba, :ibb, :id, :ie, :ig, :ii, :ik, :ilo,
30
+ :inh, :io, :is, :it, :iu, :izh, :ja, :jam, :jbo, :jgo,
31
+ :jmc, :jpr, :jrb, :jut, :jv, :ka, :kaa, :kab, :kac,
32
+ :kaj, :kam, :kaw, :kbd, :kbl, :kcg, :kde, :kea, :ken,
33
+ :kfo, :kg, :kgp, :kha, :kho, :khq, :khw, :ki, :kiu, :kj,
34
+ :kk, :kkj, :kl, :kln, :km, :kmb, :kn, :ko, :koi, :kok,
35
+ :kos, :kpe, :kr, :krc, :kri, :krj, :krl, :kru, :ks, :ksb,
36
+ :ksf, :ksh, :ku, :kum, :kut, :kv, :kw, :ky, :la, :lad,
37
+ :lag, :lah, :lam, :lb, :lez, :lfn, :lg, :li, :lij, :liv,
38
+ :lkt, :lmo, :ln, :lo, :lol, :lou, :loz, :lrc, :lt, :ltg,
39
+ :lu, :lua, :lui, :lun, :luo, :lus, :luy, :lv, :lzh, :lzz,
40
+ :mad, :maf, :mag, :mai, :mak, :man, :mas, :mde, :mdf, :mdr,
41
+ :men, :mer, :mfe, :mg, :mga, :mgh, :mgo, :mh, :mi, :mic,
42
+ :min, :mk, :ml, :mn, :mnc, :mni, :moh, :mos, :mr, :mrj, :ms,
43
+ :mt, :mua, :mul, :mus, :mwl, :mwr, :mwv, :my, :mye, :myv,
44
+ :mzn, :na, :nan, :nap, :naq, :nb, :nd, :nds, :"nds-NL", :ne,
45
+ :new, :ng, :nia, :niu, :njo, :nl, :"nl-BE", :nmg, :nn, :nnh,
46
+ :no, :nog, :non, :nov, :nqo, :nr, :nso, :nus, :nv, :nwc, :ny,
47
+ :nym, :nyn, :nyo, :nzi, :oc, :oj, :om, :or, :os, :osa, :ota,
48
+ :pa, :pag, :pal, :pam, :pap, :pau, :pcd, :pcm, :pdc, :pdt,
49
+ :peo, :pfl, :phn, :pi, :pl, :pms, :pnt, :pon, :prg, :pro,
50
+ :ps, :pt, :qu, :quc, :qug, :raj, :rap, :rar, :rgn, :rif, :rm,
51
+ :rn, :ro, :"ro-MD", :rof, :rom, :root, :rtm, :ru, :rue, :rug,
52
+ :rup, :rw, :rwk, :sa, :sad, :sah, :sam, :saq, :sas, :sat, :saz,
53
+ :sba, :sbp, :sc, :scn, :sco, :sd, :sdc, :sdh, :se, :see, :seh,
54
+ :sei, :sel, :ses, :sg, :sga, :sgs, :sh, :shi, :shn, :shu, :si,
55
+ :sid, :sk, :sl, :sli, :sly, :sm, :sma, :smj, :smn, :sms, :sn,
56
+ :snk, :so, :sog, :sq, :sr, :srn, :srr, :ss, :ssy, :st, :stq,
57
+ :su, :suk, :sus, :sux, :sv, :sw, :"sw-CD", :swb, :syc, :syr,
58
+ :szl, :ta, :tcy, :te, :tem, :teo, :ter, :tet, :tg, :th, :ti,
59
+ :tig, :tiv, :tk, :tkl, :tkr, :tl, :tlh, :tli, :tly, :tmh,
60
+ :tn, :to, :tog, :tpi, :tr, :tru, :trv, :ts, :tsd, :tsi, :tt,
61
+ :ttt, :tum, :tvl, :tw, :twq, :ty, :tyv, :tzm, :udm, :ug, :uga,
62
+ :uk, :umb, :und, :ur, :uz, :vai, :ve, :vec, :vep, :vi, :vls,
63
+ :vmf, :vo, :vot, :vro, :vun, :wa, :wae, :wal, :war, :was,
64
+ :wbp, :wo, :wuu, :xal, :xh, :xmf, :xog, :yao, :yap, :yav,
65
+ :ybb, :yi, :yo, :yrl, :yue, :za, :zap, :zbl, :zea, :zen,
66
+ :zgh, :zh, :"zh-Hans", :"zh-Hant", :zu, :zun, :zxx, :zza]
57
67
 
58
68
  languages = Cldr::Export::Data::Languages.new('de')[:languages]
59
- assert (languages.keys - codes).empty? && (codes - languages.keys).empty?
69
+
70
+ assert_empty codes - languages.keys, "Unexpected missing languages"
71
+ assert_empty languages.keys - codes, "Unexpected extra languages"
60
72
  assert_equal('Deutsch', languages[:de])
61
73
  end
62
74
 
75
+ test 'languages does not overwrite long form with the short one' do
76
+ languages = Cldr::Export::Data::Languages.new(:en)[:languages]
77
+
78
+ assert_equal "American English", languages[:"en-US"]
79
+ end
80
+
63
81
  # Cldr::Export::Data.locales.each do |locale|
64
82
  # test "extract languages for #{locale}" do
65
83
  # assert_nothing_raised do
@@ -5,83 +5,82 @@ require File.expand_path(File.join(File.dirname(__FILE__) + '/../../test_helper'
5
5
  class TestCldrDataNumbers < Test::Unit::TestCase
6
6
  test "number symbols :de" do
7
7
  expected = {
8
- :nan => "NaN",
9
- :decimal => ",",
10
- :plus_sign => "+",
11
- :minus_sign => "-",
12
- :group => ".",
13
- :exponential => "E",
14
- :percent_sign => "%",
15
- :list => ";",
16
- :per_mille => "",
17
- :infinity => "",
18
- :superscripting_exponent => "·"
8
+ :decimal => ",",
9
+ :exponential => "E",
10
+ :group => ".",
11
+ :infinity => "",
12
+ :list => ";",
13
+ :minus_sign => "-",
14
+ :nan => "NaN",
15
+ :per_mille => "",
16
+ :percent_sign => "%",
17
+ :plus_sign => "+",
18
+ :superscripting_exponent => "·",
19
+ :time_separator => ":",
19
20
  }
20
21
  assert_equal expected, Cldr::Export::Data::Numbers.new('de')[:numbers][:symbols]
21
22
  end
22
23
 
23
24
  test "number formats :de" do
24
25
  expected = {
26
+ :currency => {
27
+ :number_system => "latn",
28
+ :patterns => {
29
+ :default => "#,##0.00 ¤",
30
+ "short" => {
31
+ "1000" => { "one" => "0", "other" => "0" },
32
+ "10000" => { "one" => "0", "other" => "0" },
33
+ "100000" => { "one" => "0", "other" => "0" },
34
+ "1000000" => { "one" => "0 Mio'.' ¤", "other" => "0 Mio'.' ¤" },
35
+ "10000000" => { "one" => "00 Mio'.' ¤", "other" => "00 Mio'.' ¤" },
36
+ "100000000" => { "one" => "000 Mio'.' ¤", "other" => "000 Mio'.' ¤" },
37
+ "1000000000" => { "one" => "0 Mrd'.' ¤", "other" => "0 Mrd'.' ¤" },
38
+ "10000000000" => { "one" => "00 Mrd'.' ¤", "other" => "00 Mrd'.' ¤" },
39
+ "100000000000" => { "one" => "000 Mrd'.' ¤", "other" => "000 Mrd'.' ¤" },
40
+ "1000000000000" => { "one" => "0 Bio'.' ¤", "other" => "0 Bio'.' ¤" },
41
+ "10000000000000" => { "one" => "00 Bio'.' ¤", "other" => "00 Bio'.' ¤" },
42
+ "100000000000000" => { "one" => "000 Bio'.' ¤", "other" => "000 Bio'.' ¤" } } },
43
+ :unit => { "one" => "{0} {1}", "other" => "{0} {1}" } },
25
44
  :decimal => {
26
45
  :number_system => "latn",
27
46
  :patterns => {
28
47
  :default => "#,##0.###",
29
48
  "long" => {
30
- "1000" => "0 Tausend",
31
- "10000" => "00 Tausend",
32
- "100000" => "000 Tausend",
33
- "1000000" => "0 Millionen",
34
- "10000000" => "00 Millionen",
35
- "100000000" => "000 Millionen",
36
- "1000000000" => "0 Milliarden",
37
- "10000000000" => "00 Milliarden",
38
- "100000000000" => "000 Milliarden",
39
- "1000000000000" => "0 Billionen",
40
- "10000000000000" => "00 Billionen",
41
- "100000000000000" => "000 Billionen"
42
- },
49
+ "1000" => { "one" => "0 Tausend", "other" => "0 Tausend" },
50
+ "10000" => { "one" => "00 Tausend", "other" => "00 Tausend" },
51
+ "100000" => { "one" => "000 Tausend", "other" => "000 Tausend" },
52
+ "1000000" => { "one" => "0 Million", "other" => "0 Millionen" },
53
+ "10000000" => { "one" => "00 Millionen", "other" => "00 Millionen" },
54
+ "100000000" => { "one" => "000 Millionen", "other" => "000 Millionen" },
55
+ "1000000000" => { "one" => "0 Milliarde", "other" => "0 Milliarden" },
56
+ "10000000000" => { "one" => "00 Milliarden", "other" => "00 Milliarden" },
57
+ "100000000000" => { "one" => "000 Milliarden", "other" => "000 Milliarden" },
58
+ "1000000000000" => { "one" => "0 Billion", "other" => "0 Billionen" },
59
+ "10000000000000" => { "one" => "00 Billionen", "other" => "00 Billionen" },
60
+ "100000000000000" => { "one" => "000 Billionen", "other" => "000 Billionen" } },
43
61
  "short" => {
44
- "1000" => "0 Tsd",
45
- "10000" => "00 Tsd",
46
- "100000" => "000 Tsd",
47
- "1000000" => "0 Mio",
48
- "10000000" => "00 Mio",
49
- "100000000" => "000 Mio",
50
- "1000000000" => "0 Mrd",
51
- "10000000000" => "00 Mrd",
52
- "100000000000" => "000 Mrd",
53
- "1000000000000" => "0 Bio",
54
- "10000000000000" => "00 Bio",
55
- "100000000000000" => "000 Bio"
56
- }
57
- }
58
- },
59
- :scientific => {
60
- :number_system => "latn",
61
- :patterns => {
62
- :default => "#E0"
63
- }
64
- },
65
- :percent => {
66
- :number_system => "latn",
67
- :patterns => {
68
- :default => "#,##0 %" # includes a non-breaking space (\302\240)
69
- }
70
- },
71
- :currency => {
72
- :number_system => "latn",
73
- :patterns => {
74
- :default => "#,##0.00 ¤", # includes a non-breaking space (\302\240)
75
- },
76
- :unit => {
77
- "one" => "{0} {1}",
78
- "other" => "{0} {1}"
79
- }
80
- }
81
- }
62
+ "1000" => { "one" => "0", "other" => "0" },
63
+ "10000" => { "one" => "0", "other" => "0" },
64
+ "100000" => { "one" => "0", "other" => "0" },
65
+ "1000000" => { "one" => "0 Mio'.'", "other" => "0 Mio'.'" },
66
+ "10000000" => { "one" => "00 Mio'.'", "other" => "00 Mio'.'" },
67
+ "100000000" => { "one" => "000 Mio'.'", "other" => "000 Mio'.'" },
68
+ "1000000000" => { "one" => "0 Mrd'.'", "other" => "0 Mrd'.'" },
69
+ "10000000000" => { "one" => "00 Mrd'.'", "other" => "00 Mrd'.'" },
70
+ "100000000000" => { "one" => "000 Mrd'.'", "other" => "000 Mrd'.'" },
71
+ "1000000000000" => { "one" => "0 Bio'.'", "other" => "0 Bio'.'" },
72
+ "10000000000000" => { "one" => "00 Bio'.'", "other" => "00 Bio'.'" },
73
+ "100000000000000" => { "one" => "000 Bio'.'", "other" => "000 Bio'.'" } } } },
74
+ :percent => { :number_system => "latn", :patterns => { :default => "#,##0 %" } },
75
+ :scientific => { :number_system => "latn", :patterns => { :default => "#E0" } } }
82
76
  assert_equal expected, Cldr::Export::Data::Numbers.new('de')[:numbers][:formats]
83
77
  end
84
78
 
79
+ test "redirects in root locale" do
80
+ assert_equal :"numbers.formats.decimal.patterns.short",
81
+ Cldr::Export::Data::Numbers.new('root')[:numbers][:formats][:decimal][:patterns]['long']
82
+ end
83
+
85
84
  # Cldr::Export::Data.locales.each do |locale|
86
85
  # test "extract number_symbols for #{locale}" do
87
86
  # assert_nothing_raised do